surfaceWriter Class Referenceabstract

Base class for surface writers. More...

Inheritance diagram for surfaceWriter:
Collaboration diagram for surfaceWriter:

Public Member Functions

 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
 The writer is enabled. If the writer is not enabled, it may be possible for the caller to skip various preparatory operations. More...
 
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 ()
 Mark that surface changed and the writer will need an update, and set nFields = 0. More...
 
virtual void clear ()
 Close any open output, remove association with a surface and expire the writer. The parallel flag remains untouched. More...
 
virtual void setSurface (const meshedSurf &surf, bool parallel)
 Change association with a surface, expire the writer with defined parallel/serial treatment. More...
 
virtual void setSurface (const pointField &points, const faceList &faces, bool parallel)
 Change association with a surface, expire the writer with defined parallel/serial treatment. More...
 
virtual void setSurface (const meshedSurf &surf)
 Change association with a surface, expire the writer with the current parallel/serial treatment. More...
 
virtual void setSurface (const pointField &points, const faceList &faces)
 Change association with a surface, expire the writer with the current parallel/serial treatment. More...
 
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 (bool on) noexcept
 Set handling of field data to face/point data. More...
 
bool vertexOutput () const noexcept
 Output as 1D vertex/point elements instead of faces. More...
 
bool vertexOutput (bool on) noexcept
 Output as 1D vertex/point elements instead of faces. 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::cartesiantransform () const noexcept
 The current (cartesian) coordinate system transformation. More...
 
bool hasTime () const
 True if there is a known time. More...
 
const wordtimeName () 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< surfaceWriterinfo () const noexcept
 Return info proxy, used to print information to a stream. More...
 

Static Public Member Functions

static dictionary formatOptions (const dictionary &dict, const word &formatName, const word &entryName="formatOptions")
 Same as fileFormats::getFormatOptions. More...
 
static dictionary formatOptions (const dictionary &dict, const dictionary &surfDict, const word &formatName, const word &entryName="formatOptions")
 Same as fileFormats::getFormatOptions. More...
 
static bool supportedType (const word &writeType)
 True if New is likely to succeed for this writeType. More...
 
static autoPtr< surfaceWriterTryNew (const word &writeType)
 Optional select construct surfaceWriter. More...
 
static autoPtr< surfaceWriterTryNew (const word &writeType, const dictionary &writeOptions)
 Optional select construct surfaceWriter with extra write options. More...
 
static autoPtr< surfaceWriterNew (const word &writeType)
 Select construct a surfaceWriter. More...
 
static autoPtr< surfaceWriterNew (const word &writeType, const dictionary &writeOptions)
 Select construct a surfaceWriter with extra write options. More...
 

Static Public Attributes

static scalar defaultMergeDim
 The default merge dimension (1e-8) More...
 

Protected Member Functions

void checkOpen () const
 Verify that the outputPath_ has been set or FatalError. More...
 
virtual bool merge () const
 Merge surfaces if they are not already upToDate (parallel) or simply mark the surface as being up-to-date. More...
 
const meshedSurfsurface () const
 Merge surfaces (if not upToDate) and return merged (parallel) or regular surface (non-parallel) More...
 
const meshedSurfRefadjustSurface () const
 Merge surfaces (if not upToDate) and return merged (parallel) or regular surface (non-parallel) and apply any coordinate system changes and/or output scaling. More...
 
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

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...
 
