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 >::GradType GradType
 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...
 
GradType 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< GradType > > 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 &&)
 Move 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...
 
virtual bool global () const
 Return true if object is global, i.e. same for all processors. More...
 
virtual bool globalFile () const
 Return true if object is global, i.e. same for all processors. More...
 
const fileNamecaseName () const
 
fileName path () const
 Return complete path. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName filePath () const
 Return complete path + object name if the file exists. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from registry. More...
 
void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool registered () const
 Is this object registered with the registry? 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...
 
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...
 
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 dependenciesModified () const
 Return true if the object's dependencies have been modified. More...
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) 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 &)
 Assign to IOobject. More...
 
void operator= (const regIOobject &)=delete
 Disallow default assignment. More...
 
const fileNamecaseName (const bool global) const
 
fileName path (const bool global) const
 Return complete path including the processor sub-directory. More...
 
fileName objectPath (const bool global) const
 Return complete path + object name including the processor. More...
 
fileName filePath (const word &typeName, const bool global) const
 Return complete path + object name if the file exists. More...
 
- 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...
 
const fileNamerootPath () const
 
const fileNamecaseName (const bool global) const
 
fileNameinstance () const
 Return the instance directory, constant, system, <time> etc. More...
 
void updateInstance () const
 If the instance is a time directory update to the current time. More...
 
const fileNamelocal () const
 
fileName path (const bool global) const
 Return complete path including the processor sub-directory. More...
 
fileName objectPath (const bool global) const
 Return complete path + object name including the processor. More...
 
fileName relativePath () const
 Return the path relative to the case directory. More...
 
fileName relativeObjectPath () const
 Return complete relativePath + object name. More...
 
fileName filePath (const word &typeName, const bool global) const
 Return complete path + object name if the file exists. More...
 
bool readHeader (Istream &)
 Read header. More...
 
bool headerOk ()
 Read header of local object without type-checking. 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)
 
- 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 reuse 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...
 
void operator= (const refCount &)=delete
 Disallow bitwise assignment. 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 reuse 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 shrink ()
 Shrink the allocated space to the number of elements used. 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 > > &)
 Append an element at the end of the list. More...
 
void append (const tmp< Field< Type > > &)
 Append an element at the end of the list. More...
 
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 reuse 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 append (T *)
 Append an element at the end of the list. 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...
 
template<class T2 >
UPtrList< T2 > convert ()
 Convert to list of different pointer type. More...
 
template<class T2 >
UPtrList< const T2 > convert () const
 Convert to list of different pointer type. 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...
 
Toperator() (const label)
 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...
 
template<class T2 >
Foam::UPtrList< T2 > convert ()
 
template<class T2 >
Foam::UPtrList< const T2 > convert () const
 

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 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 GradType
 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 defaultFormat, const word &typeName)
 Read header, check readOpt flags and read data if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &)
 Set the object state to bad. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType)
 Read header using typeGlobalFile to find file. More...
 
- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initialising count to 0. More...
 
 refCount (const refCount &)=delete
 Disallow copy. 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

◆ GradType

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 
)

◆ Dual() [2/2]

Dual ( const Dual< Type > &  am)

Construct a copy.

Definition at line 85 of file Dual.C.

◆ ~Dual()

~Dual
virtual

Destructor.

Definition at line 101 of file Dual.C.

Member Function Documentation

◆ TypeName()

TypeName ( "dual"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Implements AveragingMethod< Type >.

Definition at line 125 of file Dual.H.

◆ 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 122 of file Dual.C.

References tetIndices::cell(), and tetIndices::faceTriIs().

Here is the call graph for this function:

◆ interpolate()

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

Interpolate.

Implements AveragingMethod< Type >.

Definition at line 145 of file Dual.C.

References tetIndices::cell(), and tetIndices::faceTriIs().

Here is the call graph for this function:

◆ interpolateGrad()

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

Interpolate gradient.

Implements AveragingMethod< Type >.

Definition at line 163 of file Dual.C.

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

Here is the call 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 AveragingMethod< Type >::average().

Here is the call graph for this function:

◆ average() [2/2]

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

Reimplemented from AveragingMethod< Type >.

Definition at line 211 of file Dual.C.

References AveragingMethod< Type >::average().

Here is the call graph for this function:

◆ primitiveField()

Foam::tmp< Foam::Field< Type > > primitiveField
virtual

Return an internal field of the average.

Implements AveragingMethod< Type >.

Definition at line 224 of file Dual.C.

◆ internalFieldGrad()

tmp<Field<GradType> > internalFieldGrad ( ) const

Return an internal field of the gradient.


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