1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
7 -------------------------------------------------------------------------------
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
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 "ensightParticlePositions.H"
29 #include "passiveParticle.H"
37 // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
39 void ensightParticlePositions
41 const Foam::fvMesh& mesh,
42 const Foam::fileName& postProcPath,
43 const Foam::word& timeFile,
44 const Foam::word& cloudName,
50 Info<< "Converting cloud " << cloudName << " positions" << endl;
54 Info<< "Creating empty cloud " << cloudName << " positions" << endl;
57 const Time& runTime = mesh.time();
59 fileName ensightFileName(timeFile + "." + cloudName);
62 postProcPath/ensightFileName,
63 ios_base::out|ios_base::trunc,
64 runTime.writeFormat(),
65 runTime.writeVersion(),
66 runTime.writeCompression()
71 << cloudName.c_str() << nl
72 << "particle coordinates" << nl;
76 Cloud<passiveParticle> parcels(mesh, cloudName, false);
79 ensightFile.setf(ios_base::scientific, ios_base::floatfield);
80 ensightFile.precision(5);
82 ensightFile<< setw(8) << parcels.size() << nl;
87 forAllConstIter(Cloud<passiveParticle>, parcels, elmnt)
89 const vector& p = elmnt().position();
92 << setw(8) << ++nParcels
93 << setw(12) << p.x() << setw(12) << p.y() << setw(12) << p.z()
100 ensightFile<< setw(8) << nParcels << nl;
105 // ************************************************************************* //