marchingCells Class Reference
Collaboration diagram for marchingCells:

Public Member Functions

 TypeName ("marchingCells")
 Runtime type information. More...
 
 marchingCells (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~marchingCells ()=default
 Destructor. More...
 
const labelListgetActiveCells () const
 Get the active cells. More...
 
label numberOfAddedCells () const
 Number of newly added cells in the last iteration. More...
 
void update (const label iters=1)
 Update active cells. More...
 
void setMarchingStep (const label step)
 Set marching step. More...
 
void addFixedCells (const cellZoneMesh &cellZoneMesh, const labelList &fixedCellZoneIDs)
 Add fixed cells through cellZone IDs. More...
 
void addFixedCells (const labelList &fixedCellIDs)
 Add fixed cells. More...
 

Protected Member Functions

void initialise ()
 Initialise the active cells from the seeding patches. More...
 
void appendSeedCell (const label cellID)
 Append cell to seed cells. More...
 
void march (label nVisited, const label cI, labelList &newlyAddedCells)
 

Protected Attributes

const fvMeshmesh_
 
labelHashSet seedPatches_
 Patches used as seeds in the marching algorithm. More...
 
labelList seedCellZoneIDs_
 Cell zones, the boundary faces of which are used as seeds in the marching algorithm. More...
 
labelList seedFaceZoneIDs_
 Face zones used as seeds in the marching algorithm. More...
 
label marchingStep_
 Marching step. More...
 
boolList isActiveCell_
 Whether each cell is curently active or not. More...
 
boolList isFixedCell_
 Should this cell remain incative. More...
 
DynamicList< label > activeCells_
 Which are the active cells. More...
 
labelList addedCells_
 Which are the added cells. More...
 
bool initialised_
 Has the initial seeding been conducted. More...
 
label nIters_
 Iterations conducted thus far. More...
 
List< wallPointData< bool > > allFaceInfo_
 Information for all faces. More...
 
List< wallPointData< bool > > allCellInfo_
 Information for all cells. More...
 
FaceCellWave< wallPointData< bool > > meshWave_
 Engine propagating the active cells. More...
 

Detailed Description

Definition at line 54 of file marchingCells.H.

Constructor & Destructor Documentation

◆ marchingCells()

marchingCells ( const fvMesh mesh,
const dictionary dict 
)

Construct from components.

Definition at line 139 of file marchingCells.C.

◆ ~marchingCells()

virtual ~marchingCells ( )
virtualdefault

Destructor.

Member Function Documentation

◆ initialise()

◆ appendSeedCell()

void appendSeedCell ( const label  cellID)
protected

Append cell to seed cells.

Definition at line 99 of file marchingCells.C.

◆ march()

void march ( label  nVisited,
const label  cI,
labelList newlyAddedCells 
)
protected

Definition at line 110 of file marchingCells.C.

References List< T >::append().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "marchingCells"  )

Runtime type information.

◆ getActiveCells()

const labelList& getActiveCells ( ) const
inline

Get the active cells.

Definition at line 202 of file marchingCells.H.

References marchingCells::activeCells_.

Referenced by dynamicTopODesignVariables::evolveNumber().

Here is the caller graph for this function:

◆ numberOfAddedCells()

label numberOfAddedCells ( ) const
inline

Number of newly added cells in the last iteration.

Definition at line 210 of file marchingCells.H.

References marchingCells::addedCells_, and UList< T >::size().

Here is the call graph for this function:

◆ update()

void update ( const label  iters = 1)

Update active cells.

Definition at line 181 of file marchingCells.C.

References Foam::ensightOutput::debug, forAll, initialised_(), HashSet< Key, Hash >::insert(), iters(), and Foam::name().

Referenced by dynamicTopODesignVariables::evolveNumber().

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

◆ setMarchingStep()

void setMarchingStep ( const label  step)
inline

Set marching step.

Definition at line 226 of file marchingCells.H.

References marchingCells::marchingStep_.

◆ addFixedCells() [1/2]

void addFixedCells ( const cellZoneMesh cellZoneMesh,
const labelList fixedCellZoneIDs 
)

Add fixed cells through cellZone IDs.

Definition at line 229 of file marchingCells.C.

◆ addFixedCells() [2/2]

void addFixedCells ( const labelList fixedCellIDs)

Add fixed cells.

Definition at line 245 of file marchingCells.C.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Definition at line 61 of file marchingCells.H.

Referenced by marchingCells::initialise().

◆ seedPatches_

labelHashSet seedPatches_
protected

Patches used as seeds in the marching algorithm.

Definition at line 66 of file marchingCells.H.

Referenced by marchingCells::initialise().

◆ seedCellZoneIDs_

labelList seedCellZoneIDs_
protected

Cell zones, the boundary faces of which are used as seeds in the marching algorithm.

Definition at line 72 of file marchingCells.H.

Referenced by marchingCells::initialise().

◆ seedFaceZoneIDs_

labelList seedFaceZoneIDs_
protected

Face zones used as seeds in the marching algorithm.

Definition at line 77 of file marchingCells.H.

Referenced by marchingCells::initialise().

◆ marchingStep_

label marchingStep_
protected

Marching step.

Definition at line 82 of file marchingCells.H.

Referenced by marchingCells::setMarchingStep().

◆ isActiveCell_

boolList isActiveCell_
protected

Whether each cell is curently active or not.

Definition at line 87 of file marchingCells.H.

◆ isFixedCell_

boolList isFixedCell_
protected

Should this cell remain incative.

Definition at line 92 of file marchingCells.H.

◆ activeCells_

DynamicList<label> activeCells_
protected

Which are the active cells.

Definition at line 97 of file marchingCells.H.

Referenced by marchingCells::getActiveCells().

◆ addedCells_

labelList addedCells_
protected

Which are the added cells.

Definition at line 102 of file marchingCells.H.

Referenced by marchingCells::numberOfAddedCells().

◆ initialised_

bool initialised_
protected

Has the initial seeding been conducted.

Definition at line 107 of file marchingCells.H.

Referenced by marchingCells::initialise().

◆ nIters_

label nIters_
protected

Iterations conducted thus far.

Definition at line 112 of file marchingCells.H.

◆ allFaceInfo_

List<wallPointData<bool> > allFaceInfo_
protected

Information for all faces.

Definition at line 117 of file marchingCells.H.

◆ allCellInfo_

List<wallPointData<bool> > allCellInfo_
protected

Information for all cells.

Definition at line 122 of file marchingCells.H.

◆ meshWave_

FaceCellWave<wallPointData<bool> > meshWave_
protected

Engine propagating the active cells.

Uses infrastructure from FaceCellWave, to easily handle parallel interfaces

Definition at line 130 of file marchingCells.H.

Referenced by marchingCells::initialise().


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