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

autoSnapDriver Class Reference

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

#include <autoMesh/autoSnapDriver.H>


Detailed Description

All to do with snapping to surface.

Source files

Definition at line 53 of file autoSnapDriver.H.

Collaboration diagram for autoSnapDriver:

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< mapPolyMesh >  createZoneBaffles (List< labelPair > &)
 Create baffles for faces straddling zoned surfaces. Return.
autoPtr< mapPolyMesh >  mergeZoneBaffles (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< mapPolyMesh >  repatchToSurface (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: