1for (
const word& fieldType : fieldTypes)
3 const wordList fieldNames = objects.sortedNames(fieldType);
5 if (fieldType ==
"volScalarField")
7 gmvFile <<
"variable" << nl;
10 for (
const word& fieldName : fieldNames)
21 if (fieldType ==
"volScalarField")
23 volScalarField
fld(fieldObject,
mesh);
24 gmvFile << fieldName <<
" 0" << nl;
25 for (label indx=0; indx<
mesh.nCells(); ++indx)
27 gmvFile <<
fld[indx] <<
" ";
32 if (fieldType ==
"volVectorField")
34 if (fieldName ==
vComp)
36 volVectorField
fld(fieldObject,
mesh);
37 gmvFile <<
"velocity 0" << nl;
38 for (label indx=0;indx<
mesh.nCells();indx++)
40 gmvFile <<
fld[indx].x() <<
" ";
42 for (label indx=0;indx<
mesh.nCells();indx++)
44 gmvFile <<
fld[indx].y() <<
" ";
46 for (label indx=0;indx<
mesh.nCells();indx++)
48 gmvFile <<
fld[indx].z() <<
" ";
54 if (fieldType ==
"surfaceScalarField")
61 if (fieldType == cloud::prefix)
63 IOobject positionsHeader
72 IOobject coordinatesHeader
83 positionsHeader.typeHeaderOk<IOPosition<Cloud<passiveParticle>>>
87 || coordinatesHeader.typeHeaderOk<IOPosition<Cloud<passiveParticle>>>
93 Cloud<passiveParticle> particles(
mesh, cloud::defaultName);
95 IOobjectList objects(
mesh,
runTime.timeName(), cloud::prefix);
97 wordList lagrangianScalarNames(objects.sortedNames(
"scalarField"));
98 wordList lagrangianVectorNames(objects.sortedNames(
"vectorField"));
100 if (particles.size())
107 if (fieldType ==
"volScalarField")
109 gmvFile <<
"endvars" << nl;
Info<< nl;Info<< "Write faMesh in vtk format:"<< nl;{ vtk::uindirectPatchWriter writer(aMesh.patch(), fileName(aMesh.time().globalPath()/vtkBaseFileName));writer.writeGeometry();globalIndex procAddr(aMesh.nFaces());labelList cellIDs;if(UPstream::master()) { cellIDs.resize(procAddr.totalSize());for(const labelRange &range :procAddr.ranges()) { auto slice=cellIDs.slice(range);slice=identity(range);} } writer.beginCellData(4);writer.writeProcIDs();writer.write("cellID", cellIDs);writer.write("area", aMesh.S().field());writer.write("normal", aMesh.faceAreaNormals());writer.beginPointData(1);writer.write("normal", aMesh.pointAreaNormals());Info<< " "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.time().globalPath()/(vtkBaseFileName+"-edges")));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))