Public Member Functions | List of all members
ijkMesh Class Reference

A simple i-j-k (row-major order) to linear addressing for a rectilinear mesh. Since the underlying mesh is rectilinear, some mesh-related sizing information can be derived directly from the addressing information. More...

Inheritance diagram for ijkMesh:
Inheritance graph
[legend]
Collaboration diagram for ijkMesh:
Collaboration graph
[legend]

Public Member Functions

 ijkMesh ()
 
 ijkMesh (const labelVector &ijk)
 
 ijkMesh (const label nx, const label ny, const label nz)
 
label nPoints () const
 
label nCells () const
 
label nFaces () const
 
label nInternalFaces () const
 
label nBoundaryFaces () const
 
label nBoundaryFaces (const direction shapeFacei) const
 
label cellLabel (const label i, const label j, const label k) const
 
label cellLabel (const labelVector &ijk) const
 
label pointLabel (const label i, const label j, const label k) const
 
label pointLabel (const labelVector &ijk) const
 
hexCell vertLabels (const label i, const label j, const label k) const
 
hexCell vertLabels (const labelVector &ijk) const
 
- Public Member Functions inherited from ijkAddressing
 ijkAddressing ()
 
 ijkAddressing (const labelVector &ijk)
 
 ijkAddressing (const label ni, const label nj, const label nk)
 
bool empty () const
 
const labelVectorsizes () const
 
labelVectorsizes ()
 
label size () const
 
const label & size (const vector::components cmpt) const
 
void clear ()
 
void reset (const label ni, const label nj, const label nk)
 
void reset (const labelVector &newSizes)
 
label index (const label i, const label j, const label k) const
 
label index (const labelVector &ijk) const
 
labelVector index (const label idx) const
 
void checkIndex (const label i, const label j, const label k, const bool allowExtra=false) const
 
void checkIndex (const labelVector &ijk, const bool allowExtra=false) const
 
void checkSizes () const
 
void checkSizes (const labelVector &other) const
 
void checkSizes (const label nTotal) const
 

Detailed Description

A simple i-j-k (row-major order) to linear addressing for a rectilinear mesh. Since the underlying mesh is rectilinear, some mesh-related sizing information can be derived directly from the addressing information.

Source files

Definition at line 53 of file ijkMesh.H.

Constructor & Destructor Documentation

◆ ijkMesh() [1/3]

ijkMesh ( )
inline

Definition at line 23 of file ijkMeshI.H.

◆ ijkMesh() [2/3]

ijkMesh ( const labelVector ijk)
inlineexplicit

Definition at line 29 of file ijkMeshI.H.

◆ ijkMesh() [3/3]

ijkMesh ( const label  nx,
const label  ny,
const label  nz 
)
inline

Definition at line 36 of file ijkMeshI.H.

Member Function Documentation

◆ nPoints()

Foam::label nPoints ( ) const
inline

Definition at line 48 of file ijkMeshI.H.

References ijkAddressing::empty(), n, and ijkAddressing::sizes().

Referenced by Foam::operator<<().

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

◆ nCells()

Foam::label nCells ( ) const
inline

Definition at line 61 of file ijkMeshI.H.

References ijkAddressing::size().

Referenced by PDRblock::location::checkIndex(), and Foam::operator<<().

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

◆ nFaces()

Foam::label nFaces ( ) const
inline

Definition at line 67 of file ijkMeshI.H.

References ijkAddressing::empty(), n, and ijkAddressing::sizes().

Referenced by Foam::operator<<().

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

◆ nInternalFaces()

Foam::label nInternalFaces ( ) const
inline

Definition at line 85 of file ijkMeshI.H.

References ijkAddressing::empty(), n, and ijkAddressing::sizes().

Referenced by Foam::operator<<().

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

◆ nBoundaryFaces() [1/2]

Foam::label nBoundaryFaces ( ) const
inline

Definition at line 103 of file ijkMeshI.H.

References ijkAddressing::empty(), n, and ijkAddressing::sizes().

Here is the call graph for this function:

◆ nBoundaryFaces() [2/2]

Foam::label nBoundaryFaces ( const direction  shapeFacei) const
inline

Definition at line 122 of file ijkMeshI.H.

References ijkAddressing::empty(), n, and ijkAddressing::sizes().

Here is the call graph for this function:

◆ cellLabel() [1/2]

Foam::label cellLabel ( const label  i,
const label  j,
const label  k 
) const
inline

Definition at line 159 of file ijkMeshI.H.

References ijkAddressing::index(), and k.

Here is the call graph for this function:

◆ cellLabel() [2/2]

Foam::label cellLabel ( const labelVector ijk) const
inline

Definition at line 169 of file ijkMeshI.H.

References ijkAddressing::index().

Here is the call graph for this function:

◆ pointLabel() [1/2]

Foam::label pointLabel ( const label  i,
const label  j,
const label  k 
) const
inline

Definition at line 176 of file ijkMeshI.H.

References k, and n.

Referenced by Foam::facePoint(), Foam::facePointN(), and ijkMesh::vertLabels().

Here is the caller graph for this function:

◆ pointLabel() [2/2]

Foam::label pointLabel ( const labelVector ijk) const
inline

Definition at line 192 of file ijkMeshI.H.

References n, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ vertLabels() [1/2]

Foam::hexCell vertLabels ( const label  i,
const label  j,
const label  k 
) const

Definition at line 26 of file ijkMesh.C.

References k, and ijkMesh::pointLabel().

Here is the call graph for this function:

◆ vertLabels() [2/2]

Foam::hexCell vertLabels ( const labelVector ijk) const

Definition at line 43 of file ijkMesh.C.

References Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

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