62 precision_(
IOstream::defaultPrecision()),
80 options.getOrDefault(
"precision",
IOstream::defaultPrecision())
98 open(coords, outputPath);
111 open(tracks, outputPath);
146 ofile_.reset(
nullptr);
154 ofile_.reset(
nullptr);
162 ofile_.reset(
nullptr);
170 ofile_.reset(
nullptr);
179 const word& fieldName,
189 if (useTracks_ || !buffering_)
192 return writeTemplate(fieldName, fieldPtrs);
198 const auto& coords = coords_[0];
206 const fileName outputFile =
path();
208 if (!
isDir(outputFile.path()))
210 mkDir(outputFile.path());
213 ofile_.reset(
new OFstream(outputFile, streamOpt_));
215 os.precision(precision_);
220 <<
"@ title \"" << coords.name() <<
'"' <<
nl
221 <<
"@ xaxis label \"" << coords.axis() <<
'"' <<
nl;
229 os <<
"@ s" << nWritten_
230 <<
" legend \"" << fieldName <<
'"' <<
nl
231 <<
"@target G0.S" << nWritten_ <<
nl;
233 writeTable(
os, coords, values,
" \t");
236 os <<
"# end_data" <<
nl;
240 return ofile_().name();
247 const word& fieldName,
258 UPtrList<const Field<Type>> fieldPtrs(repackageFields(fieldValues));
259 return writeTemplate(fieldName, fieldPtrs);
Functions used by OpenFOAM that are specific to POSIX compliant operating systems and need to be repl...
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A simple container for options an IOstream can normally have.
An IOstream is an abstract base class for all input/output systems; be they streams,...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Output to file stream as an OSstream, normally using std::ofstream for the actual output.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Base class for writing coordSet(s) and tracks with fields.
virtual void open(const fileName &outputPath)
Write separate geometry to file.
fileName getExpectedPath(const word &fileExt=word::null) const
Get expected (characteristic) output file name - information only.
virtual void endTime()
End a time-step.
bool buffering_
Writer with buffering output.
virtual bool buffering() const
True if the format uses internal buffering (eg, column output).
static UPtrList< const Field< Type > > repackageFields(const Field< Type > &field)
Repackage field into a UPtrList.
void checkOpen() const
Verify that the outputPath_ has been set or FatalError.
virtual void beginTime(const Time &t)
Begin a time-step.
coordSetWriter(const coordSetWriter &)=delete
No copy construct.
bool useTracks_
Prefer tracks to points during single set writing.
static void writeTable(Ostream &os, const coordSet &coords, const UList< Type > &values, const char *sep)
Write coordinates and values.
UPtrList< const coordSet > coords_
Reference to coordinate set(s).
virtual void close(bool force=false)
Finish output, performing any necessary cleanup.
Write coordSet(s) in xmgrace format.
virtual void endTime()
End time step. Clears existing backend.
virtual void beginTime(const Time &t)
Begin time step. Clears existing backend.
virtual ~xmgraceWriter()
Destructor. Calls close().
virtual fileName path() const
Characteristic output file name - information only.
virtual void close(bool force=false)
Close and reset, clears backend.
xmgraceWriter()
Default construct.
Holds list of sampling positions.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
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...
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 /).
An instant of time. Contains the time value and name. Uses Foam::Time when formatting the name.
A class for handling words, derived from Foam::string.
#define defineTypeName(Type)
Define the typeName.
fileName path(UMean.rootPath()/UMean.caseName()/"graphs"/UMean.instance())
Convenience macros for instantiating coordSetWriter methods.
#define defineCoordSetWriterWriteFields(ThisClass)
OBJstream os(runTime.globalPath()/outputName)
bool mkDir(const fileName &pathName, mode_t mode=0777)
Make a directory and return an error if it could not be created.
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).