ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / finiteVolume / cfdTools / general / fieldSources / basicSource / explicitSource / explicitSourceIO.C
blob3b7b1b7c3521017e990f6fa591e59969cc27e507
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "explicitSource.H"
28 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
30 void Foam::explicitSource::writeData(Ostream& os) const
32     os  << indent << name_ << nl
33         << indent << token::BEGIN_BLOCK << incrIndent << nl;
35     os.writeKeyword("volumeMode") << volumeModeTypeNames_[volumeMode_]
36         << token::END_STATEMENT << nl;
38     if (scalarFields_.size() > 0)
39     {
40         os.writeKeyword("scalarFields") << scalarFields_
41             << token::END_STATEMENT << nl;
42     }
44     if (vectorFields_.size() > 0)
45     {
46         os.writeKeyword("vectorFields") << vectorFields_
47             << token::END_STATEMENT << nl;
48     }
50     os << decrIndent << indent << token::END_BLOCK << endl;
54 bool Foam::explicitSource::read(const dictionary& dict)
56     if (basicSource::read(dict))
57     {
58         const dictionary& sourceDict = dict.subDict(name());
59         const dictionary& subDictCoeffs = sourceDict.subDict
60         (
61             typeName + "Coeffs"
62         );
63         setFieldData(subDictCoeffs.subDict("fieldData"));
64         return true;
65     }
66     else
67     {
68         return false;
69     }
73 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
75 Foam::Ostream& Foam::operator<<(Ostream& os, const explicitSource& source)
77     source.writeData(os);
78     return os;
82 // ************************************************************************* //