point geometryCentre_
 The centre of rotation (untranslate, 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 vertexOutput_
 Output as 1D vertex/point elements instead of faces. More...
 
bool verbose_
 Additional output verbosity. More...
 
UPstream::commsTypes commType_
 Communication type (for field merging) More...
 
bool gatherv_
 Prefer MPI gatherv intrinsic (for field merging) [experimental]. 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...
 

Friends

Ostreamoperator<< (Ostream &os, const InfoProxy< surfaceWriter > &iproxy)
 Output info proxy. More...
 

Detailed Description

Base class for surface writers.

The surfaceWriter interface is rather large since we need a writer that can either be initially defined without a surface association and have that added at a later stage, or be defined with a surface association.

formatOptions
{
    default
    {
        verbose     true;
        commsType   scheduled;

        fieldLevel
        {
            "p.*"   1e5;    // Absolute -> gauge [Pa]
            T       273.15; // [K] -> [C]
            U       #eval{ 10/sqrt(3) };  // Uniform magU=10
        }
    }

    someFormat // Eg, ensight, vtk, etc
    {
        fieldScale
        {
            "p.*"   0.01;   // [Pa] -> [mbar]
        }

        scale   1000;  // [m] -> [mm]
        transform
        {
            origin  (0 0 0);
            rotationCentre  (0 0 0);
            rotation axisAngle;
            axis    (1 0 0);
            angle   45;
        }
    }
}

Format options:

Property Description Reqd Default
verbose Additional output verbosity no no
commsType Communication type no scheduled
gatherv Use MPI gatherv [experimental] 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
Note
The transform sub-dictionary also supports a rotationCentre keyword which applies untranslate by that amount prior to the rotation, and subsequently followed by a translate.

For surface formats that require geometry in a separate file, it is the responsibility of the implementation (not the caller) to ensure that this occurs.

Using MPI gatherv [experimental] is not well tested and may change or be removed in the future!

Source files

Definition at line 179 of file surfaceWriter.H.

Constructor & Destructor Documentation

◆ surfaceWriter() [1/2]

Default construct.

◆ surfaceWriter() [2/2]

surfaceWriter ( const dictionary options)
explicit

Default construct with specified options.

◆ ~surfaceWriter()

virtual ~surfaceWriter ( )
virtual

Destructor. Calls close()

Member Function Documentation

◆ checkOpen()

void checkOpen ( ) const
protected

Verify that the outputPath_ has been set or FatalError.

◆ merge()

virtual bool merge ( ) const
protectedvirtual

Merge surfaces if they are not already upToDate (parallel) or simply mark the surface as being up-to-date.

◆ surface()

const meshedSurf& surface ( ) const
protected

Merge surfaces (if not upToDate) and return merged (parallel) or regular surface (non-parallel)

◆ adjustSurface()

const meshedSurfRef& adjustSurface ( ) const
protected

Merge surfaces (if not upToDate) and return merged (parallel) or regular surface (non-parallel) and apply any coordinate system changes and/or output scaling.

◆ mergeFieldTemplate()

tmp<Field<Type> > mergeFieldTemplate ( const Field< Type > &  fld) const
protected

Gather (merge) fields with renumbering and shrinking for point data.

◆ adjustFieldTemplate()

tmp<Field<Type> > adjustFieldTemplate ( const word fieldName,
const tmp< Field< Type >> &  tfield 
) const
protected

Apply refLevel and fieldScaling.

◆ mergeField() [1/6]

tmp<Field< label > > mergeField ( const Field< label > &  fld) const
protected

◆ adjustField() [1/6]

tmp<Field< label > > adjustField ( const word fieldName,
const tmp< Field< label >> &  tfield 
) const
protected

◆ mergeField() [2/6]

tmp<Field< scalar > > mergeField ( const Field< scalar > &  fld) const
protected

◆ adjustField() [2/6]

tmp<Field< scalar > > adjustField ( const word fieldName,
const tmp< Field< scalar >> &  tfield 
) const
protected

◆ mergeField() [3/6]

tmp<Field< vector > > mergeField ( const Field< vector > &  fld) const
protected

◆ adjustField() [3/6]

tmp<Field< vector > > adjustField ( const word fieldName,
const tmp< Field< vector >> &  tfield 
) const
protected

◆ mergeField() [4/6]

tmp<Field< sphericalTensor > > mergeField ( const Field< sphericalTensor > &  fld) const
protected

◆ adjustField() [4/6]

tmp<Field< sphericalTensor > > adjustField ( const word fieldName,
const tmp< Field< sphericalTensor >> &  tfield 
) const
protected

◆ mergeField() [5/6]

tmp<Field< symmTensor > > mergeField ( const Field< symmTensor > &  fld) const
protected

◆ adjustField() [5/6]

tmp<Field< symmTensor > > adjustField ( const word fieldName,
const tmp< Field< symmTensor >> &  tfield 
) const
protected

◆ mergeField() [6/6]

tmp<Field< tensor > > mergeField ( const Field< tensor > &  fld) const
protected

◆ adjustField() [6/6]

tmp<Field< tensor > > adjustField ( const word fieldName,
const tmp< Field< tensor >> &  tfield 
) const
protected

◆ writeTemplate()

fileName writeTemplate ( const word fieldName,
const Field< Type > &  localValues 
)
inlineprotected

Dummy templated write operation.

Parameters
fieldNameName of field
localValuesLocal field values to write

Definition at line 363 of file surfaceWriter.H.

References fileName::null, surfaceWriter::write(), and surfaceWriter::wroteGeom_.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "surfaceWriter"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
surfaceWriter  ,
word  ,
()  ,
()   
)

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
surfaceWriter  ,
wordDict  ,
(const dictionary &writeOpts)  ,
(writeOpts)   
)

