32 const bool writeTracks
48 const word& fieldName,
50 elemOutputType elemOutput
54 const bool geomChanged = (!upToDate_);
75 const int maskWidth = 8;
76 const char* mask =
"data/********/";
79 const fileName baseDir = outputPath_;
82 const scalar timeValue = currTime_.value();
84 const fileName outputFile = baseDir / baseName +
".case";
88 Info<<
"Writing case file to " << outputFile <<
endl;
100 const bool stateChanged =
113 const label
timeIndex = caching_.latestTimeIndex();
114 const label geomIndex = caching_.latestGeomIndex();
119 const fileName geometryName
128 const fileName dataDir
137 const fileName geomFile(baseDir/geometryName);
143 Info<<
"Writing geometry to " << geomFile.name() <<
endl;
147 ensightGeoFile osGeom
154 osGeom.beginGeometry();
169 Info<<
"Writing field file to " << osField.name() <<
endl;
190 Info<<
"Writing case file to " << osCase.name() <<
endl;
199 const label tsGeom = caching_.geometryTimeset();
203 <<
"type: ensight gold" <<
nl
211 <<
"model: " << tsGeom <<
" "
212 << mask << geometryName.name() <<
nl;
219 << geometryName.c_str() <<
nl;
227 for (
const entry& dEntry : caching_.fieldsDict())
231 const string varType(subDict.get<
string>(
"type"));
234 subDict.getOrDefault<word>
249 <<
setw(15) << varName <<
' '
250 << mask << ensight::FileName(varName).c_str() <<
nl;
265 caching_.geometries()
269 osCase <<
"# end" <<
nl;
274 OFstream timeStamp(dataDir/
"time");
276 <<
"# timestep time" <<
nl
277 << dataDir.name() <<
' ' << timeValue <<
nl;
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
@ ASCII
"ascii" (normal default)
Output to file stream as an OSstream, normally using std::ofstream for the actual output.
virtual const fileName & name() const override
Read/write access to the name of the stream.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
bool wroteGeom_
Track if geometry has been written since the last open.
void checkOpen() const
Verify that the outputPath_ has been set or FatalError.
bool upToDate_
The content is up-to-date?
virtual bool merge() const
Perform any merging if not already upToDate (parallel) or simply mark as being up-to-date.
bool verbose_
Additional output verbosity.
instant currTime_
The current time value/name.
scalar timeValue() const
The current time value/name.
fileName outputPath_
The full output directory and file (coords) name.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect.
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T, or return the given default value. FatalIOError if it is found and the number of...
static const char * geometryName
The name for geometry files: "geometry".
static void setTimeFormat(OSstream &os, IOstreamOption::floatFormat timeFmt, const int timePrec)
Set output time format for ensight case file.
static word padded(const int nwidth, const label index)
Stringified zero-padded integer value of specified width.
static void printTimeset(OSstream &os, const label ts, const scalar timeValue)
Print time-set for ensight case file with a single time.
A variant of OFstream with specialised handling for Ensight writing of strings, integers and floats (...
A variant of ensightFile (Ensight writing) that includes the extra geometry file header information.
void beginGeometry()
Start of geometry information.
Specification of a valid Ensight file-name.
Specification of a valid Ensight variable-name.
A keyword and a list of tokens is an 'entry'.
A class for handling file names.
static const fileName null
An empty fileName.
static std::string path(const std::string &str)
Return directory path name (part before last /).
static std::string name(const std::string &str)
Return basename (part beyond last /), including its extension.
A class for handling words, derived from Foam::string.
static void writeTrackField(ensightFile &os, const UPtrList< const Field< Type > > &fieldPtrs)
bool exists(const fileName &name, const bool checkGzip=true, const bool followLink=true)
Does the name exist (as DIRECTORY or FILE) in the file system?
bool mkDir(const fileName &pathName, mode_t mode=0777)
Make a directory and return an error if it could not be created.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Omanip< int > setw(const int i)
Ostream & endl(Ostream &os)
Add newline and flush stream.
bool isDir(const fileName &name, const bool followLink=true)
Does the name exist as a DIRECTORY in the file system?
constexpr char nl
The newline '\n' character (0x0a).
static const char *const typeName
The type name used in ensight case files.