Write OpenFOAM patches and patch fields in VTP or legacy vtk format. More...
Public Member Functions | |
patchWriter (const polyMesh &mesh, const labelList &patchIDs, const vtk::outputOptions opts=vtk::formatType::INLINE_BASE64, const bool useNearCellValue=false) | |
Construct from components (default format INLINE_BASE64) More... | |
patchWriter (const polyMesh &mesh, const labelList &patchIDs, const fileName &file, bool parallel=Pstream::parRun()) | |
patchWriter (const polyMesh &mesh, const labelList &patchIDs, const vtk::outputOptions opts, const fileName &file, bool parallel=Pstream::parRun()) | |
patchWriter (const polyMesh &mesh, const labelList &patchIDs, const vtk::outputOptions opts, const bool useNearCellValue, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from components and open the file for writing. More... | |
virtual | ~patchWriter ()=default |
Destructor. More... | |
template<class Type , template< class > class PatchField> | |
void | write (const GeometricField< Type, PatchField, pointMesh > &field) |
Write point field. More... | |
template<class Type , template< class > class PatchField> | |
void | write (const GeometricField< Type, PatchField, volMesh > &field) |
Write volume field. More... | |
template<class Type > | |
void | write (const GeometricField< Type, fvPatchField, volMesh > &field, const PrimitivePatchInterpolation< primitivePatch > &pInterp) |
Write volume field with point interpolation. More... | |
template<class Type > | |
void | write (const GeometricField< Type, fvPatchField, volMesh > &field, const PrimitivePatchInterpolation< primitivePatch > *pInterp) |
Write volume field with point interpolation. More... | |
![]() | |
patchMeshWriter (const polyMesh &mesh, const labelList &patchIDs, const vtk::outputOptions opts=vtk::formatType::INLINE_BASE64) | |
Construct from components (default format INLINE_BASE64) More... | |
patchMeshWriter (const polyMesh &mesh, const labelList &patchIDs, const fileName &file, bool parallel=Pstream::parRun()) | |
patchMeshWriter (const polyMesh &mesh, const labelList &patchIDs, const vtk::outputOptions opts, const fileName &file, bool parallel=Pstream::parRun()) | |
virtual | ~patchMeshWriter ()=default |
Destructor. More... | |
const labelList & | patchIDs () const noexcept |
The patch IDs. More... | |
virtual bool | beginFile (std::string title="") |
Write file header (non-collective) More... | |
virtual bool | writeGeometry () |
Write patch 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 | writePatchIDs () |
Write patch ids as CellData. More... | |
bool | writeProcIDs () |
Write processor ids as CellData. This is no-op in serial. More... | |
bool | writeNeighIDs () |
Write processor neighbour ids as CellData. This is no-op in serial. More... | |
template<class Type > | |
void | writeUniform (const word &fieldName, const Type &val) |
Write a uniform field of Cell (Face) or Point values. More... | |
![]() | |
fileWriter (const vtk::fileTag contentType, const vtk::outputOptions opts) | |
Construct from components. More... | |
virtual | ~fileWriter () |
Destructor. More... | |
vtk::fileTag | contentType () const noexcept |
The content type. More... | |
vtk::outputOptions | opts () const noexcept |
The output options in use. More... | |
word | ext () const |
File extension for current format type. More... | |
bool | legacy () const noexcept |
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... | |
virtual 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... | |
virtual bool | beginFile (std::string title="") |
Write file header (non-collective) More... | |
bool | beginFieldData (label nFields=0) |
Begin FieldData output section for specified number of fields. More... | |
virtual bool | writeGeometry ()=0 |
Write mesh topology. More... | |
virtual bool | beginCellData (label nFields=0)=0 |
Begin CellData output section for specified number of fields. More... | |
virtual bool | beginPointData (label nFields=0)=0 |
Begin PointData 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... | |
Additional Inherited Members | |
![]() | |
static word | ext (vtk::outputOptions opts) |
File extension for given output type. More... | |
![]() | |
enum | outputState : uint8_t { CLOSED = 0 , OPENED , DECLARED , FIELD_DATA , PIECE , CELL_DATA , POINT_DATA } |
Internal tracking of the output state. More... | |
![]() | |
void | beginPiece () |
void | writePoints () |
Write patch points. More... | |
void | writePolysLegacy (const label pointOffset) |
Write patch faces, legacy format. More... | |
void | writePolys (const label pointOffset) |
Write patch faces. More... | |
patchMeshWriter (const patchMeshWriter &)=delete | |
No copy construct. More... | |
void | operator= (const patchMeshWriter &)=delete |
No copy assignment. 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. FatalError for off-processor. 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... | |
![]() | |
label | numberOfPoints_ |
The number of field points for the current Piece. More... | |
label | numberOfCells_ |
The number of field cells (faces) for the current Piece. More... | |
label | nLocalPoints_ |
Local number of points. More... | |
label | nLocalPolys_ |
Local number of polys (faces) More... | |
label | nLocalPolyConn_ |
Local connectivity count for polys (faces) == sum of face sizes. More... | |
const polyMesh & | mesh_ |
Reference to the OpenFOAM mesh (or subset) More... | |
labelList | patchIDs_ |
The selected patch ids. More... | |
![]() | |
outputState | state_ |
The output state. More... | |
vtk::fileTag | contentType_ |
The content type (PolyData, UnstructuredGrid ...) More... | |
bool | parallel_ |
Parallel writing (via master) More... | |
vtk::outputOptions | opts_ |
Requested output options. 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... | |
![]() | |
static const Enum< outputState > | stateNames |
Names for the output state (for messages, not for file output). More... | |
Write OpenFOAM patches and patch fields in VTP or legacy vtk format.
The file output states are managed by the Foam::vtk::fileWriter class. FieldData (eg, TimeValue) must appear before any geometry pieces.
Definition at line 68 of file foamVtkPatchWriter.H.
|
inline |
Construct from components (default format INLINE_BASE64)
useNearCellValue | to use cell instead of patch values |
Definition at line 94 of file foamVtkPatchWriter.H.
|
inline |
Construct from components (default format INLINE_BASE64), and open the file for writing.
The file name is with/without an extension.
Definition at line 109 of file foamVtkPatchWriter.H.
|
inline |
Construct from components (default format INLINE_BASE64), and open the file for writing.
The file name is with/without an extension.
Definition at line 124 of file foamVtkPatchWriter.H.
|
inline |
Construct from components and open the file for writing.
The file name is with/without an extension.
useNearCellValue | to use cell instead of patch values |
Definition at line 141 of file foamVtkPatchWriter.H.
|
virtualdefault |
Destructor.
void write | ( | const GeometricField< Type, PatchField, pointMesh > & | field | ) |
Write point field.
Definition at line 34 of file foamVtkPatchWriterTemplates.C.
References UPstream::blocking, fileWriter::endDataArray(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), fileWriter::format(), fileWriter::isState(), splitCell::master(), UPstream::masterNo(), Foam::nl, patchMeshWriter::nLocalPoints_, nPatches, fileWriter::nPointData_, nPoints, fileWriter::parallel_, patchId(), patchMeshWriter::patchIDs_, fileWriter::POINT_DATA, Foam::reduce(), fileWriter::reportBadState(), UList< T >::size(), PstreamBuffers::subProcs(), and Foam::vtk::writeList().
void write | ( | const GeometricField< Type, PatchField, volMesh > & | field | ) |
Write volume field.
Definition at line 136 of file foamVtkPatchWriterTemplates.C.
References UPstream::blocking, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), format(), splitCell::master(), UPstream::masterNo(), nFaces(), Foam::nl, nPatches, patchId(), Foam::reduce(), PstreamBuffers::subProcs(), and Foam::vtk::writeList().
void write | ( | const GeometricField< Type, fvPatchField, volMesh > & | field, |
const PrimitivePatchInterpolation< primitivePatch > & | pInterp | ||
) |
Write volume field with point interpolation.
Definition at line 232 of file foamVtkPatchWriterTemplates.C.
References UPstream::blocking, Foam::endl(), Foam::exit(), PrimitivePatchInterpolation< Patch >::faceToPointInterpolate(), Foam::FatalError, FatalErrorInFunction, field(), format(), splitCell::master(), UPstream::masterNo(), Foam::nl, nPatches, nPoints, patchId(), Foam::reduce(), PstreamBuffers::subProcs(), and Foam::vtk::writeList().
void write | ( | const GeometricField< Type, fvPatchField, volMesh > & | field, |
const PrimitivePatchInterpolation< primitivePatch > * | pInterp | ||
) |
Write volume field with point interpolation.