Loading...
Searching...
No Matches
marchingCells Class Reference

#include <marchingCells.H>

Collaboration diagram for marchingCells:

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

Detailed Description

Definition at line 54 of file marchingCells.H.

Constructor & Destructor Documentation

◆ marchingCells()

◆ ~marchingCells()

virtual ~marchingCells ( )
virtualdefault

Destructor.

Member Function Documentation

◆ initialise()

void initialise ( )
protected

Initialise the active cells from the seeding patches.

Definition at line 36 of file marchingCells.C.

References polyMesh::boundaryMesh(), fvMeshSubset::exposedPatchName, polyPatch::faceCentres(), Foam::faceMap(), fvMeshSubset::faceMap(), polyBoundaryMesh::findPatchID(), forAll, initialised_, mesh_, meshWave_, patchID, seedCellZoneIDs_, seedFaceZoneIDs_, seedPatches_, List< T >::setSize(), polyPatch::start(), and fvMeshSubset::subMesh().

Referenced by update().

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

◆ appendSeedCell()

void appendSeedCell ( const label cellID)
protected

Append cell to seed cells.

Definition at line 99 of file marchingCells.C.

References activeCells_, isActiveCell_, and isFixedCell_.

◆ march()

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

Definition at line 109 of file marchingCells.C.

References List< T >::append(), isActiveCell_, isFixedCell_, march(), marchingStep_, and mesh_.

Referenced by march().

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

◆ TypeName()

TypeName ( "marchingCells" )

Runtime type information.

References dict, and mesh.

◆ getActiveCells()

const labelList & getActiveCells ( ) const
inline

Get the active cells.

Definition at line 202 of file marchingCells.H.

References activeCells_.

◆ numberOfAddedCells()

label numberOfAddedCells ( ) const
inline

Number of newly added cells in the last iteration.

Definition at line 210 of file marchingCells.H.

References addedCells_.

◆ update()

void update ( const label iters = 1)

Update active cells.

Definition at line 181 of file marchingCells.C.

References activeCells_, addedCells_, allCellInfo_, forAll, initialise(), initialised_, HashSet< Key, Hash >::insert(), isActiveCell_, isFixedCell_, iters(), marchingStep_, mesh_, meshWave_, name, nIters_, and regIOobject::write().

Here is the call graph for this function:

◆ setMarchingStep()

void setMarchingStep ( const label step)
inline

Set marching step.

Definition at line 226 of file marchingCells.H.

References marchingStep_.

◆ addFixedCells() [1/2]

void addFixedCells ( const cellZoneMesh & cellZoneMesh,
const labelList & fixedCellZoneIDs )

Add fixed cells through cellZone IDs.

Definition at line 228 of file marchingCells.C.

References isActiveCell_, and isFixedCell_.

◆ addFixedCells() [2/2]

void addFixedCells ( const labelList & fixedCellIDs)

Add fixed cells.

Definition at line 245 of file marchingCells.C.

References isActiveCell_, and isFixedCell_.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Definition at line 61 of file marchingCells.H.

Referenced by initialise(), march(), marchingCells(), and update().

◆ seedPatches_

labelHashSet seedPatches_
protected

Patches used as seeds in the marching algorithm.

Definition at line 66 of file marchingCells.H.

Referenced by initialise(), and marchingCells().

◆ 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 initialise(), and marchingCells().

◆ seedFaceZoneIDs_

labelList seedFaceZoneIDs_
protected

Face zones used as seeds in the marching algorithm.

Definition at line 77 of file marchingCells.H.

Referenced by initialise(), and marchingCells().

◆ marchingStep_

label marchingStep_
protected

Marching step.

Definition at line 82 of file marchingCells.H.

Referenced by march(), marchingCells(), setMarchingStep(), and update().

◆ isActiveCell_

boolList isActiveCell_
protected

Whether each cell is curently active or not.

Definition at line 87 of file marchingCells.H.

Referenced by addFixedCells(), addFixedCells(), appendSeedCell(), march(), marchingCells(), and update().

◆ isFixedCell_

boolList isFixedCell_
protected

Should this cell remain incative.

Definition at line 92 of file marchingCells.H.

Referenced by addFixedCells(), addFixedCells(), appendSeedCell(), march(), marchingCells(), and update().

◆ activeCells_

DynamicList<label> activeCells_
protected

Which are the active cells.

Definition at line 97 of file marchingCells.H.

Referenced by appendSeedCell(), getActiveCells(), marchingCells(), and update().

◆ addedCells_

labelList addedCells_
protected

Which are the added cells.

Definition at line 102 of file marchingCells.H.

Referenced by marchingCells(), numberOfAddedCells(), and update().

◆ initialised_

bool initialised_
protected

Has the initial seeding been conducted.

Definition at line 107 of file marchingCells.H.

Referenced by initialise(), marchingCells(), and update().

◆ nIters_

label nIters_
protected

Iterations conducted thus far.

Definition at line 112 of file marchingCells.H.

Referenced by marchingCells(), and update().

◆ allFaceInfo_

List<wallPointData<bool> > allFaceInfo_
protected

Information for all faces.

Definition at line 117 of file marchingCells.H.

Referenced by marchingCells().

◆ allCellInfo_

List<wallPointData<bool> > allCellInfo_
protected

Information for all cells.

Definition at line 122 of file marchingCells.H.

Referenced by marchingCells(), and update().

◆ 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 initialise(), marchingCells(), and update().


The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/marchingCells/marchingCells.H
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/marchingCells/marchingCells.C