Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
cellModel Class Reference

Maps a geometry to a set of cell primitives. More...

Collaboration diagram for cellModel:
Collaboration graph
[legend]

Public Types

enum  modelType {
  UNKNOWN = 0, HEX = 3, WEDGE = 4, PRISM = 5,
  PYR = 6, TET = 7, SPLITHEX = 8, TETWEDGE = 9
}
 

Public Member Functions

 cellModel (Istream &is)
 
autoPtr< cellModelclone () const
 
const wordname () const noexcept
 
label index () const noexcept
 
label nPoints () const noexcept
 
label nEdges () const noexcept
 
label nFaces () const noexcept
 
const edgeListmodelEdges () const noexcept
 
const faceListmodelFaces () const noexcept
 
edgeList edges (const labelUList &pointLabels) const
 
faceList faces (const labelUList &pointLabels) const
 
Foam::edge edge (const label modelEdgei, const labelUList &pointLabels) const
 
Foam::face face (const label modelFacei, const labelUList &pointLabels) const
 
vector centre (const labelList &pointLabels, const UList< point > &points) const
 
scalar mag (const labelList &pointLabels, const UList< point > &points) const
 
InfoProxy< cellModelinfo () const
 
bool writeData (Ostream &os) const
 

Static Public Member Functions

static const cellModelptr (const modelType model)
 
static const cellModelptr (const word &modelName)
 
static const cellModelptr (const label modelIndex)
 
static const cellModelref (const modelType model)
 
static const cellModelref (const word &modelName)
 
static const cellModelref (const label modelIndex)
 
static autoPtr< cellModelNew (Istream &is)
 

Static Public Attributes

static const Enum< modelTypemodelNames
 

Friends

Ostreamoperator<< (Ostream &os, const cellModel &cm)
 

Detailed Description

Maps a geometry to a set of cell primitives.

This enables geometric cell data to be calculated without access to the primitive geometric level. This means mapping a 3D geometry to a set of pyramids which are each described by a cell face and the cell centre point.

Also includes a static collection of cell models (normally loaded from etc/cellModels), and a means of looking them up.

Source files

Definition at line 68 of file cellModel.H.

Member Enumeration Documentation

◆ modelType

enum modelType
Enumerator
UNKNOWN 

unknown

HEX 

hex

WEDGE 

wedge

PRISM 

prism

PYR 

pyr

TET 

tet

SPLITHEX 

splitHex

TETWEDGE 

tetWedge

Definition at line 74 of file cellModel.H.

Constructor & Destructor Documentation

◆ cellModel()

cellModel ( Istream is)
explicit

Definition at line 27 of file cellModelIO.C.

References dict, dictionaryEntry::dict(), entry::keyword(), and dictionary::null.

Here is the call graph for this function:

Member Function Documentation

◆ ptr() [1/3]

const Foam::cellModel * ptr ( const modelType  model)
static

Definition at line 113 of file cellModels.C.

Referenced by cellModeller::lookup(), cellMatcher::model(), STARCDMeshReader::readCells(), hexCell::shape(), tetCell::shape(), and shapeToCell::shapeToCell().

Here is the caller graph for this function:

◆ ptr() [2/3]

const Foam::cellModel * ptr ( const word modelName)
static

Definition at line 119 of file cellModels.C.

References n, and Foam::name().

Here is the call graph for this function:

◆ ptr() [3/3]

const Foam::cellModel * ptr ( const label  modelIndex)
static

Definition at line 139 of file cellModels.C.

◆ ref() [1/3]

const Foam::cellModel & ref ( const modelType  model)
static

Definition at line 150 of file cellModels.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and p.

Referenced by voxelMeshSearch::makeMesh(), STARCDMeshReader::readBoundary(), STARCDMeshReader::readCells(), ABAQUSCore::readHelper::readSurfaceElements(), vtuSizing::reset(), vtuSizing::resetShapes(), and writer::writer().

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

◆ ref() [2/3]

const Foam::cellModel & ref ( const word modelName)
static

Definition at line 165 of file cellModels.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and p.

Here is the call graph for this function:

◆ ref() [3/3]

const Foam::cellModel & ref ( const label  modelIndex)
static

Definition at line 180 of file cellModels.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and p.

Here is the call graph for this function:

◆ New()

static autoPtr<cellModel> New ( Istream is)
inlinestatic

Definition at line 156 of file cellModel.H.

References autoPtr::New().

Here is the call graph for this function:

◆ clone()

autoPtr<cellModel> clone ( ) const
inline

Definition at line 162 of file cellModel.H.

References autoPtr::New().

Here is the call graph for this function:

◆ name()

const Foam::word & name ( ) const
inlinenoexcept

Definition at line 24 of file cellModelI.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ index()

Foam::label index ( ) const
inlinenoexcept

Definition at line 30 of file cellModelI.H.

Referenced by Foam::operator<<(), STARCDMeshReader::readBoundary(), and writer::writer().

Here is the caller graph for this function:

◆ nPoints()

Foam::label nPoints ( ) const
inlinenoexcept

Definition at line 36 of file cellModelI.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ nEdges()

Foam::label nEdges ( ) const
inlinenoexcept

Definition at line 42 of file cellModelI.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ nFaces()

Foam::label nFaces ( ) const
inlinenoexcept

Definition at line 48 of file cellModelI.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ modelEdges()

const Foam::edgeList & modelEdges ( ) const
inlinenoexcept

Definition at line 54 of file cellModelI.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ modelFaces()

const Foam::faceList & modelFaces ( ) const
inlinenoexcept

Definition at line 60 of file cellModelI.H.

Referenced by Foam::operator<<(), and ABAQUSCore::readHelper::readSurfaceElements().

Here is the caller graph for this function:

◆ edges()

Foam::edgeList edges ( const labelUList pointLabels) const
inline

Definition at line 67 of file cellModelI.H.

References forAll, and pointLabels().

Here is the call graph for this function:

◆ faces()

Foam::faceList faces ( const labelUList pointLabels) const
inline

Definition at line 95 of file cellModelI.H.

References forAll, and pointLabels().

Here is the call graph for this function:

◆ edge()

Foam::edge edge ( const label  modelEdgei,
const labelUList pointLabels 
) const
inline

Definition at line 84 of file cellModelI.H.

References pointLabels().

Here is the call graph for this function:

◆ face()

Foam::face face ( const label  modelFacei,
const labelUList pointLabels 
) const
inline

Definition at line 112 of file cellModelI.H.

References pointLabels().

Here is the call graph for this function:

◆ centre()

Foam::vector centre ( const labelList pointLabels,
const UList< point > &  points 
) const

Definition at line 28 of file cellModel.C.

References Foam::endl(), f(), forAll, pointLabels(), points, WarningInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ mag()

Foam::scalar mag ( const labelList pointLabels,
const UList< point > &  points 
) const

Definition at line 71 of file cellModel.C.

References Foam::endl(), f(), forAll, pointLabels(), points, WarningInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ info()

InfoProxy<cellModel> info ( ) const
inline

Definition at line 228 of file cellModel.H.

Referenced by Foam::operator<<().

Here is the caller graph for this function:

◆ writeData()

bool writeData ( Ostream os) const
inline

Definition at line 234 of file cellModel.H.

References os().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream os,
const cellModel cm 
)
friend

Member Data Documentation

◆ modelNames

const Foam::Enum< Foam::cellModel::modelType > modelNames
static

Definition at line 88 of file cellModel.H.

Referenced by Foam::serializeHex().


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