◆ formatOptions() [1/2]

static dictionary formatOptions ( const dictionary dict,
const word formatName,
const word entryName = "formatOptions" 
)
static

Same as fileFormats::getFormatOptions.

Referenced by Curle::read(), surfaceFieldValue::read(), and propellerInfo::setSampleDiskSurface().

Here is the caller graph for this function:

◆ formatOptions() [2/2]

static dictionary formatOptions ( const dictionary dict,
const dictionary surfDict,
const word formatName,
const word entryName = "formatOptions" 
)
static

◆ supportedType()

static bool supportedType ( const word writeType)
static

True if New is likely to succeed for this writeType.

◆ TryNew() [1/2]

static autoPtr<surfaceWriter> TryNew ( const word writeType)
static

Optional select construct surfaceWriter.

Return nullptr if the specified type is not supported.

◆ TryNew() [2/2]

static autoPtr<surfaceWriter> TryNew ( const word writeType,
const dictionary writeOptions 
)
static

Optional select construct surfaceWriter with extra write options.

Return nullptr if the specified type is not supported.

◆ New() [1/2]

static autoPtr<surfaceWriter> New ( const word writeType)
static

◆ New() [2/2]

static autoPtr<surfaceWriter> New ( const word writeType,
const dictionary writeOptions 
)
static

Select construct a surfaceWriter with extra write options.

◆ enabled()

virtual bool enabled ( ) const
inlinevirtual

The writer is enabled. If the writer is not enabled, it may be possible for the caller to skip various preparatory operations.

This method is primarily useful for the null writer

Reimplemented in nullWriter.

Definition at line 506 of file surfaceWriter.H.

◆ separateGeometry()

virtual bool separateGeometry ( ) const
inlinevirtual

True if the surface format requires geometry in a separate file.

Reimplemented in ensightWriter, foamWriter, starcdWriter, and proxyWriter.

Definition at line 514 of file surfaceWriter.H.

◆ usesFaceIds()

virtual bool usesFaceIds ( ) const
inlinevirtual

True if the writer format uses faceIds as part of its output.

Element ids are used by various CAE formats (abaqus, nastran, starcd, ...)

Reimplemented in nastranWriter, abaqusWriter, and starcdWriter.

Definition at line 525 of file surfaceWriter.H.

◆ needsUpdate()

virtual bool needsUpdate ( ) const
virtual

Does the writer need an update (eg, lagging behind surface changes)

Reimplemented in nullWriter.

◆ wroteData()

virtual bool wroteData ( ) const
virtual

Geometry or fields written since the last open?

Reimplemented in nullWriter.

◆ expire()

virtual bool expire ( )
virtual

