www.cemf.ir
boundaryPeriodic Class Reference
+ Inheritance diagram for boundaryPeriodic:
+ Collaboration diagram for boundaryPeriodic:

Public Member Functions

 TypeInfo ("boundary<periodic>")
 
 boundaryPeriodic (const dictionary &dict, const plane &bplane, internalPoints &internal, boundaryList &bndrs, uint32 thisIndex)
 
 ~boundaryPeriodic () override=default
 
 add_vCtor (boundaryBase, boundaryPeriodic, dictionary)
 
real neighborLength () const override
 The distance length from boundary plane where neighbor particles still exist in that distance. More...
 
realx3 boundaryExtensionLength () const override
 The extention length (in vector form) for the boundary as required by each boundary type. More...
 
bool beforeIteration (uint32 step, const timeInfo &ti, bool updateIter, bool iterBeforeUpdate, bool &callAgain) final
 
bool iterate (const timeInfo &ti) final
 
bool afterIteration (const timeInfo &ti) final
 
- Public Member Functions inherited from boundaryBase
uint32 markInNegativeSide (const word &name, uint32Vector_D &markedIndices) const
 
 TypeInfo ("boundaryBase")
 
 boundaryBase (const dictionary &dict, const plane &bplane, internalPoints &internal, boundaryList &bndrs, uint32 thisIndex)
 
 boundaryBase (const boundaryBase &)=delete
 
boundaryBaseoperator= (const boundaryBase &)=delete
 
 boundaryBase (boundaryBase &&)=default
 
boundaryBaseoperator= (boundaryBase &&)=default
 
 ~boundaryBase () override=default
 
 create_vCtor (boundaryBase, dictionary,(const dictionary &dict, const plane &bplane, internalPoints &internal, boundaryList &bndrs, uint32 thisIndex),(dict, bplane, internal, bndrs, thisIndex))
 
real neighborLengthIntoInternal () const
 The length from boundary plane into the domain where beyond that distance internal points exist. More...
 
bool performBoundarytUpdate () const
 Is this iter the right time for updating bounday list. More...
 
bool iterBeforeBoundaryUpdate () const
 
const wordtype () const
 
const wordname () const
 
bool empty () const
 
auto size () const
 
auto capacity () const
 
int neighborProcessorNo () const
 
int thisProcessorNo () const
 
bool isBoundaryMaster () const
 
uint32 thisBoundaryIndex () const
 
uint32 mirrorBoundaryIndex () const
 
const internalPointsinternal () const
 
internalPointsinternal ()
 
const pointStructurepStruct () const
 
const Timetime () const
 
const auto & indexList () const
 
const auto & indexListHost () const
 
boundaryBasemirrorBoundary ()
 
const boundaryBasemirrorBoundary () const
 
const planeboundaryPlane () const
 the actual boundary plane of this boundary More...
 
virtual realx3 displacementVectroToMirror () const
 displacement vector that transfers points
to a distance that is equal to the distance between this plane and the mirror plane, the vector points from this plane to mirror plane
More...
 
pointFieldAccessType thisPoints () const
 
virtual uint32 neighborProcSize () const
 Return number of points in the neighbor processor boundary. More...
 
virtual realx3Vector_DneighborProcPoints ()
 Return a reference to point positions in the neighbor processor boundary. More...
 
virtual const realx3Vector_DneighborProcPoints () const
 Return a const reference to point positions in the neighbor processor boundary. More...
 
virtual uint32 numToTransfer () const
 
virtual uint32 numToRecieve () const
 
- Public Member Functions inherited from subscriber
 subscriber (const word &name)
 
 subscriber (const subscriber &)
 Copy constructor, only copies the name, not the list. More...
 
 subscriber (subscriber &&)
 Move constructor, moves the name and the list, also change the subriber of the object in the list
More...
 
subscriberoperator= (const subscriber &)
 Copy assignemnt, only assign the name, do not assign the list. More...
 
subscriberoperator= (subscriber &&)
 Move assignment, move assign name and list, also change the subcriber of the object in the list
More...
 
virtual ~subscriber ()
 
virtual bool subscribe (message msg, observer *obsevr) const
 
virtual bool unsubscribe (observer *obsevr) const
 
bool notify (uint32 iter, real t, real dt, const message msg, const anyList &varList)
 
bool notify (const timeInfo &ti, const message msg, const anyList &varList)
 
const wordsubscriberName () const
 

Private Attributes

