FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

topoCellLooper Class Reference

Implementation of cellLooper. This one recognizes splitHexes and tries to make a cut such that if the neighbour was split (in a previous iteration) this one also gets split in the same direction so that the result will be a mesh without splitHexes. More...

#include <dynamicMesh/topoCellLooper.H>


Detailed Description

Implementation of cellLooper. This one recognizes splitHexes and tries to make a cut such that if the neighbour was split (in a previous iteration) this one also gets split in the same direction so that the result will be a mesh without splitHexes.

'splitHexes' are cells of which the 'featureEdges' (see cellFeatures class) form a hex. The remaining non-feature edges are assumed to result from splitting the neighbour and this class tries to start from one of these and cut through to an opposite edge.

The current set of cuts (vertIsCut, edgeIsCut, edgeWeight) are not being used by this implementation.

All non-splitHexes are done by the parent classes.

Source files

Definition at line 67 of file topoCellLooper.H.

Inheritance diagram for topoCellLooper:
Collaboration diagram for topoCellLooper:

List of all members.

Public Member Functions

 TypeName ("topoCellLooper")
 Runtime type information.
 topoCellLooper (const polyMesh &mesh)
 Construct from components.
virtual  ~topoCellLooper ()
virtual bool  cut (const vector &refDir, const label cellI, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const
 Create cut along circumference of cellI. Gets current mesh cuts.
virtual bool  cut (const plane &cutPlane, const label cellI, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const
 Same but now also base point of cut provided (instead of always.

Static Public Attributes

static const scalar  featureCos
 cos of angle for feature recognition (of splitHexes)

Constructor & Destructor Documentation

topoCellLooper ( const polyMesh &   mesh  )

Construct from components.

Definition at line 687 of file topoCellLooper.C.

~topoCellLooper (  ) [virtual]

Definition at line 695 of file topoCellLooper.C.


Member Function Documentation

TypeName ( "topoCellLooper"    )

Runtime type information.

bool cut ( const vector &   refDir,
const label   cellI,
const boolList &   vertIsCut,
const boolList &   edgeIsCut,
const scalarField &   edgeWeight,
labelList &   loop,
scalarField &   loopWeights  
) const [virtual]

Create cut along circumference of cellI. Gets current mesh cuts.

Cut along circumference is expressed as loop of cuts plus weights for cuts along edges (only valid for edge cuts). Return true if successful cut.

Reimplemented from hexCellLooper.

Definition at line 702 of file topoCellLooper.C.

References primitiveMesh::cells(), hexCellLooper::cut(), primitiveMesh::edges(), cellFeatures::faces(), Foam::meshTools::getEdgeFaces(), Foam::isA(), mesh, List< T >::size(), and List< T >::transfer().

bool cut ( const plane &   cutPlane,
const label   cellI,
const boolList &   vertIsCut,
const boolList &   edgeIsCut,
const scalarField &   edgeWeight,
labelList &   loop,
scalarField &   loopWeights  
) const [virtual]

Same but now also base point of cut provided (instead of always.

cell centre)

Reimplemented from hexCellLooper.

Definition at line 813 of file topoCellLooper.C.

References hexCellLooper::cut().


Member Data Documentation

const Foam::scalar featureCos [static]
Initial value:

cos of angle for feature recognition (of splitHexes)

Definition at line 162 of file topoCellLooper.H.


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