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

hexCellLooper Class Reference

Implementation of cellLooper. More...

#include <dynamicMesh/hexCellLooper.H>


Detailed Description

Implementation of cellLooper.

This one walks hexes in a topological way:

  • cross edge to other face
  • cross face by walking edge-point-edge across to reach the other side. (edges are always cut through the middle)

For anything else (tet, prism, .. poly) it will use geomCellLooper (which does a purely geometric cut using a plane through cell centre)

Source files

Definition at line 61 of file hexCellLooper.H.

Inheritance diagram for hexCellLooper:
Collaboration diagram for hexCellLooper:

List of all members.

Public Member Functions

 TypeName ("hexCellLooper")
 Runtime type information.
 hexCellLooper (const polyMesh &mesh)
 Construct from components.
virtual  ~hexCellLooper ()
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.

Protected Attributes

const cellModel &  hex_
 Reference to hex cell shape.

Constructor & Destructor Documentation

hexCellLooper ( const polyMesh &   mesh  )

Construct from components.

Definition at line 160 of file hexCellLooper.C.

~hexCellLooper (  ) [virtual]

Definition at line 169 of file hexCellLooper.C.


Member Function Documentation

TypeName ( "hexCellLooper"    )

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 geomCellLooper.

Reimplemented in topoCellLooper.

Definition at line 176 of file hexCellLooper.C.

References Foam::abort(), cells, geomCellLooper::cut(), Foam::meshTools::cutDirToEdge(), UList< T >::empty(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, Foam::meshTools::getEdgeFaces(), mesh, Foam::name(), points, Foam::Pout, List< T >::setSize(), List< T >::size(), WarningIn, and Foam::meshTools::writeOBJ().

Referenced by topoCellLooper::cut().

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 geomCellLooper.

Reimplemented in topoCellLooper.

Definition at line 281 of file hexCellLooper.C.

References geomCellLooper::cut().


Member Data Documentation

const cellModel& hex_ [protected]

Reference to hex cell shape.

Definition at line 71 of file hexCellLooper.H.


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