AverageIOField: Changed the average value to be member data.
[OpenFOAM-1.6.x.git] / src / finiteVolume / fields / fvPatchFields / derived / timeVaryingMappedFixedValue / AverageIOField.C
blob2f079100a59f6873a0efbb063e23c65f78faea9f
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software; you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 \*---------------------------------------------------------------------------*/
27 #include "AverageIOField.H"
29 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
31 template<class Type>
32 Foam::AverageIOField<Type>::AverageIOField
34     const IOobject& io
37     regIOobject(io)
39     readStream(typeName) >> average_;
40     readStream(typeName) >> static_cast<Field<Type>&>(*this);
41     close();
45 template<class Type>
46 Foam::AverageIOField<Type>::AverageIOField
48     const IOobject& io,
49     const label size
52     regIOobject(io),
53     Field<Type>(size),
54     average_(0)
58 template<class Type>
59 Foam::AverageIOField<Type>::AverageIOField
61     const IOobject& io,
62     const Type& average,
63     const Field<Type>& f
66     regIOobject(io),
67     Field<Type>(f),
68     average_(average)
70     if (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk())
71     {
72         readStream(typeName)
73             >> average_
74             >> static_cast<Field<Type>&>(*this);
75         close();
76     }
80 template<class Type>
81 bool Foam::AverageIOField<Type>::writeData(Ostream& os) const
83     os  << average_
84         << token::NL
85         << static_cast<const Field<Type>&>(*this);
87     return os.good();
91 // ************************************************************************* //