Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / lagrangian / molecularDynamics / molecularMeasurements / correlationFunction / correlationFunctionIO.C
blobe3d24385eda45749a90fd2784551a65dd3c47911
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "correlationFunction.H"
27 #include "IOstreams.H"
29 template<class Type>
30 bool Foam::correlationFunction<Type>::writeAveraged(Ostream& os) const
32     Field<scalar> averageCF(averaged());
34     forAll(averageCF, v)
35     {
36         os  << v*sampleInterval()
37             << token::SPACE
38             << averageCF[v]
39             << nl;
40     }
42     return os.good();
46 template<class Type>
47 Foam::Ostream& Foam::operator<<
49     Ostream& os,
50     const correlationFunction<Type>& cF
53     os  << cF.duration()
54         << nl << cF.sampleInterval()
55         << nl << cF.averagingInterval()
56         << nl << cF.sampleSteps()
57         << nl << cF.tZeroBuffers()
58         << nl << static_cast<const bufferedAccumulator<scalar>&>(cF);
60     // Check state of Ostream
61     os.check
62     (
63         "Foam::Ostream& Foam::operator<<"
64         "(Ostream&, const correlationFunction<Type>&)"
65     );
67     return os;
71 // ************************************************************************* //