uint32 mirrorBoundaryIndex_
 
real extensionLength_ = 0.1
 

Additional Inherited Members

- Public Types inherited from boundaryBase
using pointFieldAccessType = deviceScatteredFieldAccess< realx3 >
 
- Static Public Member Functions inherited from boundaryBase
static uniquePtr< boundaryBasecreate (const dictionary &dict, const plane &bplane, internalPoints &internal, boundaryList &bndrs, uint32 thisIndex)
 
- Protected Member Functions inherited from boundaryBase
virtual void setSize (uint32 newSize)
 Set the size of indexList. More...
 
void setUpdateTime (bool val)
 
void setNewIndices (const uint32Vector_D &newIndices)
 
bool appendNewIndices (const uint32Vector_D &newIndices)
 
bool removeIndices (uint32 numRemove, const uint32Vector_D &removeMask)
 
bool setRemoveKeepIndices (const uint32Vector_D &removeIndices, const uint32Vector_D &keepIndices)
 
bool transferPointsToMirror (uint32 numTransfer, const uint32Vector_D &transferMask, uint32 transferBoundaryIndex, realx3 transferVector)
 
void unSyncLists ()
 
void syncLists () const
 
virtual bool updataBoundaryData (int step)
 Update this boundary data in two steps (1 and 2). More...
 
virtual bool transferData (uint32 iter, int step, bool &callAgain)
 This method is called when a transfer of data is to be performed between processors (in afterIteration). More...
 

Detailed Description

Definition at line 30 of file boundaryPeriodic.hpp.

Constructor & Destructor Documentation

◆ boundaryPeriodic()

boundaryPeriodic ( const dictionary dict,
const plane bplane,
internalPoints internal,
boundaryList bndrs,
uint32  thisIndex 
)

Definition at line 27 of file boundaryPeriodic.cpp.

References pFlow::algorithms::KOKKOS::max().

+ Here is the call graph for this function:

◆ ~boundaryPeriodic()

~boundaryPeriodic ( )
overridedefault

Member Function Documentation

◆ TypeInfo()

TypeInfo ( "boundary<periodic>"  )

◆ add_vCtor()

add_vCtor ( boundaryBase  ,
boundaryPeriodic  ,
dictionary   
)

◆ neighborLength()

pFlow::real neighborLength ( ) const
overridevirtual

The distance length from boundary plane where neighbor particles still exist in that distance.

This length may be modified in each boundary type as required. In this case the boundaryExtensionLength method should also be modified accordingly.

Reimplemented from boundaryBase.

Definition at line 42 of file boundaryPeriodic.cpp.

References boundaryPeriodic::extensionLength_, and boundaryBase::neighborLengthIntoInternal().

+ Here is the call graph for this function:

◆ boundaryExtensionLength()

pFlow::realx3 boundaryExtensionLength ( ) const
overridevirtual

The extention length (in vector form) for the boundary as required by each boundary type.

It is allowed for each boundary type to be extended outward to allow particles to stay more in its list before being removed from its list.

Reimplemented from boundaryBase.

Definition at line 47 of file boundaryPeriodic.cpp.

References boundaryBase::boundaryPlane(), and infinitePlane::normal().

+ Here is the call graph for this function:

◆ beforeIteration()

bool beforeIteration ( uint32  step,
const timeInfo ti,
bool  updateIter,
bool  iterBeforeUpdate,
bool &  callAgain 
)
finalvirtual

Reimplemented from boundaryBase.

Definition at line 53 of file boundaryPeriodic.cpp.

References VectorSingle< T, MemorySpace >::deviceViewAll(), VectorSingle< T, MemorySpace >::fill(), and LAMBDA_HD.

+ Here is the call graph for this function:

◆ iterate()

bool iterate ( const timeInfo ti)
finalvirtual

Implements boundaryBase.

Definition at line 125 of file boundaryPeriodic.cpp.

◆ afterIteration()

bool afterIteration ( const timeInfo ti)
finalvirtual

Implements boundaryBase.

Definition at line 130 of file boundaryPeriodic.cpp.

Member Data Documentation

◆ mirrorBoundaryIndex_

uint32 mirrorBoundaryIndex_
private

Definition at line 36 of file boundaryPeriodic.hpp.

◆ extensionLength_

real extensionLength_ = 0.1
private

Definition at line 38 of file boundaryPeriodic.hpp.

Referenced by boundaryPeriodic::neighborLength().


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