- can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or 'XX.size() <= 0' or for simpler coding. It also has the same number of characters as '!XX.size()' and /might/ be more readable - many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1' when a simple 'XX.size()' suffices
95 lines
2.5 KiB
C
95 lines
2.5 KiB
C
for(label i=0; i < nTypes; i++)
|
|
{
|
|
wordList fieldNames = objects.names(fieldTypes[i]);
|
|
|
|
if ( fieldTypes[i] == "volScalarField" )
|
|
{
|
|
gmvFile << "variable" << nl;
|
|
}
|
|
for(label j=0; j < fieldNames.size(); j++)
|
|
{
|
|
|
|
word fieldName = fieldNames[j];
|
|
|
|
IOobject fieldObject
|
|
(
|
|
fieldName,
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ,
|
|
IOobject::NO_WRITE
|
|
);
|
|
|
|
if ( fieldTypes[i] == "volScalarField" )
|
|
{
|
|
volScalarField gmvScalarField(fieldObject, mesh);
|
|
gmvFile << fieldName << " 0" << nl;
|
|
for(label indx=0;indx<mesh.nCells();indx++)
|
|
{
|
|
gmvFile << gmvScalarField[indx] << " ";
|
|
}
|
|
gmvFile << nl;
|
|
}
|
|
|
|
if ( fieldTypes[i] == "volVectorField" )
|
|
{
|
|
if (fieldName == vComp)
|
|
{
|
|
volVectorField gmvVectorField(fieldObject, mesh);
|
|
gmvFile << "velocity 0" << nl;
|
|
for(label indx=0;indx<mesh.nCells();indx++)
|
|
{
|
|
gmvFile << gmvVectorField[indx].x() << " ";
|
|
}
|
|
for(label indx=0;indx<mesh.nCells();indx++)
|
|
{
|
|
gmvFile << gmvVectorField[indx].y() << " ";
|
|
}
|
|
for(label indx=0;indx<mesh.nCells();indx++)
|
|
{
|
|
gmvFile << gmvVectorField[indx].z() << " ";
|
|
}
|
|
gmvFile << nl;
|
|
}
|
|
}
|
|
|
|
if ( fieldTypes[i] == "surfaceScalarField" )
|
|
{
|
|
// ...
|
|
}
|
|
|
|
}
|
|
|
|
if ( fieldTypes[i] == "lagrangian")
|
|
{
|
|
IOobject lagrangianHeader
|
|
(
|
|
"positions",
|
|
runTime.timeName(),
|
|
"lagrangian",
|
|
mesh,
|
|
IOobject::NO_READ
|
|
);
|
|
|
|
if (lagrangianHeader.headerOk())
|
|
{
|
|
Cloud<passiveParticle> particles(mesh);
|
|
|
|
IOobjectList objects(mesh, runTime.timeName(), "lagrangian");
|
|
|
|
wordList lagrangianScalarNames = objects.names("scalarField");
|
|
wordList lagrangianVectorNames = objects.names("vectorField");
|
|
|
|
if (particles.size())
|
|
{
|
|
# include "gmvOutputLagrangian.H"
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( fieldTypes[i] == "volScalarField" )
|
|
{
|
|
gmvFile << "endvars" << nl;
|
|
}
|
|
}
|