Mark that surface changed and the writer will need an update, and set nFields = 0.

May also free up unneeded data. Return false if it was previously already expired.

◆ clear()

virtual void clear ( )
virtual

Close any open output, remove association with a surface and expire the writer. The parallel flag remains untouched.

◆ setSurface() [1/4]

virtual void setSurface ( const meshedSurf surf,
bool  parallel 
)
virtual

Change association with a surface, expire the writer with defined parallel/serial treatment.

Reimplemented in nullWriter.

◆ setSurface() [2/4]

virtual void setSurface ( const pointField points,
const faceList faces,
bool  parallel 
)
virtual

Change association with a surface, expire the writer with defined parallel/serial treatment.

Reimplemented in nullWriter.

◆ setSurface() [3/4]

virtual void setSurface ( const meshedSurf surf)
virtual

Change association with a surface, expire the writer with the current parallel/serial treatment.

◆ setSurface() [4/4]

virtual void setSurface ( const pointField points,
const faceList faces 
)
virtual

Change association with a surface, expire the writer with the current parallel/serial treatment.

◆ is_open()

bool is_open ( ) const
inlinenoexcept

Test if outputPath has been set.

Definition at line 24 of file surfaceWriterI.H.

References surfaceWriter::outputPath_.

◆ hasSurface()

bool hasSurface ( ) const

Writer is associated with a surface.

◆ empty()

bool empty ( ) const

The surface to write is empty if the global number of faces is zero.

◆ size()

label size ( ) const

The global number of faces for the associated surface.

◆ nFields() [1/2]

Foam::label nFields ( ) const
inlinenoexcept

The number of expected output fields.

Currently only used by the legacy VTK format.

Definition at line 30 of file surfaceWriterI.H.

◆ nFields() [2/2]

Foam::label nFields ( const label  n)
inlinenoexcept

Set the number of expected output fields.

Currently only used by the legacy VTK format.

Returns
old value

Definition at line 36 of file surfaceWriterI.H.

References n.

◆ isPointData() [1/2]

bool isPointData ( ) const
inlinenoexcept

Are the field data to be treated as point data?

Definition at line 44 of file surfaceWriterI.H.

◆ isPointData() [2/2]

bool isPointData ( bool  on)
inlinenoexcept

Set handling of field data to face/point data.

Returns
old value

Definition at line 50 of file surfaceWriterI.H.

◆ vertexOutput() [1/2]

bool vertexOutput ( ) const
inlinenoexcept

Output as 1D vertex/point elements instead of faces.

Definition at line 58 of file surfaceWriterI.H.

◆ vertexOutput() [2/2]

bool vertexOutput ( bool  on)
inlinenoexcept

Output as 1D vertex/point elements instead of faces.

Definition at line 64 of file surfaceWriterI.H.

◆ useTimeDir() [1/2]

bool useTimeDir ( ) const
inlinenoexcept

Should a time directory be spliced into the output path?

Definition at line 72 of file surfaceWriterI.H.

◆ useTimeDir() [2/2]

bool useTimeDir ( const bool  on)
inlinenoexcept

Enable/disable use of spliced output path.

Returns
old value

Definition at line 78 of file surfaceWriterI.H.

◆ verbose() [1/2]

bool verbose ( ) const
inlinenoexcept

Get output verbosity.

Definition at line 86 of file surfaceWriterI.H.

◆ verbose() [2/2]

bool verbose ( const bool  on)
inlinenoexcept

Enable/disable verbose output.

Returns
old value

Definition at line 92 of file surfaceWriterI.H.

◆ mergeDim() [1/2]

Foam::scalar mergeDim ( ) const
inlinenoexcept

The current value of the point merge dimension (metre)

Definition at line 100 of file surfaceWriterI.H.

◆ mergeDim() [2/2]

Foam::scalar mergeDim ( const scalar  dist)
inlinenoexcept

Change the point merge dimension (metre)

Returns
old value

