FreeFOAM The Cross-Platform CFD Toolkit
autoSnapDriver Class Reference

All to do with snapping to surface. More...

#include <autoMesh/autoSnapDriver.H>


Detailed Description

List of all members.

Classes

class  minMagEqOp
 Combine operator class for equalizing displacements.

Public Member Functions

 ClassName ("autoSnapDriver")
 Runtime type information.
 autoSnapDriver (meshRefinement &meshRefiner, const labelList &globalToPatch)
 Construct from components.
autoPtr< mapPolyMeshcreateZoneBaffles (List< labelPair > &)
 Create baffles for faces straddling zoned surfaces. Return.
autoPtr< mapPolyMeshmergeZoneBaffles (const List< labelPair > &)
 Merge baffles.
scalarField calcSnapDistance (const snapParameters &snapParams, const indirectPrimitivePatch &) const
 Calculate edge length per patch point.
void preSmoothPatch (const snapParameters &snapParams, const label nInitErrors, const List< labelPair > &baffles, motionSmoother &) const
 Smooth the mesh (patch and internal) to increase visibility.
labelList getZoneSurfacePoints (const indirectPrimitivePatch &, const word &zoneName) const
 Get points both on patch and facezone.
vectorField calcNearestSurface (const scalarField &snapDist, motionSmoother &meshMover) const
 Per patch point calculate point on nearest surface. Set as.
void smoothDisplacement (const snapParameters &snapParams, motionSmoother &) const
 Smooth the displacement field to the internal.
void scaleMesh (const snapParameters &snapParams, const label nInitErrors, const List< labelPair > &baffles, motionSmoother &)
 Do the hard work: move the mesh according to displacement,.
autoPtr< mapPolyMeshrepatchToSurface (const snapParameters &snapParams, const labelList &adaptPatchIDs)
 Repatch faces according to surface nearest the face centre.
void doSnap (const dictionary &snapDict, const dictionary &motionDict, const snapParameters &snapParams)

Constructor & Destructor Documentation

autoSnapDriver ( meshRefinement meshRefiner,
const labelList globalToPatch 
)

Construct from components.

Definition at line 667 of file autoSnapDriver.C.


Member Function Documentation

ClassName ( "autoSnapDriver"  )

Runtime type information.

Foam::autoPtr< Foam::mapPolyMesh > mergeZoneBaffles ( const List< labelPair > &  baffles)

Merge baffles.

Definition at line 765 of file autoSnapDriver.C.

References Foam::endl(), Foam::Info, Foam::nl, Foam::returnReduce(), and List< T >::size().

void preSmoothPatch ( const snapParameters snapParams,
const label  nInitErrors,
const List< labelPair > &  baffles,
motionSmoother meshMover 
) const
void scaleMesh ( const snapParameters snapParams,
const label  nInitErrors,
const List< labelPair > &  baffles,
motionSmoother meshMover 
)
void doSnap ( const dictionary snapDict,
const dictionary motionDict,
const snapParameters snapParams 
)

Get smoothly varying internal displacement field. 2009-12-16 : was not found to be beneficial. Keeping internal

fields fixed slightly increases skewness (on boundary) but lowers non-orthogonality quite a bit (e.g. 65->59 degrees). Maybe if better smoother? smoothDisplacement(snapParams, meshMover);

Definition at line 1437 of file autoSnapDriver.C.

References motionSmoother::checkMesh(), cpuTime::cpuTimeIncrement(), Foam::endl(), Foam::Info, meshRefinement::makeDisplacementField(), meshRefinement::makePatch(), MeshObject< polyMesh, pointMesh >::New(), primitiveMesh::nFaces(), Foam::nl, Foam::returnReduce(), and fvMesh::time().

Referenced by autoHexMeshDriver::doMesh().


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