Public Types | Public Member Functions | List of all members
Dual< Type > Class Template Reference

Dual-mesh lagrangian averaging procedure. More...

Inheritance diagram for Dual< Type >:
Inheritance graph
[legend]
Collaboration diagram for Dual< Type >:
Collaboration graph
[legend]

Public Types

typedef AveragingMethod< Type >::TypeGrad TypeGrad
 Public typedefs. More...
 
- Public Types inherited from regIOobject
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Types of communications. 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...
 
- Public Types inherited from FieldField< Field, Type >
typedef pTraits< Type >::cmptType cmptType
 Component type. More...
 
- Public Types inherited from PtrList< Field< Type > >
typedef Field< Type > value_type
 Type of values the PtrList contains. More...
 
typedef Field< Type > & reference
 Type that can be used for storing into PtrList::value_type objects. More...
 
typedef const Field< Type > & const_reference
 Type that can be used for storing into constant PtrList::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 point position, const tetIndices &tetIs, const Type &value)
 Member Functions. More...
 
Type interpolate (const point position, const tetIndices &tetIs) const
 Interpolate. More...
 
TypeGrad interpolateGrad (const point position, const tetIndices &tetIs) const
 Interpolate gradient. More...
 
void average ()
 Calculate the average. More...
 
void average (const AveragingMethod< scalar > &weight)
 
tmp< Field< Type > > internalField () 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
 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 &)
 Construct as copy. More...
 
 regIOobject (const regIOobject &, bool registerCopy)
 Construct as copy, transferring registry registration to copy. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Construct as copy with new name, transfering registry registration. More...
 
 regIOobject (const IOobject &, const regIOobject &)
 Construct as copy with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from 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...
 
IstreamreadStream (const word &)
 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...
 
label watchIndex () const
 Return file-monitoring handle. More...
 
labelwatchIndex ()
 Return file-monitoring handle. 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 writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType) 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...
 
Foam::autoPtr< IOobjectclone () const
 Clone. 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...
 
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
 
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 objectPath () const
 Return complete path + object name. More...
 
fileName filePath () const
 Return complete path + object name if the file exists. More...
 
bool readHeader (Istream &)
 Read header. More...
 
bool headerOk ()
 Read and check header info. 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 > &)
 Construct as copy. 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= (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
 refCount ()
 Construct null with zero count. More...
 
int count () const
 Return the reference count. More...
 
bool okToDelete () const
 Return true if the reference count is zero. More...
 
void resetRefCount ()
 Reset the reference count to 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 (const Xfer< PtrList< Field< Type > > > &)
 Construct by transferring the parameter contents. 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...
 
label size () const
 Return the number of elements in the PtrList. More...
 
bool empty () const
 Return true if the PtrList is empty (ie, size() is zero). More...
 
Field< Type > & first ()
 Return reference to the first element of the list. More...
 
const Field< Type > & first () const
 Return reference to first element of the list. More...
 
Field< Type > & last ()
 Return reference to the last element of the list. More...
 
const Field< Type > & last () const
 Return reference to the last element of the list. 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...
 
Xfer< PtrList< Field< Type > > > xfer ()
 Transfer contents to the Xfer container. More...
 
bool set (const label) const
 Is element set. More...
 
autoPtr< Field< Type > > set (const label, Field< Type > *)
 Set element. Return old element (can be NULL). More...
 
autoPtr< Field< Type > > set (const label, const autoPtr< Field< Type > > &)
 
autoPtr< Field< Type > > set (const label, const tmp< Field< Type > > &)
 
void reorder (const labelUList &)
 Reorders elements. Ordering does not have to be done in. More...
 
const Field< Type > & operator[] (const label) const
 Return element const reference. More...
 
Field< Type > & operator[] (const label)
 Return element reference. More...
 
const Field< Type > * operator() (const label) const
 Return element const pointer. More...
 
PtrList< Field< Type > > & operator= (const PtrList< Field< Type > > &)
 Assignment. More...
 
iterator begin ()
 Return an iterator to begin traversing the PtrList. More...
 
const_iterator begin () const
 Return an const_iterator to begin traversing the PtrList. More...
 
iterator end ()
 Return an iterator to end traversing the PtrList. More...
 
const_iterator end () const
 Return an const_iterator to end traversing the PtrList. More...
 
const_iterator cbegin () const
 Return an const_iterator to begin traversing the PtrList. More...
 
const_iterator cend () const
 Return an const_iterator to end traversing the PtrList. 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)
 
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 const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static int fileModificationSkew
 
static fileCheckTypes fileModificationChecking
 
- 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 IOobject
IstreamobjectStream ()
 Construct and return an IFstream for the object. More...
 
IstreamobjectStream (const fileName &)
 Construct and return an IFstream for the object given the. More...
 
void setBad (const string &)
 Set the object state to bad. 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...
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 To flag master-only reading of objects. 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 terahedrons 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 tethrahedron.

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

Source files

Definition at line 64 of file Dual.H.

Member Typedef Documentation

Public typedefs.

Gradient type

Definition at line 73 of file Dual.H.

Constructor & Destructor Documentation

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

Constructors.

Construct from components

Definition at line 48 of file Dual.C.

References f(), tetIndices::face(), tetIndices::faceBasePt(), tetIndices::facePtA(), tetIndices::facePtB(), forAll, tetrahedron< Point, PointRef >::mag(), and tetIndices::tet().

Here is the call graph for this function:

Dual ( const Dual< Type > &  am)

Construct a copy.

Definition at line 88 of file Dual.C.

~Dual ( )
virtual

Destructor.

Definition at line 105 of file Dual.C.

References Dual< Type >::add(), tetrahedron< Point, PointRef >::barycentric(), f(), tetIndices::face(), tetIndices::faceBasePt(), tetIndices::facePtA(), tetIndices::facePtB(), Foam::max(), and tetIndices::tet().

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 ( "dual"  )

Runtime type information.

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

Construct and return a clone.

Implements AveragingMethod< Type >.

Definition at line 138 of file Dual.H.

References Dual< Type >::add(), Dual< Type >::average(), Dual< Type >::internalField(), Dual< Type >::internalFieldGrad(), Dual< Type >::interpolate(), Dual< Type >::interpolateGrad(), and Dual< Type >::~Dual().

Here is the call graph for this function:

void add ( const point  position,
const tetIndices tetIs,
const Type &  value 
)
virtual

Member Functions.

Add point value to interpolation

Implements AveragingMethod< Type >.

Definition at line 146 of file Dual.C.

References tetIndices::cell(), 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:

Type interpolate ( const point  position,
const tetIndices tetIs 
) const
virtual

Interpolate.

Implements AveragingMethod< Type >.

Definition at line 169 of file Dual.C.

References tetIndices::cell(), 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:

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

Interpolate gradient.

Implements AveragingMethod< Type >.

Definition at line 187 of file Dual.C.

References tetIndices::cell(), 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:

void average ( )
virtual

Calculate the average.

Reimplemented from AveragingMethod< Type >.

Definition at line 225 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:

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

Reimplemented from AveragingMethod< Type >.

Definition at line 235 of file Dual.C.

References Foam::fvc::average().

Here is the call graph for this function:

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

Return an internal field of the average.

Implements AveragingMethod< Type >.

Definition at line 247 of file Dual.C.

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

Here is the caller graph for this function:

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: