OpenFOAM logo
The Open Source CFD Toolbox
  Source Guide OpenCFD Solutions Contact OpenFOAM

polyPatch Class Reference

A patch is a list of labels that address the faces in the global face list. More...

Inheritance diagram for polyPatch:
Collaboration diagram for polyPatch:

List of all members.


Public Member Functions

 TypeName ("patch")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, polyPatch, word,(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm),(name, size, start, index, bm))
 declareRunTimeSelectionTable (autoPtr, polyPatch, dictionary,(const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm),(name, dict, index, bm))
 polyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
 Construct from components.
 polyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 Construct from dictionary.
 polyPatch (const polyPatch &, const polyBoundaryMesh &)
 Construct as copy, resetting the boundary mesh.
 polyPatch (const polyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart)
 Construct given the original patch and resetting the.
 polyPatch (const polyPatch &)
 Construct as copy.
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm) const
 Construct and return a clone, resetting the boundary mesh.
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const
 Construct and return a clone, resetting the face list.
virtual ~polyPatch ()
label start () const
 Return start label of this patch in the polyMesh face list.
const polyBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference.
virtual bool coupled () const
 Return true if this patch field is coupled.
template<class T >
const List< T >::subList patchSlice (const List< T > &l) const
 Slice list to patch.
template<class T >
const Field< T >::subField patchSlice (const Field< T > &l) const
 Slice Field to patch.
virtual void write (Ostream &) const
 Write the polyPatch data as a dictionary.
const vectorField::subField faceCentres () const
 Return face centres.
const vectorField::subField faceAreas () const
 Return face normals.
tmp< vectorFieldfaceCellCentres () const
 Return face neighbour cell centres.
const unallocLabelListfaceCells () const
 Return face-cell addressing.
const labelListmeshEdges () const
 Return global edge index for local edges.
void clearAddressing ()
 Clear addressing.
label whichFace (const label l) const
 Return label of face in patch from global face label.
virtual void initOrder (const primitivePatch &) const
 Initialize ordering for primitivePatch. Does not.
virtual bool order (const primitivePatch &, labelList &faceMap, labelList &rotation) const
 Return new ordering for primitivePatch.
void operator= (const polyPatch &)
 Assignment.

Static Public Member Functions

static autoPtr< polyPatchNew (const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
 Return a pointer to a new patch created on freestore from.
static autoPtr< polyPatchNew (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 Return a pointer to a new patch created on freestore from.
static bool constraintType (const word &pt)
 Return true if the given type is a constraint type.
static wordList constraintTypes ()
 Return a list of all the constraint patch types.

Static Public Attributes

static int disallowGenericPolyPatch
 Debug switch to disallow the use of genericPolyPatch.

Protected Member Functions

virtual void initGeometry ()
 Initialise the calculation of the patch geometry.
virtual void calcGeometry ()
 Calculate the patch geometry.
virtual void initMovePoints (const pointField &)
 Initialise the patches for moving points.
virtual void movePoints (const pointField &p)
 Correct patches after moving points.
virtual void initUpdateMesh ()
 Initialise the update of the patch topology.
virtual void updateMesh ()
 Update of the patch topology.

Friends

class polyBoundaryMesh
Ostreamoperator<< (Ostream &, const polyPatch &)

Detailed Description

A patch is a list of labels that address the faces in the global face list.

The patch can calculate its own edges based on the global faces. Patch also contains all addressing between the faces.

Source files

Definition at line 61 of file polyPatch.H.


Constructor & Destructor Documentation

polyPatch ( const word name,
const label  size,
const label  start,
const label  index,
const polyBoundaryMesh bm 
)

Construct from components.

Definition at line 63 of file polyPatch.C.

References polyPatch::clearAddressing().

Referenced by polyPatch::clone().

Here is the call graph for this function:

Here is the caller graph for this function:

polyPatch ( const word name,
const dictionary dict,
const label  index,
const polyBoundaryMesh bm 
)

Construct from dictionary.

Definition at line 85 of file polyPatch.C.

polyPatch ( const polyPatch pp,
const polyBoundaryMesh bm 
)

Construct as copy, resetting the boundary mesh.

Definition at line 111 of file polyPatch.C.

polyPatch ( const polyPatch pp,
const polyBoundaryMesh bm,
const label  index,
const label  newSize,
const label  newStart 
)

Construct given the original patch and resetting the.

face list and boundary mesh information

Definition at line 135 of file polyPatch.C.

polyPatch ( const polyPatch p  ) 

Construct as copy.

Definition at line 161 of file polyPatch.C.

~polyPatch (  )  [virtual]

Definition at line 174 of file polyPatch.C.


Member Function Documentation

virtual void initGeometry (  )  [inline, protected, virtual]

Initialise the calculation of the patch geometry.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 98 of file polyPatch.H.

virtual void calcGeometry (  )  [inline, protected, virtual]

Calculate the patch geometry.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 102 of file polyPatch.H.

virtual void initMovePoints ( const pointField  )  [inline, protected, virtual]

Initialise the patches for moving points.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 106 of file polyPatch.H.

void movePoints ( const pointField p  )  [protected, virtual]

Correct patches after moving points.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 49 of file polyPatch.C.

Referenced by polyPatch::updateMesh().

Here is the caller graph for this function:

virtual void initUpdateMesh (  )  [inline, protected, virtual]

Initialise the update of the patch topology.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 113 of file polyPatch.H.

void updateMesh (  )  [protected, virtual]

Update of the patch topology.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 54 of file polyPatch.C.

References polyPatch::movePoints().

Here is the call graph for this function:

TypeName ( "patch"   ) 

Runtime type information.

declareRunTimeSelectionTable ( autoPtr  ,
polyPatch  ,
word  ,
(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)  ,
(name, size, start, index, bm)   
)

declareRunTimeSelectionTable ( autoPtr  ,
polyPatch  ,
dictionary  ,
(const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)  ,
(name, dict, index, bm)   
)

virtual autoPtr<polyPatch> clone ( const polyBoundaryMesh bm  )  const [inline, virtual]

Construct and return a clone, resetting the boundary mesh.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, genericPolyPatch, cyclicPolyPatch, emptyPolyPatch, processorPolyPatch, symmetryPolyPatch, wedgePolyPatch, and wallPolyPatch.

Definition at line 202 of file polyPatch.H.

virtual autoPtr<polyPatch> clone ( const polyBoundaryMesh bm,
const label  index,
const label  newSize,
const label  newStart 
) const [inline, virtual]

Construct and return a clone, resetting the face list.

and boundary mesh

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, genericPolyPatch, cyclicPolyPatch, emptyPolyPatch, processorPolyPatch, symmetryPolyPatch, wedgePolyPatch, and wallPolyPatch.

Definition at line 212 of file polyPatch.H.

References polyPatch::polyPatch().

Here is the call graph for this function:

Foam::autoPtr< Foam::polyPatch > New ( const word patchType,
const word name,
const label  size,
const label  start,
const label  index,
const polyBoundaryMesh bm 
) [static]

Return a pointer to a new patch created on freestore from.

components

Definition at line 24 of file newPolyPatch.C.

References Foam::endl(), FatalErrorIn, and Foam::Info.

Here is the call graph for this function:

Foam::autoPtr< Foam::polyPatch > New ( const word name,
const dictionary dict,
const label  index,
const polyBoundaryMesh bm 
) [static]

Return a pointer to a new patch created on freestore from.

dictionary

Definition at line 62 of file newPolyPatch.C.

const Foam::polyBoundaryMesh & boundaryMesh (  )  const

Return boundaryMesh reference.

Definition at line 214 of file polyPatch.C.

Referenced by polyPatch::faceCellCentres(), cyclicPolyPatch::order(), and directMappedPatchBase::samplePolyPatch().

Here is the caller graph for this function:

virtual bool coupled (  )  const [inline, virtual]

Return true if this patch field is coupled.

Reimplemented in coupledPolyPatch.

Definition at line 272 of file polyPatch.H.

Referenced by removeCells::getExposedFaces(), and meshRefinement::mergePatchFaces().

Here is the caller graph for this function:

bool constraintType ( const word pt  )  [static]

Return true if the given type is a constraint type.

Definition at line 182 of file polyPatch.C.

References polyPatch::clearAddressing().

Here is the call graph for this function:

Foam::wordList constraintTypes (  )  [static]

Return a list of all the constraint patch types.

Definition at line 188 of file polyPatch.C.

const List<T>::subList patchSlice ( const List< T > &  l  )  const [inline]

Slice list to patch.

Definition at line 285 of file polyPatch.H.

Referenced by polyPatch::faceCellCentres().

Here is the caller graph for this function:

const Field<T>::subField patchSlice ( const Field< T > &  l  )  const [inline]

Slice Field to patch.

Definition at line 292 of file polyPatch.H.

void write ( Ostream os  )  const [virtual]

Write the polyPatch data as a dictionary.

Reimplemented from patchIdentifier.

Reimplemented in directMappedPolyPatch, directMappedWallPolyPatch, genericPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 292 of file polyPatch.C.

References Foam::deleteDemandDrivenData().

Referenced by polyPatch::initOrder().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::vectorField::subField faceCentres (  )  const

Return face centres.

Definition at line 220 of file polyPatch.C.

const Foam::vectorField::subField faceAreas (  )  const

Return face normals.

Definition at line 226 of file polyPatch.C.

Referenced by polyPatch::faceCellCentres().

Here is the caller graph for this function:

Foam::tmp< Foam::vectorField > faceCellCentres (  )  const

Return face neighbour cell centres.

Definition at line 233 of file polyPatch.C.

References polyPatch::boundaryMesh(), polyPatch::faceAreas(), mesh, and polyPatch::patchSlice().

Here is the call graph for this function:

const Foam::unallocLabelList & faceCells (  )  const

Return face-cell addressing.

Definition at line 252 of file polyPatch.C.

const Foam::labelList & meshEdges (  )  const

Return global edge index for local edges.

Definition at line 266 of file polyPatch.C.

Referenced by syncTools::syncEdgeList().

Here is the caller graph for this function:

void clearAddressing (  ) 

Clear addressing.

Definition at line 285 of file polyPatch.C.

Referenced by polyPatch::constraintType(), and polyPatch::polyPatch().

Here is the caller graph for this function:

label whichFace ( const label  l  )  const [inline]

Return label of face in patch from global face label.

Definition at line 329 of file polyPatch.H.

void initOrder ( const primitivePatch  )  const [virtual]

Initialize ordering for primitivePatch. Does not.

refer to *this (except for name() and type() etc.)

Reimplemented in coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 301 of file polyPatch.C.

References token::END_STATEMENT, Foam::nl, Foam::type(), polyPatch::write(), and Ostream::writeKeyword().

Here is the call graph for this function:

bool order ( const primitivePatch ,
labelList faceMap,
labelList rotation 
) const [virtual]

Return new ordering for primitivePatch.

Ordering is -faceMap: for every face index of the new face -rotation:for every new face the clockwise shift of the original face. Return false if nothing changes (faceMap is identity, rotation is 0), true otherwise.

Reimplemented in coupledPolyPatch, cyclicPolyPatch, and processorPolyPatch.

Definition at line 306 of file polyPatch.C.

void operator= ( const polyPatch p  ) 

Assignment.

Definition at line 319 of file polyPatch.C.


Friends And Related Function Documentation

friend class polyBoundaryMesh [friend]

Definition at line 95 of file polyPatch.H.

Ostream& operator<< ( Ostream ,
const polyPatch  
) [friend]


Member Data Documentation

Debug switch to disallow the use of genericPolyPatch.

Definition at line 126 of file polyPatch.H.


The documentation for this class was generated from the following files:
  • src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.H
  • src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/newPolyPatch.C
  • src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatch.C
Copyright © 2000-2009 OpenCFD Ltd