From 5579f7afe423f97d002002152bac3af0b122907e Mon Sep 17 00:00:00 2001 From: henry Date: Thu, 28 Jan 2010 16:06:30 +0000 Subject: [PATCH] AverageIOField: Changed the average value to be member data. --- .../AverageIOField.C | 40 ++++++++++--------- .../AverageIOField.H | 24 ++++++----- .../AverageIOFields.C | 2 + 3 files changed, 36 insertions(+), 30 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.C index 1450290f74..2f079100a5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,42 +26,37 @@ License #include "AverageIOField.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template -AverageIOField::AverageIOField +Foam::AverageIOField::AverageIOField ( const IOobject& io ) : - regIOobject(io), - pTraits(readStream(typeName)), - Field(readStream(typeName)) + regIOobject(io) { + readStream(typeName) >> average_; + readStream(typeName) >> static_cast&>(*this); close(); } template -AverageIOField::AverageIOField +Foam::AverageIOField::AverageIOField ( const IOobject& io, const label size ) : regIOobject(io), - pTraits(pTraits::zero), - Field(size) + Field(size), + average_(0) {} template -AverageIOField::AverageIOField +Foam::AverageIOField::AverageIOField ( const IOobject& io, const Type& average, @@ -69,21 +64,28 @@ AverageIOField::AverageIOField ) : regIOobject(io), - pTraits(average), - Field(f) + Field(f), + average_(average) { if (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) { readStream(typeName) - >> static_cast(*this) + >> average_ >> static_cast&>(*this); close(); } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +template +bool Foam::AverageIOField::writeData(Ostream& os) const +{ + os << average_ + << token::NL + << static_cast&>(*this); + + return os.good(); +} -} // End namespace Foam // ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.H b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.H index 4217dcbd1a..25634ab109 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,16 +45,20 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class AverageIOField Declaration + Class AverageIOField Declaration \*---------------------------------------------------------------------------*/ template class AverageIOField : public regIOobject, - public pTraits, public Field { + // Private data + + //- The average of the field + Type average_; + public: @@ -87,19 +91,17 @@ public: // Member functions - const pTraits& average() const + const Type& average() const { - return static_cast&>(*this); + return average_; } - bool writeData(Ostream& os) const + Type& average() { - os << static_cast(*this) - << token::NL - << static_cast&>(*this); - - return os.good(); + return average_; } + + bool writeData(Ostream& os) const; }; diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOFields.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOFields.C index e39cd28d90..066b741abe 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOFields.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/AverageIOFields.C @@ -22,6 +22,8 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +Description + \*---------------------------------------------------------------------------*/ #include "AverageIOField.H"