Dual< Type > Class Template Reference

Dual-mesh lagrangian averaging procedure. More...

Inheritance diagram for Dual< Type >:
Collaboration diagram for Dual< Type >:

Public Types

typedef AveragingMethod< Type >::TypeGrad TypeGrad
 Gradient type. More...
 
- Public Types inherited from IOobject
enum  objectState { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from FieldField< Field, Type >
typedef pTraits< Type >::cmptType cmptType
 Component type. More...
 
- Public Types inherited from UPtrList< T >
typedef T value_type
 Type of values the UPtrList contains. More...
 
typedef Treference
 Type that can be used for storing into UPtrList::value_type objects. More...
 
typedef const Tconst_reference
 Type that can be used for storing into constant UPtrList::value_type. More...
 

Public Member Functions

 TypeName ("dual")
 Runtime type information. More...
 
 Dual (const IOobject &io, const dictionary &dict, const fvMesh &mesh)
 Constructors. More...
 
 Dual (const Dual< Type > &am)
 Construct a copy. More...
 
virtual autoPtr< AveragingMethod< Type > > clone () const
 Construct and return a clone. More...
 
virtual ~Dual ()
 Destructor. More...
 
void add (const barycentric &coordinates, const tetIndices &tetIs, const Type &value)
 Member Functions. More...
 
Type interpolate (const barycentric &coordinates, const tetIndices &tetIs) const
 Interpolate. More...
 
TypeGrad interpolateGrad (const barycentric &coordinates, const tetIndices &tetIs) const
 Interpolate gradient. More...
 
void average ()
 Calculate the average. More...
 
void average (const AveragingMethod< scalar > &weight)
 
tmp< Field< Type > > primitiveField () const
 Return an internal field of the average. More...
 
tmp< Field< TypeGrad > > internalFieldGrad () const
 Return an internal field of the gradient. More...
 
- Public Member Functions inherited from AveragingMethod< Type >
 TypeName ("averagingMethod")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, AveragingMethod, dictionary,(const IOobject &io, const dictionary &dict, const fvMesh &mesh),(io, dict, mesh))
 Declare runtime constructor selection table. More...
 
 AveragingMethod (const IOobject &io, const dictionary &dict, const fvMesh &mesh, const labelList &size)
 Constructors. More...
 
 AveragingMethod (const AveragingMethod< Type > &am)
 Construct a copy. More...
 
virtual ~AveragingMethod ()
 Destructor. More...
 
virtual bool writeData (Ostream &) const
 Dummy write. More...
 
virtual bool write (const bool write=true) const
 Write using setting from DB. More...
 
void operator= (const AveragingMethod< Type > &x)
 Assign to another average. More...
 
void operator= (const Type &x)
 Assign to value. More...
 
void operator= (tmp< FieldField< Field, Type >> x)
 Assign to tmp. More...
 
void operator+= (tmp< FieldField< Field, Type >> x)
 Add-equal tmp. More...
 
void operator*= (tmp< FieldField< Field, Type >> x)
 Multiply-equal tmp. More...
 
void operator/= (tmp< FieldField< Field, scalar >> x)
 Divide-equal tmp. More...
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &, const bool isTime=false)
 Construct from IOobject. Optional flag for if IOobject is the. More...
 
 regIOobject (const regIOobject &)
 Copy constructor. More...
 
 regIOobject (const regIOobject &, bool registerCopy)
 Copy constructor, transferring registry registration to copy. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Copy constructor with new name, transferring registry registration. More...
 
 regIOobject (const IOobject &, const regIOobject &)
 Copy constructor with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from registry. More...
 
virtual void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool ownedByRegistry () const
 Is this object owned by the registry? More...
 
void store ()
 Transfer ownership of this object to its registry. More...
 
void release ()
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
labeleventNo ()
 Event number at last update. More...
 
bool upToDate (const regIOobject &) const
 Return true if up-to-date with respect to given object. More...
 
bool upToDate (const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
void setUpToDate ()
 Set up to date (obviously) More...
 
virtual void rename (const word &newName)
 Rename. More...
 
virtual fileName filePath () const
 Return complete path + object name if the file exists. More...
 
bool headerOk ()
 Read and check header info. More...
 
IstreamreadStream (const word &, const bool read=true)
 Return Istream and check object type against that given. More...
 
void close ()
 Close Istream. More...
 
virtual bool readData (Istream &)
 Virtual readData function. More...
 
virtual bool read ()
 Read object. More...
 
virtual label addWatch (const fileName &)
 Add file watch for fileName on object if not yet watched. Return. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
virtual bool modified () const
 Return true if the object's file (or files for objectRegistry) More...
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) More...
 
virtual bool global () const
 Is object same for all processors. More...
 
virtual bool writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const
 Write using given format, version and compression. More...
 
void operator= (const IOobject &)
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Construct from copy resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Construct from copy resetting name. More...
 
 IOobject (const IOobject &io)=default
 Copy constructor. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () const
 Return the optional note. More...
 
bool & registerObject ()
 Register object created from this IOobject with registry if true. More...
 
bool registerObject () const
 Register object created from this IOobject with registry if true. More...
 
readOption readOpt () const
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
word modelName (const char *name) const
 Return the name of the object within this model. More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const
 
fileNameinstance ()
 
const fileNamelocal () const
 
fileName path () const
 Return complete path. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
fileName localPath () const
 Return the path relative to the case. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName localObjectPath () const
 Return complete localPath + object name. More...
 
fileName localFilePath (const word &typeName) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName) const
 Helper for filePath that searches up if in parallel. More...
 
bool readHeader (Istream &)
 Read header. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true)
 Read header (uses typeFilePath to find file) and check header. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &) const
 Write header. More...
 
bool writeHeader (Ostream &, const word &objectType) const
 Write header. Allow override of type. More...
 
bool good () const
 
bool bad () const
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 
template<class Name >
Foam::word modelName (Name name, const word &model)
 
- Public Member Functions inherited from FieldField< Field, Type >
 FieldField ()
 Construct null. More...
 
 FieldField (const label)
 Construct given size. More...
 
 FieldField (const word &, const FieldField< Field, Type > &)
 Construct using the Field sizes from the given FieldField. More...
 
 FieldField (const FieldField< Field, Type > &)
 Copy constructor. More...
 
 FieldField (FieldField< Field, Type > &&)
 Move constructor. More...
 
 FieldField (FieldField< Field, Type > &, bool reuse)
 Construct as copy or re-use as specified. More...
 
 FieldField (const PtrList< Field< Type >> &)
 Construct as copy of a PtrList<Field, Type> More...
 
 FieldField (const tmp< FieldField< Field, Type >> &)
 Construct as copy of tmp<FieldField> More...
 
 FieldField (Istream &)
 Construct from Istream. More...
 
tmp< FieldField< Field, Type > > clone () const
 Clone. More...
 
void negate ()
 Negate this field. More...
 
tmp< FieldField< Field, cmptType > > component (const direction) const
 Return a component field of the field. More...
 
void replace (const direction, const FieldField< Field, cmptType > &)
 Replace a component field of the field. More...
 
void replace (const direction, const cmptType &)
 Replace a component field of the field. More...
 
tmp< FieldField< Field, Type > > T () const
 Return the field transpose (only defined for second rank tensors) More...
 
void operator= (const FieldField< Field, Type > &)
 
void operator= (FieldField< Field, Type > &&)
 
void operator= (const tmp< FieldField< Field, Type >> &)
 
void operator= (const Type &)
 
void operator+= (const FieldField< Field, Type > &)
 
void operator+= (const tmp< FieldField< Field, Type >> &)
 
void operator-= (const FieldField< Field, Type > &)
 
void operator-= (const tmp< FieldField< Field, Type >> &)
 
void operator*= (const FieldField< Field, scalar > &)
 
void operator*= (const tmp< FieldField< Field, scalar >> &)
 
void operator/= (const FieldField< Field, scalar > &)
 
void operator/= (const tmp< FieldField< Field, scalar >> &)
 
void operator+= (const Type &)
 
void operator-= (const Type &)
 
void operator*= (const scalar &)
 
void operator/= (const scalar &)
 
- Public Member Functions inherited from refCount
int count () const
 Return the current reference count. More...
 
bool unique () const
 Return true if the reference count is zero. More...
 
void operator++ ()
 Increment the reference count. More...
 
void operator++ (int)
 Increment the reference count. More...
 
void operator-- ()
 Decrement the reference count. More...
 
void operator-- (int)
 Decrement the reference count. More...
 
- Public Member Functions inherited from PtrList< Field< Type > >
 PtrList ()
 Null Constructor. More...
 
 PtrList (const label)
 Construct with size specified. More...
 
 PtrList (const PtrList< Field< Type > > &)
 Copy constructor. More...
 
 PtrList (const PtrList< Field< Type > > &, const CloneArg &)
 Copy constructor with additional argument for clone. More...
 
 PtrList (PtrList< Field< Type > > &&)
 Move constructor. More...
 
 PtrList (PtrList< Field< Type > > &, bool reuse)
 Construct as copy or re-use as specified. More...
 
 PtrList (const SLPtrList< Field< Type > > &)
 Construct as copy of SLPtrList<T> More...
 
 PtrList (Istream &, const INew &)
 Construct from Istream using given Istream constructor class. More...
 
 PtrList (Istream &)
 Construct from Istream using default Istream constructor class. More...
 
 ~PtrList ()
 Destructor. More...
 
void setSize (const label)
 Reset size of PtrList. If extending the PtrList, new entries are. More...
 
void resize (const label)
 Alias for setSize(const label) More...
 
void clear ()
 Clear the PtrList, i.e. set size to zero deleting all the. More...
 
void append (Field< Type > *)
 Append an element at the end of the list. More...
 
void append (const autoPtr< Field< Type > > &)
 
void append (const tmp< Field< Type > > &)
 
void transfer (PtrList< Field< Type > > &)
 Transfer the contents of the argument PtrList into this PtrList. More...
 
bool set (const label) const
 Is element set. More...
 
autoPtr< Field< Type > > set (const label, Field< Type > *)
 Set element to given T* and return old element (can be nullptr) More...
 
autoPtr< Field< Type > > set (const label, const autoPtr< Field< Type > > &)
 Set element to given autoPtr<T> and return old element. More...
 
autoPtr< Field< Type > > set (const label, const tmp< Field< Type > > &)
 Set element to given tmp<T> and return old element. More...
 
void reorder (const labelUList &oldToNew)
 Reorders elements. Ordering does not have to be done in. More...
 
void shuffle (const labelUList &newToOld)
 Reorders elements. Ordering does not have to be done in. More...
 
void operator= (const PtrList< Field< Type > > &)
 Assignment operator. More...
 
void operator= (PtrList< Field< Type > > &&)
 Move assignment operator. More...
 
- Public Member Functions inherited from UPtrList< T >
 UPtrList ()
 Null Constructor. More...
 
 UPtrList (const label)
 Construct with size specified. More...
 
 UPtrList (UPtrList< T > &, bool reuse)
 Construct as copy or re-use as specified. More...
 
label size () const
 Return the number of elements in the UPtrList. More...
 
bool empty () const
 Return true if the UPtrList is empty (ie, size() is zero) More...
 
Tfirst ()
 Return reference to the first element of the list. More...
 
const Tfirst () const
 Return reference to first element of the list. More...
 
Tlast ()
 Return reference to the last element of the list. More...
 
const Tlast () const
 Return reference to the last element of the list. More...
 
void setSize (const label)
 Reset size of UPtrList. This can only be used to set the size. More...
 
void resize (const label)
 Reset size of UPtrList. This can only be used to set the size. More...
 
void clear ()
 Clear the UPtrList, i.e. set size to zero. More...
 
void transfer (UPtrList< T > &)
 Transfer the contents of the argument UPtrList into this. More...
 
bool set (const label) const
 Is element set. More...
 
Tset (const label, T *)
 Set element. Return old element (can be nullptr). More...
 
void reorder (const labelUList &oldToNew)
 Reorders elements. Ordering does not have to be done in. More...
 
void shuffle (const labelUList &newToOld)
 Reorders elements. Ordering does not have to be done in. More...
 
const Toperator[] (const label) const
 Return element const reference. More...
 
Toperator[] (const label)
 Return element reference. More...
 
const Toperator() (const label) const
 Return element const pointer. More...
 
iterator begin ()
 Return an iterator to begin traversing the UPtrList. More...
 
iterator end ()
 Return an iterator to end traversing the UPtrList. More...
 
const_iterator cbegin () const
 Return an const_iterator to begin traversing the UPtrList. More...
 
const_iterator cend () const
 Return an const_iterator to end traversing the UPtrList. More...
 
const_iterator begin () const
 Return an const_iterator to begin traversing the UPtrList. More...
 
const_iterator end () const
 Return an const_iterator to end traversing the UPtrList. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from AveragingMethod< Type >
static autoPtr< AveragingMethod< Type > > New (const IOobject &io, const dictionary &dict, const fvMesh &mesh)
 Selector. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *)
 Transfer ownership of the given object pointer to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &)
 Transfer ownership of the given object pointer to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class Name >
static word groupName (Name name, const word &group)
 
static word group (const word &name)
 Return group (extension part of name) More...
 
static word member (const word &name)
 Return member (name without the extension) More...
 
template<class Name >
static word modelName (Name name, const word &model)
 Return the name of the object within the given model. More...
 
template<class Stream >
static Stream & writeBanner (Stream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
template<class Stream >
static Stream & writeDivider (Stream &os)
 Write the standard file section divider. More...
 
template<class Stream >
static Stream & writeEndDivider (Stream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from FieldField< Field, Type >
template<class Type2 >
static tmp< FieldField< Field, Type > > NewCalculatedType (const FieldField< Field, Type2 > &ff)
 Return a pointer to a new calculatedFvPatchFieldField created on. More...
 
- Static Public Attributes inherited from regIOobject
static float fileModificationSkew
 
- Static Public Attributes inherited from IOobject
static constexpr const char * foamFile = "FoamFile"
 Keyword for the FoamFile header sub-dictionary. More...
 
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
- Protected Types inherited from AveragingMethod< Type >
typedef outerProduct< vector, Type >::type TypeGrad
 Protected typedefs. More...
 
- Protected Member Functions inherited from AveragingMethod< Type >
virtual void updateGrad ()
 Protected member functions. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &)
 Set the object state to bad. More...
 
- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initializing count to 0. More...
 
- Protected Member Functions inherited from PtrList< Field< Type > >
void read (Istream &, const INew &inewt)
 Read from Istream using given Istream constructor class. More...
 
- Protected Attributes inherited from AveragingMethod< Type >
const dictionarydict_
 Protected data. More...
 
const fvMeshmesh_
 The mesh on which the averaging is to be done. More...
 

Detailed Description

template<class Type>
class Foam::AveragingMethods::Dual< Type >

Dual-mesh lagrangian averaging procedure.

Point values are summed using the tetrahedral decomposition of the computational cells. Summation is done in the cells, and also in the tetrahedrons surrounding each point. The latter forms a type of dual mesh. The interpolation is weighted by proximity to the cell centre or point, as calculated by the barycentric coordinate within the tetrahedron.

Values are interpolated linearly across the tetrahedron. Gradients are calculated directly from the point values using a first order finite element basis. The computed gradient is assumed constant over the tetrahedron.

Source files

Definition at line 64 of file Dual.H.

Member Typedef Documentation

◆ TypeGrad

Gradient type.

Definition at line 73 of file Dual.H.

Constructor & Destructor Documentation

◆ Dual() [1/2]

Dual ( const IOobject io,
const dictionary dict,
const fvMesh mesh 
)

Constructors.

Construct from components

Definition at line 48 of file Dual.C.

References tetIndices::faceTriIs(), forAll, tetrahedron< Point, PointRef >::mag(), and tetIndices::tet().

Here is the call graph for this function:

◆ Dual() [2/2]

Dual ( const Dual< Type > &  am)

Construct a copy.

Definition at line 86 of file Dual.C.

◆ ~Dual()

~Dual ( )
virtual

Destructor.

Definition at line 101 of file Dual.C.

References Dual< Type >::add().

Referenced by Dual< Type >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "dual"  )

Runtime type information.

◆ clone()

virtual autoPtr<AveragingMethod<Type> > clone ( ) const
inlinevirtual

◆ add()

void add ( const barycentric coordinates,
const tetIndices tetIs,
const Type &  value 
)
virtual

Member Functions.

Add point value to interpolation

Implements AveragingMethod< Type >.

Definition at line 123 of file Dual.C.

References tetIndices::cell(), tetIndices::faceTriIs(), and Dual< Type >::interpolate().

Referenced by Dual< Type >::clone(), and Dual< Type >::~Dual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate()

Type interpolate ( const barycentric coordinates,
const tetIndices tetIs 
) const
virtual

Interpolate.

Implements AveragingMethod< Type >.

Definition at line 146 of file Dual.C.

References tetIndices::cell(), tetIndices::faceTriIs(), and Dual< Type >::interpolateGrad().

Referenced by Dual< Type >::add(), and Dual< Type >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateGrad()

Foam::AveragingMethods::Dual< Type >::TypeGrad interpolateGrad ( const barycentric coordinates,
const tetIndices tetIs 
) const
virtual

Interpolate gradient.

Implements AveragingMethod< Type >.

Definition at line 164 of file Dual.C.

References tetIndices::cell(), tetIndices::faceTriIs(), Foam::inv(), s(), and T.

Referenced by Dual< Type >::clone(), and Dual< Type >::interpolate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ average() [1/2]

void average ( )
virtual

Calculate the average.

Reimplemented from AveragingMethod< Type >.

Definition at line 202 of file Dual.C.

References Foam::fvc::average().

Referenced by Dual< Type >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ average() [2/2]

void average ( const AveragingMethod< scalar > &  weight)
virtual

Reimplemented from AveragingMethod< Type >.

Definition at line 212 of file Dual.C.

References Foam::fvc::average().

Here is the call graph for this function:

◆ primitiveField()

Foam::tmp< Foam::Field< Type > > primitiveField ( ) const
virtual

Return an internal field of the average.

Implements AveragingMethod< Type >.

Definition at line 224 of file Dual.C.

Referenced by Dual< Type >::clone().

Here is the caller graph for this function:

◆ internalFieldGrad()

tmp<Field<TypeGrad> > internalFieldGrad ( ) const

Return an internal field of the gradient.

Referenced by Dual< Type >::clone().

Here is the caller graph for this function:

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