Definition at line 106 of file surfaceWriterI.H.

◆ scale() [1/2]

Foam::scalar scale ( ) const
inlinenoexcept

The current value of the geometry scaling.

Definition at line 114 of file surfaceWriterI.H.

◆ scale() [2/2]

Foam::scalar scale ( const scalar  factor)
inlinenoexcept

Change the geometry scaling.

Returns
old value

Definition at line 120 of file surfaceWriterI.H.

◆ transform()

const Foam::coordSystem::cartesian & transform ( ) const
inlinenoexcept

The current (cartesian) coordinate system transformation.

Definition at line 130 of file surfaceWriterI.H.

◆ hasTime()

bool hasTime ( ) const
inline

True if there is a known time.

Definition at line 136 of file surfaceWriterI.H.

◆ timeName()

const Foam::word & timeName ( ) const
inline

The current time value/name.

Definition at line 142 of file surfaceWriterI.H.

◆ timeValue()

Foam::scalar timeValue ( ) const
inline

The current time value/name.

Definition at line 148 of file surfaceWriterI.H.

◆ setTime() [1/3]

void setTime ( const instant inst)

Set the current time.

◆ setTime() [2/3]

void setTime ( scalar  timeValue)

Set current time from timeValue, auto generating the name.

◆ setTime() [3/3]

void setTime ( scalar  timeValue,
const word timeName 
)

Set current time from timeValue and timeName.

◆ unsetTime()

void unsetTime ( )

Clear the current time.

◆ beginTime() [1/2]

virtual void beginTime ( const Time t)
virtual

Begin a time-step.

Reimplemented in vtkWriter.

◆ beginTime() [2/2]

virtual void beginTime ( const instant inst)
virtual

Begin a time-step.

Reimplemented in vtkWriter.

◆ endTime()

virtual void endTime ( )
virtual

End a time-step.

Reimplemented in vtkWriter.

◆ open() [1/5]

virtual void open ( const fileName outputPath)
virtual

Open for output on specified path, using existing surface.

Reimplemented in nullWriter.

◆ open() [2/5]

virtual void open ( const pointField points,
const faceList faces,
const fileName outputPath,
bool  parallel 
)
virtual

Open from components.

◆ open() [3/5]

virtual void open ( const meshedSurf surf,
const fileName outputPath,
bool  parallel 
)
virtual

Open from components.

◆ open() [4/5]

virtual void open ( const pointField points,
const faceList faces,
const fileName outputPath 
)
virtual

Open from components, with the current parallel/serial treatment.

◆ open() [5/5]

virtual void open ( const meshedSurf surf,
const fileName outputPath 
)
virtual

Open from components, with the current parallel/serial treatment.

◆ close()

virtual void close ( )
virtual

Finish output, performing any necessary cleanup.

Reimplemented in vtkWriter, and ensightWriter.

◆ write() [1/7]

virtual fileName write ( )
pure virtual

Write separate surface geometry to file.

Implemented in nastranWriter, boundaryDataWriter, vtkWriter, abaqusWriter, ensightWriter, foamWriter, rawWriter, starcdWriter, x3dWriter, proxyWriter, debugWriter, and nullWriter.

Referenced by surfaceWriter::writeTemplate().

Here is the caller graph for this function:

◆ write() [2/7]

virtual fileName write ( const word fieldName,
const Field< label > &  values 
)
pure virtual

