Go to the documentation of this file.
42 const string& ensightType,
43 const word& fieldName,
44 const fileName& dataMask,
45 const fileName& local,
50 caseFile.setf(ios_base::left);
52 fileName dirName(dataMask);
55 dirName = dirName/local;
68 << ensightType.c_str()
69 <<
" per measured node: " << ts <<
" "
71 << (
"c" +
Foam::name(cloudNo) + fieldName).c_str()
73 << (dirName/fieldName).c_str()
79 << ensightType.c_str()
81 <<
setw(15) << fieldName
83 << (dirName/fieldName).c_str()
92 const fileName& dataDir,
93 const fileName& subDir,
95 IOstream::streamFormat
format
100 fileName cloudDir = subDir/cloud::prefix/
cloudName;
101 fileName postFileName = cloudDir/
"positions";
104 mkDir(dataDir/cloudDir);
105 ensightFile os(dataDir/postFileName,
format);
108 os.writeBinaryHeader();
109 os.write(postFileName);
111 os.write(
"particle coordinates");
113 os.write(parcels.size(), 8);
117 if (
format == IOstream::BINARY)
126 const vector&
p = elmnt().position();
139 const vector&
p = elmnt().position();
141 os.write(++nParcels, 8);
156 const fileName& dataDir,
157 const fileName& subDir,
159 IOstream::streamFormat
format
164 fileName cloudDir = subDir/cloud::prefix/
cloudName;
165 fileName postFileName = cloudDir/
fieldObject.name();
168 postFileName +
" with " + pTraits<Type>::typeName +
" values";
170 ensightFile os(dataDir/postFileName,
format);
183 if (
mag(val) < 1.0
e-90)
185 val = pTraits<Type>::zero;
188 for (
direction cmpt=0; cmpt < pTraits<Type>::nComponents; cmpt++)
193 count += pTraits<Type>::nComponents;
213 const ensightParts& partsList,
216 const fileName& dataDir,
217 const fileName& subDir,
218 IOstream::streamFormat
format
225 ensightFile os(dataDir/postFileName,
format);
226 os.write(postFileName);
233 GeometricField<Type, fvPatchField, volMesh>
word format(conversionProperties.lookup("format"))
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
#define forAll(list, i)
Loop across all elements in list.
dimensioned< scalar > mag(const dimensioned< Type > &)
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
void ensightLagrangianField(const IOobject &fieldObject, const fileName &dataDir, const fileName &subDir, const word &cloudName, IOstream::streamFormat format)
Write lagrangian parcels.
Ostream & flush(Ostream &os)
Flush stream.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Istream and Ostream manipulators taking arguments.
Omanip< int > setw(const int i)
Vector< scalar > vector
A scalar version of the templated Vector.
void ensightVolField(const ensightParts &partsList, const IOobject &fieldObject, const fvMesh &mesh, const fileName &dataDir, const fileName &subDir, IOstream::streamFormat format)
Write generalized field components.
const dimensionedScalar e
Elementary charge.
const word cloudName(propsDict.lookup("cloudName"))
void ensightParticlePositions(const polyMesh &mesh, const fileName &dataDir, const fileName &subDir, const word &cloudName, IOstream::streamFormat format)
IOobject fieldObject(fieldNames[var2field[nVar]], runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE)
void ensightCaseEntry(OFstream &caseFile, const string &ensightType, const word &fieldName, const fileName &dataMask, const fileName &local=fileName::null, const label cloudNo=-1, const label timeSet=1)
bool mkDir(const fileName &, mode_t=0777)
Make a directory and return an error if it could not be created.
word name(const complex &)
Return a string representation of a complex.
Miscellaneous collection of functions and template related to Ensight data.