zoneCellStencils Class Referenceabstract

base class for cell stencil in a narrow band More...

Inheritance diagram for zoneCellStencils:
[legend]
Collaboration diagram for zoneCellStencils:
[legend]

Public Member Functions

 TypeName ("zoneCellStencils")
 
 zoneCellStencils (const fvMesh &)
 Construct from all cells and boundary faces. More...
 
void updateStencil (const boolList &zone)
 Calculates per cell the neighbour data. More...
 
const labelHashSetneedsComm ()
 
const globalIndexglobalNumbering () const
 Global numbering for cells and boundary faces. More...
 
virtual void updateMesh (const mapPolyMesh &mpm)
 
virtual bool movePoints ()
 
- Public Member Functions inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneCellStencils >
 MeshObject (const fvMesh &mesh)
 Construct on Mesh type. More...
 
virtual ~MeshObject ()=default
 Destructor. More...
 
const fvMeshmesh () const
 
virtual bool writeData (Ostream &os) const
 
- Public Member Functions inherited from UpdateableMeshObject< fvMesh >
 UpdateableMeshObject (const word &typeName, const objectRegistry &obr)
 Construct from name and instance on registry. More...
 
- Public Member Functions inherited from MoveableMeshObject< fvMesh >
 MoveableMeshObject (const word &typeName, const objectRegistry &obr)
 Construct from name and instance on registry. More...
 
- Public Member Functions inherited from GeometricMeshObject< fvMesh >
 GeometricMeshObject (const word &typeName, const objectRegistry &obr)
 Construct from name and instance on registry. More...
 
- Public Member Functions inherited from TopologicalMeshObject< fvMesh >
 TopologicalMeshObject (const word &typeName, const objectRegistry &obr)
 Construct from name and instance on registry. More...
 
- Public Member Functions inherited from meshObject
 ClassName ("meshObject")
 
 meshObject (const word &typeName, const objectRegistry &obr)
 Construct from name and instance on registry. More...
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &io, const bool isTime=false)
 
 regIOobject (const regIOobject &rio)
 Copy construct. More...
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 Copy construct with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry, if not already registered. More...
 
bool checkOut ()
 Remove all file watches and 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...
 
bool store ()
 
void release (const bool unregister=false)
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
label & eventNo ()
 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 as up-to-date. 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 valid=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. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
virtual bool modified () const
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) More...
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 Write using stream options. More...
 
virtual bool write (const bool valid=true) const
 Write using setting from DB. More...
 
virtual bool global () const
 Is object global. More...
 
void operator= (const IOobject &io)
 Copy assignment. More...
 
virtual bool writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType comp, const bool valid) const
 Write using given format, version and compression. More...
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Declare type-name, virtual type (with debug switch) More...
 
 IOobject (const IOobject &)=default
 Copy construct. More...
 
virtual ~IOobject ()=default
 Destructor. 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, bool globalObject=false)
 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, bool globalObject=false)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Copy construct, resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Copy construct, resetting name. More...
 
 IOobject (const IOobject &io, readOption, writeOption)
 Copy construct, resetting io options. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const Timetime () const
 Return time. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return non-constant access to the class name read from header. More...
 
const stringnote () const
 Return the optional note. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
bool registerObject () const
 Should object created with this IOobject be registered? More...
 
boolregisterObject ()
 Should object created with this IOobject be registered? More...
 
bool globalObject () const
 Is object same for all processors? More...
 
boolglobalObject ()
 Is object same for all processors? More...
 
unsigned labelByteSize () const
 The label byte-size, possibly read from the header. More...
 
unsigned scalarByteSize () const
 The scalar byte-size, possibly read from the header. More...
 
bool isHeaderClassName (const word &clsName) const
 Test if headerClassName() equals the given class name. More...
 
template<class Type >
bool isHeaderClassName () const
 Test if headerClassName() equals Type::typeName. More...
 
readOption readOpt () const
 The read option. More...
 
readOptionreadOpt ()
 Non-constant access to the read option. More...
 
writeOption writeOpt () const
 The write option. More...
 
writeOptionwriteOpt ()
 Non-constant access to the write option. More...
 
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
 The complete path. More...
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 The complete path with alternative instance and local. More...
 
fileName objectPath () const
 The complete path + object name. More...
 
fileName localFilePath (const word &typeName, const bool search=true) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 Helper for filePath that searches up if in parallel. More...
 
bool readHeader (Istream &is)
 Read header. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 Read header (uses typeFilePath to find file) and check its info. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &os) const
 Write header. More...
 
bool writeHeader (Ostream &os, 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 &io)
 
template<>
bool isHeaderClassName () const
 Specialization for void always returns true (no headerClassName check). More...
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 
template<class StringType >
Foam::word scopedName (StringType scope, const word &name)
 
- Public Member Functions inherited from List< T >
constexpr List () noexcept
 Null constructor. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const T &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const T &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, T &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< T > &a)
 Copy construct from list. More...
 
 List (const UList< T > &a)
 Copy construct contents from list. More...
 
 List (List< T > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< T > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
template<class InputIterator >
 List (InputIterator begIter, InputIterator endIter)
 Construct given begin/end iterators. More...
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< T > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< T > &list)
 Construct as copy of SLList<T> More...
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< T > list)
 Construct from an initializer list. More...
 
 List (List< T > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< T > &&list)
 Move construct from SortableList. More...
 
 List (SLList< T > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< T > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void resize (const label newSize)
 Adjust allocated size of list. More...
 
void resize (const label newSize, const T &val)
 Adjust allocated size of list and set val for new elements. More...
 
void setSize (const label newSize)
 Alias for resize(const label) More...
 
void setSize (const label newSize, const T &val)
 Alias for resize(const label, const T&) More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void append (const T &val)
 Append an element at the end of the list. More...
 
void append (T &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< T > &list)
 Assignment to SLList operator. Takes linear time. More...
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< T > list)
 Assignment to an initializer list. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< T > &&list)
 Move assignment. Takes constant time. More...
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< T > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< T > &&list)
 Move assignment. Takes constant time. More...
 
void shallowCopy (const UList< T > &)=delete
 No shallowCopy permitted. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
template<>
void resize (const label newSize)
 

Protected Member Functions

autoPtr< indirectPrimitivePatchnonEmptyFacesPatch () const
 Return patch of all coupled faces. More...
 
autoPtr< indirectPrimitivePatchallCoupledFacesPatch () const
 Return patch of all coupled faces. More...
 
void validBoundaryFaces (boolList &isValidBFace) const
 Valid boundary faces (not empty and not coupled) More...
 
void insertFaceCells (const label exclude0, const label exclude1, const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
 Collect cell neighbours of faces in global numbering. More...
 
labelList calcFaceCells (const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
 Collect cell neighbours of faces in global numbering. More...
 
virtual void calculateStencil (const boolList &zone, labelListList &globalCellCells)=0
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
IstreamobjectStream ()
 Construct and return an IFstream for the object. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 Set the object state to bad. More...
 

Static Protected Member Functions

static void merge (const label globalI, const labelList &pGlobals, labelList &cCells)
 Merge two lists and guarantee globalI is first. More...
 

Protected Attributes

labelHashSet needComm_
 
globalIndex globalNumbering_
 
- Protected Attributes inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneCellStencils >
const fvMeshmesh_
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from List< T >
typedef SubList< TsubList
 Declare type of subList. More...
 
- Static Public Member Functions inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneCellStencils >
static const zoneCellStencilsNew (const fvMesh &mesh, Args &&... args)
 Get existing or create a new MeshObject. More...
 
static bool Delete (const fvMesh &mesh)
 Static destructor. More...
 
- Static Public Member Functions inherited from meshObject
template<class Mesh >
static void movePoints (objectRegistry &obr)
 
template<class Mesh >
static void updateMesh (objectRegistry &obr, const mapPolyMesh &mpm)
 
template<class Mesh , template< class > class MeshObjectType>
static void clear (objectRegistry &obr)
 
template<class Mesh , template< class > class FromType, template< class > class ToType>
static void clearUpto (objectRegistry &obr)
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 Transfer pointer ownership 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 StringType >
static word groupName (StringType base, const word &group)
 Create dot-delimited name.group string. More...
 
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 StringType >
static word scopedName (StringType scope, const word &name)
 Create scope:name or scope_name string. More...
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 Return the IOobject, but also consider an alternative file name. More...
 
static OstreamwriteBanner (Ostream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
static OstreamwriteDivider (Ostream &os)
 Write the standard file section divider. More...
 
static OstreamwriteEndDivider (Ostream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from List< T >
static const List< T > & null ()
 Return a null List. More...
 
- Static Public Attributes inherited from regIOobject
static float fileModificationSkew
 
static int maxFileModificationPolls
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 Names for the fileCheckTypes. More...
 
static char scopeSeparator
 Character for scoping object names (':' or '_') More...
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 To flag master-only reading of objects. More...
 

Detailed Description

base class for cell stencil in a narrow band

Original code supplied by Henning Scheufler, DLR (2019)

Source files

Definition at line 58 of file zoneCellStencils.H.

Constructor & Destructor Documentation

◆ zoneCellStencils()

zoneCellStencils ( const fvMesh mesh)
explicit

Construct from all cells and boundary faces.

Definition at line 259 of file zoneCellStencils.C.

Member Function Documentation

◆ nonEmptyFacesPatch()

Foam::autoPtr< Foam::indirectPrimitivePatch > nonEmptyFacesPatch ( ) const
protected

Return patch of all coupled faces.

Definition at line 44 of file zoneCellStencils.C.

References polyMesh::boundaryMesh(), polyMesh::faces(), forAll, MeshObject< fvMesh, UpdateableMeshObject, zoneCellStencils >::mesh_, autoPtr< T >::New(), patches, and polyMesh::points().

Here is the call graph for this function:

◆ allCoupledFacesPatch()

Foam::autoPtr< Foam::indirectPrimitivePatch > allCoupledFacesPatch ( ) const
protected

Return patch of all coupled faces.

Definition at line 86 of file zoneCellStencils.C.

References forAll, autoPtr< T >::New(), and patches.

Here is the call graph for this function:

◆ validBoundaryFaces()

void validBoundaryFaces ( boolList isValidBFace) const
protected

Valid boundary faces (not empty and not coupled)

Definition at line 127 of file zoneCellStencils.C.

References forAll, patches, and List< T >::setSize().

Referenced by zoneCPCStencil::zoneCPCStencil().

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

◆ merge()

void merge ( const label  globalI,
const labelList pGlobals,
labelList cCells 
)
staticprotected

Merge two lists and guarantee globalI is first.

Definition at line 150 of file zoneCellStencils.C.

References n, and Foam::BitOps::set().

Here is the call graph for this function:

◆ insertFaceCells()

void insertFaceCells ( const label  exclude0,
const label  exclude1,
const boolList nonEmptyFace,
const labelList faceLabels,
labelHashSet globals 
) const
protected

Collect cell neighbours of faces in global numbering.

Definition at line 185 of file zoneCellStencils.C.

References forAll, and HashSet< Key, Hash >::insert().

Here is the call graph for this function:

◆ calcFaceCells()

Foam::labelList calcFaceCells ( const boolList nonEmptyFace,
const labelList faceLabels,
labelHashSet globals 
) const
protected

Collect cell neighbours of faces in global numbering.

Definition at line 236 of file zoneCellStencils.C.

References HashTable< T, Key, Hash >::clear(), and HashTable< T, Key, Hash >::toc().

Here is the call graph for this function:

◆ calculateStencil()

virtual void calculateStencil ( const boolList zone,
labelListList globalCellCells 
)
protectedpure virtual

Referenced by zoneCellStencils::updateStencil().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "zoneCellStencils"  )

◆ updateStencil()

void updateStencil ( const boolList zone)
inline

Calculates per cell the neighbour data.

(= cell or boundary in global numbering). First element is always cell itself!

Definition at line 134 of file zoneCellStencils.H.

References zoneCellStencils::calculateStencil().

Here is the call graph for this function:

◆ needsComm()

const labelHashSet& needsComm ( )
inline

Definition at line 141 of file zoneCellStencils.H.

References zoneCellStencils::needComm_.

◆ globalNumbering()

const globalIndex& globalNumbering ( ) const
inline

Global numbering for cells and boundary faces.

Definition at line 147 of file zoneCellStencils.H.

References zoneCellStencils::globalNumbering_.

Referenced by zoneDistribute::globalNumbering().

Here is the caller graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh mpm)
virtual

Implements UpdateableMeshObject< fvMesh >.

Reimplemented in zoneCPCStencil.

Definition at line 270 of file zoneCellStencils.C.

References List< T >::clear().

Referenced by zoneCPCStencil::updateMesh().

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

◆ movePoints()

virtual bool movePoints ( )
inlinevirtual

Implements MoveableMeshObject< fvMesh >.

Definition at line 154 of file zoneCellStencils.H.

Member Data Documentation

◆ needComm_

labelHashSet needComm_
protected

Definition at line 67 of file zoneCellStencils.H.

Referenced by zoneCellStencils::needsComm().

◆ globalNumbering_

globalIndex globalNumbering_
protected

Definition at line 69 of file zoneCellStencils.H.

Referenced by zoneCellStencils::globalNumbering().


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