Write field of label (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ write() [3/7]

virtual fileName write ( const word fieldName,
const Field< scalar > &  values 
)
pure virtual

Write field of scalar (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ write() [4/7]

virtual fileName write ( const word fieldName,
const Field< vector > &  values 
)
pure virtual

Write field of vector (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ write() [5/7]

virtual fileName write ( const word fieldName,
const Field< sphericalTensor > &  values 
)
pure virtual

Write field of sphericalTensor (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ write() [6/7]

virtual fileName write ( const word fieldName,
const Field< symmTensor > &  values 
)
pure virtual

Write field of symmTensor (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ write() [7/7]

virtual fileName write ( const word fieldName,
const Field< tensor > &  values 
)
pure virtual

Write field of tensor (per face or vertex)

Parameters
fieldNameName of field
valuesField values to write

◆ info()

virtual InfoProxy<surfaceWriter> info ( ) const
inlinevirtualnoexcept

Return info proxy, used to print information to a stream.

Definition at line 865 of file surfaceWriter.H.

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream os,
const InfoProxy< surfaceWriter > &  iproxy 
)
friend

Output info proxy.

Member Data Documentation

◆ surf_

meshedSurfRef surf_
protected

Reference to surface or surface components.

Definition at line 188 of file surfaceWriter.H.

◆ mergedSurf_

mergedSurf mergedSurf_
mutableprotected

Surface after merging (parallel)

Definition at line 193 of file surfaceWriter.H.

◆ adjustedSurf_

meshedSurfRef adjustedSurf_
mutableprotected

The surface after point coordinate transforms and scaling.

Definition at line 198 of file surfaceWriter.H.

◆ mergeDim_

scalar mergeDim_
protected

Dimension for merging.

Definition at line 203 of file surfaceWriter.H.

◆ geometryScale_

scalar geometryScale_
protected

Output geometry scaling after rotate/translate.

Definition at line 208 of file surfaceWriter.H.

◆ geometryCentre_

point geometryCentre_
protected

The centre of rotation (untranslate, translate)

Definition at line 213 of file surfaceWriter.H.

◆ geometryTransform_

coordSystem::cartesian geometryTransform_
protected

Local coordinate system transformation.

Definition at line 218 of file surfaceWriter.H.

◆ upToDate_

bool upToDate_
mutableprotected

The topology/surface is up-to-date?

Definition at line 228 of file surfaceWriter.H.

◆ wroteGeom_

bool wroteGeom_
mutableprotected

Track if geometry has been written since the last open.

Definition at line 233 of file surfaceWriter.H.

Referenced by surfaceWriter::writeTemplate().

◆ parallel_

bool parallel_
protected

Writing in parallel (via master)

Definition at line 238 of file surfaceWriter.H.

◆ useTimeDir_

bool useTimeDir_
protected

Insert additional time sub-directory in the output path.

Definition at line 243 of file surfaceWriter.H.

◆ isPointData_

bool isPointData_
protected

Is point vs cell data.

Definition at line 248 of file surfaceWriter.H.

◆ vertexOutput_

bool vertexOutput_
protected

Output as 1D vertex/point elements instead of faces.

Definition at line 253 of file surfaceWriter.H.

◆ verbose_

bool verbose_
protected

Additional output verbosity.

Definition at line 258 of file surfaceWriter.H.

◆ commType_

UPstream::commsTypes commType_
protected

Communication type (for field merging)

Definition at line 263 of file surfaceWriter.H.

◆ gatherv_

bool gatherv_
protected

Prefer MPI gatherv intrinsic (for field merging) [experimental].

Definition at line 268 of file surfaceWriter.H.

◆ nFields_

label nFields_
protected

The number of fields.

Definition at line 273 of file surfaceWriter.H.

◆ currTime_

instant currTime_
protected

The current time value/name.

Definition at line 278 of file surfaceWriter.H.

◆ outputPath_

fileName outputPath_
protected

The full output directory and file (surface) name.

Definition at line 283 of file surfaceWriter.H.

Referenced by surfaceWriter::is_open().

◆ fieldLevel_

dictionary fieldLevel_
protected

Field level to remove (on output)

Definition at line 288 of file surfaceWriter.H.

◆ fieldScale_

dictionary fieldScale_
protected

Field scaling (on output)

Definition at line 293 of file surfaceWriter.H.

◆ defaultMergeDim

scalar defaultMergeDim
static

The default merge dimension (1e-8)

Definition at line 382 of file surfaceWriter.H.


The documentation for this class was generated from the following files: