Write an OpenFOAM volume (internal) geometry and internal fields as a vtu file or a legacy vtk file. More...
Public Member Functions | |
internalMeshWriter (const polyMesh &mesh, const vtk::vtuCells &cells, const vtk::outputOptions opts=vtk::formatType::INLINE_BASE64) | |
File extension for given output type. More... | |
internalMeshWriter (const polyMesh &mesh, const vtk::vtuCells &cells, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from components (default format INLINE_BASE64),. More... | |
internalMeshWriter (const polyMesh &mesh, const vtk::vtuCells &cells, const vtk::outputOptions opts, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from components (default format INLINE_BASE64),. More... | |
virtual | ~internalMeshWriter ()=default |
Destructor. More... | |
virtual bool | beginFile (std::string title="") |
Write file header (non-collective) More... | |
virtual bool | writeGeometry () |
Write mesh topology. More... | |
virtual bool | beginCellData (label nFields=0) |
Begin CellData output section for specified number of fields. More... | |
virtual bool | beginPointData (label nFields=0) |
Begin PointData for specified number of fields. More... | |
void | writeCellIDs () |
Write cell ids as CellData. More... | |
bool | writeProcIDs () |
Write processor ids as CellData. This is no-op in serial. More... | |
void | writePointIDs () |
Write point ids as PointData. More... | |
template<class Type > | |
void | writeUniform (const word &fieldName, const Type &val) |
Write a uniform field of Cell or Point values. More... | |
template<class Type > | |
void | writeCellData (const word &fieldName, const UList< Type > &field) |
Write primitive field of CellData. More... | |
template<class Type > | |
void | writePointData (const word &fieldName, const UList< Type > &field) |
Write primitive field of PointData. More... | |
![]() | |
fileWriter (const vtk::fileTag contentType, const vtk::outputOptions opts) | |
Construct from components. More... | |
virtual | ~fileWriter () |
Destructor. More... | |
vtk::fileTag | contentType () const |
The content type. More... | |
vtk::outputOptions | opts () const |
The output options in use. More... | |
word | ext () const |
File extension for current format type. More... | |
bool | legacy () const |
Commonly used query. More... | |
bool | parallel () const noexcept |
Parallel output requested? More... | |
const word & | state () const |
The output state in printable format. More... | |
const fileName & | output () const noexcept |
The current output file name. More... | |
bool | open (const fileName &file, bool parallel=Pstream::parRun()) |
Open file for writing (creates parent directory). More... | |
void | close () |
End the file contents and close the file after writing. More... | |
bool | beginFieldData (label nFields=0) |
Begin FieldData output section for specified number of fields. More... | |
label | nCellData () const noexcept |
Return the number of CellData written for the Piece thus far. More... | |
label | nPointData () const noexcept |
Return the number of PointData written for the Piece thus far. More... | |
bool | endFieldData () |
Explicitly end FieldData output and switch to DECLARED state. More... | |
bool | endCellData () |
Explicitly end CellData output and switch to PIECE state. More... | |
bool | endPointData () |
Explicitly end PointData output and switch to PIECE state. More... | |
void | writeTimeValue (scalar timeValue) |
Write "TimeValue" FieldData (name as per Catalyst output) More... | |
Static Public Member Functions | |
static word | ext (vtk::outputOptions opts) |
File extension for given output type. More... | |
Static Public Attributes | |
static int | debug = 0 |
Debug information. More... | |
Protected Attributes | |
label | numberOfPoints_ |
The number of field points for the current Piece. More... | |
label | numberOfCells_ |
The number of field cells for the current Piece. More... | |
const polyMesh & | mesh_ |
Reference to the OpenFOAM mesh (or subset) More... | |
const vtuCells & | vtuCells_ |
The volume cells (internalMesh) More... | |
![]() | |
vtk::fileTag | contentType_ |
The content type. More... | |
outputOptions | opts_ |
The requested output options. More... | |
bool | parallel_ |
Writing in parallel (via master) More... | |
outputState | state_ |
The output state. More... | |
label | nCellData_ |
The number of CellData written for the Piece thus far. More... | |
label | nPointData_ |
The number of PointData written for the Piece thus far. More... | |
fileName | outputFile_ |
The output file name. More... | |
autoPtr< vtk::formatter > | format_ |
The VTK formatter in use (only valid on master process) More... | |
std::ofstream | os_ |
The backend ostream in use (only opened on master process) More... | |
Additional Inherited Members | |
![]() | |
enum | outputState { CLOSED = 0, OPENED, DECLARED, FIELD_DATA, PIECE, CELL_DATA, POINT_DATA } |
Internal tracking of the output state. More... | |
![]() | |
void | checkFormatterValidity () const |
Verify that formatter in either allocated or not required. More... | |
Ostream & | reportBadState (Ostream &, outputState expected) const |
Generate message reporting bad writer state. More... | |
Ostream & | reportBadState (Ostream &, outputState, outputState) const |
Generate message reporting bad writer state. More... | |
std::ofstream & | os () noexcept |
The backend ostream in use. More... | |
vtk::formatter & | format () |
The VTK formatter in use. More... | |
bool | isState (outputState test) const noexcept |
True if output state corresponds to the test state. More... | |
bool | notState (outputState test) const noexcept |
True if output state does not correspond to the test state. More... | |
template<class Type > | |
void | beginDataArray (const word &fieldName, const label nValues) |
Start of a field or DataArray output (legacy or non-legacy). More... | |
void | endDataArray () |
Flush formatter and end of DataArray output (non-legacy) More... | |
void | beginPoints (const label nPoints) |
Start of a POINTS DataArray. More... | |
void | endPoints () |
End of a POINTS DataArray. More... | |
bool | enter_Piece () |
Trigger change state to Piece. Resets nCellData_, nPointData_. More... | |
bool | endPiece () |
Explicitly end Piece output and switch to DECLARED state. More... | |
bool | enter_CellData (label nEntries, label nFields) |
Trigger change state to CellData. More... | |
bool | enter_PointData (label nEntries, label nFields) |
Trigger change state to PointData. More... | |
bool | exit_File () |
Emit file footer (end data, end piece, end file) More... | |
template<class Type > | |
void | writeUniform (const word &fieldName, const Type &val, const label nValues) |
Write uniform field content. More... | |
template<class Type > | |
void | writeBasicField (const word &fieldName, const UList< Type > &field) |
Write basic (primitive) field content. More... | |
bool | writeProcIDs (const label nValues) |
Write nValues of processor ids as CellData (no-op in serial) More... | |
fileWriter (const fileWriter &)=delete | |
No copy construct. More... | |
void | operator= (const fileWriter &)=delete |
No copy assignment. More... | |
![]() | |
static const Enum< outputState > | stateNames |
Names for the output state (for messages, not for file output). More... | |
Write an OpenFOAM volume (internal) geometry and internal fields as a vtu file or a legacy vtk file.
The file output states are managed by the Foam::vtk::fileWriter class. FieldData (eg, TimeValue) must appear before any geometry pieces.
Definition at line 69 of file foamVtkInternalMeshWriter.H.
internalMeshWriter | ( | const polyMesh & | mesh, |
const vtk::vtuCells & | cells, | ||
const vtk::outputOptions | opts = vtk::formatType::INLINE_BASE64 |
||
) |
File extension for given output type.
constexpr static vtk::fileTag content = vtk::fileTag::UNSTRUCTURED_GRID; Construct from components (default format INLINE_BASE64),
Definition at line 472 of file foamVtkInternalMeshWriter.C.
internalMeshWriter | ( | const polyMesh & | mesh, |
const vtk::vtuCells & | cells, | ||
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from components (default format INLINE_BASE64),.
The file name is with/without an extension.
Definition at line 491 of file foamVtkInternalMeshWriter.C.
internalMeshWriter | ( | const polyMesh & | mesh, |
const vtk::vtuCells & | cells, | ||
const vtk::outputOptions | opts, | ||
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from components (default format INLINE_BASE64),.
The file name is with/without an extension.
Definition at line 505 of file foamVtkInternalMeshWriter.C.
|
virtualdefault |
Destructor.
|
inlinestatic |
File extension for given output type.
Definition at line 171 of file foamVtkInternalMeshWriter.H.
References outputOptions::ext(), fileWriter::opts(), and Foam::vtk::UNSTRUCTURED_GRID.
|
virtual |
Write file header (non-collective)
Reimplemented from fileWriter.
Definition at line 521 of file foamVtkInternalMeshWriter.C.
References fileWriter::beginFile(), DebugInFunction, Foam::endl(), and Foam::name().
|
virtual |
Write mesh topology.
Also writes the file header if not previously written.
Implements fileWriter.
Definition at line 559 of file foamVtkInternalMeshWriter.C.
References Foam::vtk::CELLS, and format().
|
virtual |
Begin CellData output section for specified number of fields.
Must be called prior to writing any cell data fields.
nFields | is for legacy format only. When nFields=0, this a no-op for legacy format. |
Implements fileWriter.
Definition at line 596 of file foamVtkInternalMeshWriter.C.
|
virtual |
Begin PointData for specified number of fields.
Must be called prior to writing any point data fields.
nFields | is for legacy format only. When nFields=0, this a no-op for legacy format. |
Implements fileWriter.
Definition at line 602 of file foamVtkInternalMeshWriter.C.
void writeCellIDs | ( | ) |
Write cell ids as CellData.
Must be called within the CELL_DATA state.
Definition at line 608 of file foamVtkInternalMeshWriter.C.
References Foam::vtk::CELL_DATA, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, format(), Foam::nl, Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
bool writeProcIDs | ( | ) |
Write processor ids as CellData. This is no-op in serial.
Must be called within the CELL_DATA state.
Definition at line 642 of file foamVtkInternalMeshWriter.C.
References fileWriter::writeProcIDs().
void writePointIDs | ( | ) |
Write point ids as PointData.
Must be called within the POINT_DATA state.
Definition at line 654 of file foamVtkInternalMeshWriter.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, format(), Foam::identity(), Foam::nl, Foam::vtk::POINT_DATA, Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
void writeUniform | ( | const word & | fieldName, |
const Type & | val | ||
) |
Write a uniform field of Cell or Point values.
Definition at line 35 of file foamVtkInternalMeshWriterTemplates.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and Foam::expressions::POINT_DATA.
Write primitive field of CellData.
Definition at line 72 of file foamVtkInternalMeshWriterTemplates.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), format(), Foam::nl, Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
Write primitive field of PointData.
Definition at line 107 of file foamVtkInternalMeshWriterTemplates.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), format(), Foam::nl, Foam::expressions::POINT_DATA, Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
|
protected |
The number of field points for the current Piece.
Definition at line 78 of file foamVtkInternalMeshWriter.H.
|
protected |
The number of field cells for the current Piece.
Definition at line 81 of file foamVtkInternalMeshWriter.H.
|
protected |
Reference to the OpenFOAM mesh (or subset)
Definition at line 84 of file foamVtkInternalMeshWriter.H.
|
protected |
The volume cells (internalMesh)
Definition at line 87 of file foamVtkInternalMeshWriter.H.
|
static |
Debug information.
Definition at line 123 of file foamVtkInternalMeshWriter.H.