Write lagrangian (cloud) positions and fields (as PointData) in VTP format. Legacy VTK format is intentionally not supported since the VTP format provides much better field selection in ParaView, and for consistency with the Foam::functionObjects::vtkCloud function object. More...
Public Member Functions | |
lagrangianWriter (const fvMesh &mesh, const word &cloudName, const vtk::outputOptions opts=vtk::formatType::INLINE_BASE64, bool useVerts=false) | |
Construct from components (default format INLINE_BASE64) More... | |
lagrangianWriter (const fvMesh &mesh, const word &cloudName, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from components (default format INLINE_BASE64), and open the file for writing. More... | |
lagrangianWriter (const fvMesh &mesh, const word &cloudName, const vtk::outputOptions opts, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from components and open the file for writing. More... | |
virtual | ~lagrangianWriter ()=default |
Destructor. More... | |
virtual bool | beginFile (std::string title="") |
Write file header (non-collective) More... | |
virtual bool | writeGeometry () |
Write cloud positions. More... | |
bool | beginParcelData () |
Begin parcel (PointData) output section. More... | |
bool | endParcelData () |
Explicitly end parcel (PointData) output and switch to PIECE state. More... | |
template<class Type > | |
void | write (const IOField< Type > &field) |
Write the IOField. More... | |
template<class Type > | |
label | writeFields (const wordList &fieldNames, bool verbose=true) |
Write IOFields. More... | |
template<class Type > | |
label | writeFields (const IOobjectList &objects, bool verbose=true) |
Write IOFields. More... | |
template<class Type > | |
Foam::label | writeFields (const wordList &fieldNames, bool verbose) |
template<class Type > | |
Foam::label | writeFields (const IOobjectList &objects, const bool verbose) |
Public Member Functions inherited from fileWriter | |
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=UPstream::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) |
File extension for given output type. Always ".vtp". More... | |
Protected Member Functions | |
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... | |
Protected Member Functions inherited from fileWriter | |
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... | |
Additional Inherited Members | |
Protected Types inherited from fileWriter | |
enum | outputState : uint8_t { CLOSED = 0, OPENED, DECLARED, FIELD_DATA, PIECE, CELL_DATA, POINT_DATA } |
Internal tracking of the output state. More... | |
Protected Attributes inherited from fileWriter | |
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 Protected Attributes inherited from fileWriter | |
static const Enum< outputState > | stateNames |
Names for the output state (for messages, not for file output). More... | |
Write lagrangian (cloud) positions and fields (as PointData) in VTP format. Legacy VTK format is intentionally not supported since the VTP format provides much better field selection in ParaView, and for consistency with the Foam::functionObjects::vtkCloud function object.
The file output states are managed by the Foam::vtk::fileWriter class. FieldData (eg, TimeValue) must appear before any geometry pieces.
Definition at line 66 of file foamVtkLagrangianWriter.H.
lagrangianWriter | ( | const fvMesh & | mesh, |
const word & | cloudName, | ||
const vtk::outputOptions | opts = vtk::formatType::INLINE_BASE64 , |
||
bool | useVerts = false |
||
) |
Construct from components (default format INLINE_BASE64)
useVerts | Define VERTS and use CellData instead of PointData. |
Definition at line 111 of file foamVtkLagrangianWriter.C.
References fileWriter::legacy().
lagrangianWriter | ( | const fvMesh & | mesh, |
const word & | cloudName, | ||
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from components (default format INLINE_BASE64), and open the file for writing.
The file name is with/without an extension.
Definition at line 130 of file foamVtkLagrangianWriter.C.
lagrangianWriter | ( | const fvMesh & | mesh, |
const word & | cloudName, | ||
const vtk::outputOptions | opts, | ||
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from components and open the file for writing.
The file name is with/without an extension.
Definition at line 144 of file foamVtkLagrangianWriter.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Begin CellData output section for specified number of fields.
Must be called prior to writing any cell data fields.
nFields | is the number of fields, which is required for legacy format. |
Implements fileWriter.
Definition at line 96 of file foamVtkLagrangianWriter.C.
|
protectedvirtual |
Begin PointData for specified number of fields.
Must be called prior to writing any point data fields.
nFields | is the number of fields, which is required for legacy format. |
Implements fileWriter.
Definition at line 102 of file foamVtkLagrangianWriter.C.
|
inlinestatic |
File extension for given output type. Always ".vtp".
Definition at line 213 of file foamVtkLagrangianWriter.H.
References Foam::vtk::fileExtension, and Foam::vtk::POLY_DATA.
|
virtual |
Write file header (non-collective)
Reimplemented from fileWriter.
Definition at line 160 of file foamVtkLagrangianWriter.C.
References fileWriter::beginFile(), and Foam::name().
|
virtual |
Write cloud positions.
Also writes the file header if not previously written.
Implements fileWriter.
Definition at line 182 of file foamVtkLagrangianWriter.C.
References Foam::vtk::CELL_DATA, format(), Foam::vtk::NUMBER_OF_POINTS, Foam::vtk::NUMBER_OF_VERTS, Foam::vtk::PIECE, Foam::vtk::POINT_DATA, Foam::vtk::POINTS, Foam::reduce(), UList< T >::size(), Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
bool beginParcelData | ( | ) |
Begin parcel (PointData) output section.
Must be called prior to writing data fields.
Definition at line 271 of file foamVtkLagrangianWriter.C.
References Foam::vtk::legacy::beginCellData(), and Foam::vtk::legacy::beginPointData().
bool endParcelData | ( | ) |
Explicitly end parcel (PointData) output and switch to PIECE state.
Ignored (no-op) if not currently in the parcel state.
Definition at line 284 of file foamVtkLagrangianWriter.C.
void write | ( | const IOField< Type > & | field | ) |
Write the IOField.
Definition at line 28 of file foamVtkLagrangianWriterTemplates.C.
References Foam::vtk::CELL_DATA, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), fileWriter::isState(), fileWriter::nCellData_, Foam::nl, fileWriter::nPointData_, Foam::vtk::POINT_DATA, and fileWriter::reportBadState().
label writeFields | ( | const wordList & | fieldNames, |
bool | verbose = true |
||
) |
Write IOFields.
label writeFields | ( | const IOobjectList & | objects, |
bool | verbose = true |
||
) |
Write IOFields.
Foam::label writeFields | ( | const wordList & | fieldNames, |
bool | verbose | ||
) |
Definition at line 68 of file foamVtkLagrangianWriterTemplates.C.
References Foam::endl(), field(), Foam::Info, io(), IOobjectOption::READ_IF_PRESENT, and Foam::returnReduceOr().
Foam::label writeFields | ( | const IOobjectList & | objects, |
const bool | verbose | ||
) |
Definition at line 127 of file foamVtkLagrangianWriterTemplates.C.
References IOobjectList::allNames().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.