Transferred copyright to the OpenFOAM Foundation
[OpenFOAM-2.0.x.git] / src / finiteVolume / cfdTools / general / fieldSources / timeActivatedExplicitSource / TimeActivatedExplicitSourceIO.C
blob7b07e62d033c61fd91b91882ab35b839284d8da9
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 "TimeActivatedExplicitSource.H"
28 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
30 template<class Type>
31 void Foam::TimeActivatedExplicitSource<Type>::writeData(Ostream& os) const
33     os  << indent << name_ << nl
34         << indent << token::BEGIN_BLOCK << incrIndent << nl;
36     os.writeKeyword("active") << active_ << token::END_STATEMENT << nl;
37     os.writeKeyword("timeStart") << timeStart_ << token::END_STATEMENT << nl;
38     os.writeKeyword("duration") << duration_ << token::END_STATEMENT << nl;
39     os.writeKeyword("selectionMode") << selectionModeTypeToWord(selectionMode_)
40         << token::END_STATEMENT << nl;
41     os.writeKeyword("volumeMode") << volumeModeTypeToWord(volumeMode_)
42         << token::END_STATEMENT << nl;
44     if (fieldIds_.size() == 1)
45     {
46         os.writeKeyword("fieldData") << fieldData_[0].second()
47             << token::END_STATEMENT << nl;
48     }
49     else
50     {
51         os.writeKeyword("fieldData") << fieldData_ << nl;
52     }
54     switch (selectionMode_)
55     {
56         case smPoints:
57         {
58             os.writeKeyword("points") << nl << indent << points_
59                 << token::END_STATEMENT << nl;
60             break;
61         }
62         case smCellSet:
63         {
64             os.writeKeyword("cellSet") << cellSetName_
65                 << token::END_STATEMENT << nl;
66             break;
67         }
68         default:
69         {
70             FatalErrorIn
71             (
72                 "TimeActivatedExplicitSource<Type>::writeData"
73                 "("
74                     "Ostream&, "
75                     "bool"
76                 ") const"
77             )   << "Unknown selectionMode "
78                 << selectionModeTypeToWord(selectionMode_)
79                 << abort(FatalError);
80         }
81     }
83     os << decrIndent << indent << token::END_BLOCK << endl;
87 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
89 template<class Type>
90 Foam::Ostream& Foam::operator<<
92     Ostream& os,
93     const TimeActivatedExplicitSource<Type>& source
96     source.writeData(os);
97     return os;
101 // ************************************************************************* //