A surfaceWriter for outputting to a form usable for the timeVaryingMapped boundary condition. This reads the data from constant/boundaryData/<patch> directory. More...
Public Member Functions | |
TypeNameNoDebug ("boundaryData") | |
Declare type-name, virtual type (without debug switch) More... | |
boundaryDataWriter () | |
Default construct. More... | |
boundaryDataWriter (const dictionary &options) | |
Construct with some output options. More... | |
boundaryDataWriter (const meshedSurf &surf, const fileName &outputPath, bool parallel=Pstream::parRun(), const dictionary &options=dictionary()) | |
Construct from components. More... | |
boundaryDataWriter (const pointField &points, const faceList &faces, const fileName &outputPath, bool parallel=Pstream::parRun(), const dictionary &options=dictionary()) | |
Construct from components. More... | |
virtual | ~boundaryDataWriter ()=default |
Destructor. More... | |
virtual fileName | write () |
Write surface geometry to file. More... | |
declareSurfaceWriterWriteMethod (label) | |
declareSurfaceWriterWriteMethod (scalar) | |
declareSurfaceWriterWriteMethod (vector) | |
declareSurfaceWriterWriteMethod (sphericalTensor) | |
declareSurfaceWriterWriteMethod (symmTensor) | |
declareSurfaceWriterWriteMethod (tensor) | |
template<class Type > | |
Foam::fileName | writeTemplate (const word &fieldName, const Field< Type > &localValues) |
Public Member Functions inherited from surfaceWriter | |
TypeName ("surfaceWriter") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, surfaceWriter, word,(),()) | |
declareRunTimeSelectionTable (autoPtr, surfaceWriter, wordDict,(const dictionary &writeOpts),(writeOpts)) | |
surfaceWriter () | |
Default construct. More... | |
surfaceWriter (const dictionary &options) | |
Default construct with specified options. More... | |
virtual | ~surfaceWriter () |
Destructor. Calls close() More... | |
virtual bool | enabled () const |
virtual bool | separateGeometry () const |
True if the surface format requires geometry in a separate file. More... | |
virtual bool | usesFaceIds () const |
True if the writer format uses faceIds as part of its output. More... | |
virtual bool | needsUpdate () const |
Does the writer need an update (eg, lagging behind surface changes) More... | |
virtual bool | wroteData () const |
Geometry or fields written since the last open? More... | |
virtual bool | expire () |
virtual void | clear () |
virtual void | setSurface (const meshedSurf &surf, bool parallel) |
virtual void | setSurface (const pointField &points, const faceList &faces, bool parallel) |
virtual void | setSurface (const meshedSurf &surf) |
virtual void | setSurface (const pointField &points, const faceList &faces) |
bool | is_open () const noexcept |
Test if outputPath has been set. More... | |
bool | hasSurface () const |
Writer is associated with a surface. More... | |
bool | empty () const |
The surface to write is empty if the global number of faces is zero. More... | |
label | size () const |
The global number of faces for the associated surface. More... | |
label | nFields () const noexcept |
The number of expected output fields. More... | |
label | nFields (const label n) noexcept |
Set the number of expected output fields. More... | |
bool | isPointData () const noexcept |
Are the field data to be treated as point data? More... | |
bool | isPointData (const bool on) noexcept |
Set handling of field data to face/point data. More... | |
bool | useTimeDir () const noexcept |
Should a time directory be spliced into the output path? More... | |
bool | useTimeDir (const bool on) noexcept |
Enable/disable use of spliced output path. More... | |
bool | verbose () const noexcept |
Get output verbosity. More... | |
bool | verbose (const bool on) noexcept |
Enable/disable verbose output. More... | |
scalar | mergeDim () const noexcept |
The current value of the point merge dimension (metre) More... | |
scalar | mergeDim (const scalar dist) noexcept |
Change the point merge dimension (metre) More... | |
scalar | scale () const noexcept |
The current value of the geometry scaling. More... | |
scalar | scale (const scalar factor) noexcept |
Change the geometry scaling. More... | |
const coordSystem::cartesian & | transform () const noexcept |
The current (cartesian) coordinate system transformation. More... | |
bool | hasTime () const |
True if there is a known time. More... | |
const word & | timeName () const |
The current time value/name. More... | |
scalar | timeValue () const |
The current time value/name. More... | |
void | setTime (const instant &inst) |
Set the current time. More... | |
void | setTime (scalar timeValue) |
Set current time from timeValue, auto generating the name. More... | |
void | setTime (scalar timeValue, const word &timeName) |
Set current time from timeValue and timeName. More... | |
void | unsetTime () |
Clear the current time. More... | |
virtual void | beginTime (const Time &t) |
Begin a time-step. More... | |
virtual void | beginTime (const instant &inst) |
Begin a time-step. More... | |
virtual void | endTime () |
End a time-step. More... | |
virtual void | open (const fileName &outputPath) |
Open for output on specified path, using existing surface. More... | |
virtual void | open (const pointField &points, const faceList &faces, const fileName &outputPath, bool parallel) |
Open from components. More... | |
virtual void | open (const meshedSurf &surf, const fileName &outputPath, bool parallel) |
Open from components. More... | |
virtual void | open (const pointField &points, const faceList &faces, const fileName &outputPath) |
Open from components, with the current parallel/serial treatment. More... | |
virtual void | open (const meshedSurf &surf, const fileName &outputPath) |
Open from components, with the current parallel/serial treatment. More... | |
virtual void | close () |
Finish output, performing any necessary cleanup. More... | |
virtual fileName | write ()=0 |
Write separate surface geometry to file. More... | |
virtual fileName | write (const word &fieldName, const Field< label > &values)=0 |
Write field of label (per face or vertex) More... | |
virtual fileName | write (const word &fieldName, const Field< scalar > &values)=0 |
Write field of scalar (per face or vertex) More... | |
virtual fileName | write (const word &fieldName, const Field< vector > &values)=0 |
Write field of vector (per face or vertex) More... | |
virtual fileName | write (const word &fieldName, const Field< sphericalTensor > &values)=0 |
Write field of sphericalTensor (per face or vertex) More... | |
virtual fileName | write (const word &fieldName, const Field< symmTensor > &values)=0 |
Write field of symmTensor (per face or vertex) More... | |
virtual fileName | write (const word &fieldName, const Field< tensor > &values)=0 |
Write field of tensor (per face or vertex) More... | |
virtual InfoProxy< surfaceWriter > | info () const |
Return info proxy. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | mergeFieldTemplate (const Field< Type > &fld) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | adjustFieldTemplate (const word &fieldName, const tmp< Field< Type > > &tfield) const |
Additional Inherited Members | |
Static Public Member Functions inherited from surfaceWriter | |
static bool | supportedType (const word &writeType) |
True if New is likely to succeed for this writeType. More... | |
static autoPtr< surfaceWriter > | New (const word &writeType) |
Return a reference to the selected surfaceWriter. More... | |
static autoPtr< surfaceWriter > | New (const word &writeType, const dictionary &writeOptions) |
Return a reference to the selected surfaceWriter. More... | |
Static Public Attributes inherited from surfaceWriter | |
static scalar | defaultMergeDim = 1e-8 |
The default merge dimension (1e-8) More... | |
Protected Member Functions inherited from surfaceWriter | |
void | checkOpen () const |
Verify that the outputPath_ has been set or FatalError. More... | |
virtual bool | merge () const |
const meshedSurf & | surface () const |
const meshedSurfRef & | adjustSurface () const |
template<class Type > | |
tmp< Field< Type > > | mergeFieldTemplate (const Field< Type > &fld) const |
Gather (merge) fields with renumbering and shrinking for point data. More... | |
template<class Type > | |
tmp< Field< Type > > | adjustFieldTemplate (const word &fieldName, const tmp< Field< Type > > &tfield) const |
Apply refLevel and fieldScaling. More... | |
tmp< Field< label > > | mergeField (const Field< label > &fld) const |
tmp< Field< label > > | adjustField (const word &fieldName, const tmp< Field< label > > &tfield) const |
tmp< Field< scalar > > | mergeField (const Field< scalar > &fld) const |
tmp< Field< scalar > > | adjustField (const word &fieldName, const tmp< Field< scalar > > &tfield) const |
tmp< Field< vector > > | mergeField (const Field< vector > &fld) const |
tmp< Field< vector > > | adjustField (const word &fieldName, const tmp< Field< vector > > &tfield) const |
tmp< Field< sphericalTensor > > | mergeField (const Field< sphericalTensor > &fld) const |
tmp< Field< sphericalTensor > > | adjustField (const word &fieldName, const tmp< Field< sphericalTensor > > &tfield) const |
tmp< Field< symmTensor > > | mergeField (const Field< symmTensor > &fld) const |
tmp< Field< symmTensor > > | adjustField (const word &fieldName, const tmp< Field< symmTensor > > &tfield) const |
tmp< Field< tensor > > | mergeField (const Field< tensor > &fld) const |
tmp< Field< tensor > > | adjustField (const word &fieldName, const tmp< Field< tensor > > &tfield) const |
template<class Type > | |
fileName | writeTemplate (const word &fieldName, const Field< Type > &localValues) |
Dummy templated write operation. More... | |
Protected Attributes inherited from surfaceWriter | |
meshedSurfRef | surf_ |
Reference to surface or surface components. More... | |
mergedSurf | mergedSurf_ |
Surface after merging (parallel) More... | |
meshedSurfRef | adjustedSurf_ |
The surface after point coordinate transforms and scaling. More... | |
scalar | mergeDim_ |
Dimension for merging. More... | |
scalar | geometryScale_ |
Output geometry scaling after rotate/translate. More... | |
coordSystem::cartesian | geometryTransform_ |
Local coordinate system transformation. More... | |
bool | upToDate_ |
The topology/surface is up-to-date? More... | |
bool | wroteGeom_ |
Track if geometry has been written since the last open. More... | |
bool | parallel_ |
Writing in parallel (via master) More... | |
bool | useTimeDir_ |
Insert additional time sub-directory in the output path. More... | |
bool | isPointData_ |
Is point vs cell data. More... | |
bool | verbose_ |
Additional output verbosity. More... | |
label | nFields_ |
The number of fields. More... | |
instant | currTime_ |
The current time value/name. More... | |
fileName | outputPath_ |
The full output directory and file (surface) name. More... | |
dictionary | fieldLevel_ |
Field level to remove (on output) More... | |
dictionary | fieldScale_ |
Field scaling (on output) More... | |
A surfaceWriter for outputting to a form usable for the timeVaryingMapped boundary condition. This reads the data from constant/boundaryData/<patch> directory.
formatOptions { boundaryData { header false; format ascii; compression false; } }
Format options:
Property | Description | Required | Default |
---|---|---|---|
header | Generate files with FoamFile header | no | true |
format | ascii/binary | no | ascii |
compression | Use file compression | no | false |
scale | Output geometry scaling | no | 1 |
transform | Output coordinate transform | no | |
fieldLevel | Subtract field level before scaling | no | empty dict |
fieldScale | Output field scaling | no | empty dict |
Typical way of working:
surfaces { type surfaces; fields ( p ); surfaceFormat boundaryData; formatOptions { boundaryData { format binary; fieldLevel { p 1e5; // Absolute -> gauge [Pa] } fieldScale { "p.*" 0.01; // [Pa] -> [mbar] } } } surfaces { outlet { type patch; patches (outlet); interpolate false; } } }
Note:
Output file locations
The rootdir
normally corresponds to something like postProcessing/<name>
where the geometry is written as:
rootdir `-- surfaceName `-- "points"
and field data:
rootdir `-- surfaceName |-- "points" `-- timeName `-- field
Definition at line 194 of file boundaryDataSurfaceWriter.H.
Default construct.
Definition at line 55 of file boundaryDataSurfaceWriter.C.
|
explicit |
Construct with some output options.
Definition at line 63 of file boundaryDataSurfaceWriter.C.
boundaryDataWriter | ( | const meshedSurf & | surf, |
const fileName & | outputPath, | ||
bool | parallel = Pstream::parRun() , |
||
const dictionary & | options = dictionary() |
||
) |
Construct from components.
Definition at line 78 of file boundaryDataSurfaceWriter.C.
References surfaceWriter::open().
boundaryDataWriter | ( | const pointField & | points, |
const faceList & | faces, | ||
const fileName & | outputPath, | ||
bool | parallel = Pstream::parRun() , |
||
const dictionary & | options = dictionary() |
||
) |
Construct from components.
Definition at line 92 of file boundaryDataSurfaceWriter.C.
References surfaceWriter::open(), and points.
|
virtualdefault |
Destructor.
TypeNameNoDebug | ( | "boundaryData" | ) |
Declare type-name, virtual type (without debug switch)
|
virtual |
Write surface geometry to file.
Implements surfaceWriter.
Definition at line 160 of file boundaryDataSurfaceWriter.C.
References argList::envGlobalPath(), Foam::isDir(), splitCell::master(), Foam::mkDir(), Time::New(), IOobject::NO_READ, IOobject::NO_WRITE, and IOobject::note().
declareSurfaceWriterWriteMethod | ( | label | ) |
declareSurfaceWriterWriteMethod | ( | scalar | ) |
declareSurfaceWriterWriteMethod | ( | vector | ) |
declareSurfaceWriterWriteMethod | ( | sphericalTensor | ) |
declareSurfaceWriterWriteMethod | ( | symmTensor | ) |
declareSurfaceWriterWriteMethod | ( | tensor | ) |
Foam::fileName writeTemplate | ( | const word & | fieldName, |
const Field< Type > & | localValues | ||
) |
Definition at line 207 of file boundaryDataSurfaceWriter.C.
References Foam::endl(), argList::envGlobalPath(), Foam::Info, Foam::isDir(), splitCell::master(), Foam::mkDir(), Time::New(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::note(), IOobject::objectPath(), fileName::path(), timeName, IOobject::writeEndDivider(), and IOobject::writeHeader().