Go to the documentation of this file.
44 FatalErrorIn(
"polyMeshGenAddressing::calcCellCells() const")
45 <<
"cellCells already calculated"
62 const label nThreads = 3 * omp_get_num_procs();
66 # pragma omp parallel num_threads(nThreads)
70 # pragma omp for schedule(static)
76 # pragma omp for schedule(static)
86 label neiCell = own[
c[fI]];
87 if( (neiCell == cellI) && (nei[
c[fI]] != -1) )
90 if( neiCell != cellI )
94 nNei[cellI] = neiCells.
size();
108 # pragma omp for schedule(static)
118 label neiCell = own[
c[fI]];
119 if( (neiCell == cellI) && (nei[
c[fI]] != -1) )
120 neiCell = nei[
c[fI]];
122 if( neiCell != cellI )
126 cellCellAddr.
setRow(cellI, neiCells);
139 if( omp_in_parallel() )
142 "const VRWGraph& polyMeshGenAddressing::cellCells() const"
143 ) <<
"Calculating addressing inside a parallel region."
const labelList & neighbour() const
const labelList & owner() const
owner and neighbour cells for faces
void setRow(const label rowI, const ListType &l)
Set row with the list.
#define forAll(list, i)
Loop across all elements in list.
const polyMeshGenCells & mesh_
reference to the mesh
void calcCellCells() const
Calculate cell-cell addressing.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
VRWGraph * ccPtr_
Cell-cells.
const cellListPMG & cells() const
access to cells
void appendIfNotIn(const T &e)
errorManip< error > abort(error &err)
errorManipArg< error, int > exit(error &err, const int errNo=1)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const dimensionedScalar c
Speed of light in a vacuum.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
A cell is defined as a list of faces with extra functionality.
const VRWGraph & cellCells() const
void setSizeAndRowSize(const ListType &)
set the size and row sizes