39 #ifndef snappySnapDriver_H 40 #define snappySnapDriver_H 52 class refinementParameters;
54 class pointConstraint;
84 static label getCollocatedPoints
114 static pointField smoothLambdaMuPatchDisplacement
122 void checkCoupledFaceZones()
const;
140 static bool outwardsDisplacement
147 static void freezeExposedPoints
157 void detectWarpedFaces
159 const scalar featureCos,
168 labelList getInternalOrBaffleDuplicateFace()
const;
171 static void getZoneSurfacePoints
175 const word& zoneName,
181 template<
class FaceList>
185 const FaceList& faces
190 static void calcNearestSurface
215 const scalar featureCos,
217 const bitSet& isFeatureEdge,
221 void smoothAndConstrain
223 const bitSet& isMasterEdge,
254 void calcNearestFacePointProperties
268 void correctAttraction
281 void stringFeatureEdges
284 const scalar featureCos,
299 void releasePointsNextToMultiPatch
302 const scalar featureCos,
357 bool isSplitAlignedWithFeature
359 const scalar featureCos,
371 const scalar concaveCos
375 const scalar featureCos,
376 const scalar concaveCos,
377 const scalar minAreaFraction,
393 const scalar featureCos,
394 const scalar concaveCos,
395 const scalar minAreaFraction,
409 void avoidDiagonalAttraction
412 const scalar featureCos,
422 const bitSet& isMasterPoint,
447 const scalar featureCos,
448 const vector& faceSurfaceNormal,
454 void featureAttractionUsingReconstruction
457 const scalar featureCos,
479 void featureAttractionUsingReconstruction
482 const scalar featureCos,
498 void determineFeatures
501 const scalar featureCos,
502 const bool multiRegionFeatureSnap,
524 void determineBaffleFeatures
527 const bool baffleFeaturePoints,
528 const scalar featureCos,
543 void reverseAttractMeshPoints
570 const bool isRegionEdge,
575 const point& estimatedPt,
591 const bool isRegionEdge,
596 const point& estimatedPt,
609 void featureAttractionUsingFeatureEdges
612 const bool multiRegionFeatureSnap,
614 const bool detectBaffles,
615 const bool baffleFeaturePoints,
616 const bool releasePoints,
617 const bool stringFeatures,
618 const bool avoidDiagonal,
620 const scalar featureCos,
636 void preventFaceSqueeze
639 const scalar featureCos,
655 const bool alignMeshEdges,
657 const scalar featureCos,
658 const scalar featureAttract,
692 const bool dryRun =
false 717 const label nInitErrors,
732 const scalar planarCos,
744 const bool strictRegionSnap,
777 const label nInitErrors,
798 const scalar featureCos,
799 const scalar planarAngle,
Given a displacement moves the mesh by scaling the displacement back until there are no more mesh err...
const labelList patchIDs(pbm.indices(polyPatchNames, true))
A class for handling file names.
bool scaleMesh(const snapParameters &snapParams, const label nInitErrors, const List< labelPair > &baffles, motionSmoother &)
Do the hard work: move the mesh according to displacement,.
A face is a list of labels corresponding to mesh vertices.
void doSnap(const dictionary &snapDict, const dictionary &motionDict, const meshRefinement::FaceMergeType mergeType, const scalar featureCos, const scalar planarAngle, const snapParameters &snapParams)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
void detectNearSurfaces(const scalar planarCos, const indirectPrimitivePatch &, const pointField &nearestPoint, const vectorField &nearestNormal, vectorField &disp) const
Per patch point override displacement if in gap situation.
This class describes the interaction of an object (often a face) and a point. It carries the info of ...
Container for data on surfaces used for surface-driven refinement. Contains all the data about the le...
Mesh representing a set of points created from polyMesh.
Application of (multi-)patch point constraints.
A list of faces which address into the list of points.
ClassName("snappySnapDriver")
Runtime type information.
FaceMergeType
Enumeration for what to do with co-planar patch faces on a single.
A class for handling words, derived from Foam::string.
Simple container to keep together snap specific information.
autoPtr< mapPolyMesh > repatchToSurface(const snapParameters &snapParams, const labelList &adaptPatchIDs, const labelList &preserveFaces)
Repatch faces according to surface nearest the face centre.
void smoothDisplacement(const snapParameters &snapParams, motionSmoother &) const
Smooth the displacement field to the internal.
static void preSmoothPatch(const meshRefinement &meshRefiner, const snapParameters &snapParams, const label nInitErrors, const List< labelPair > &baffles, motionSmoother &)
Smooth the mesh (patch and internal) to increase visibility.
Accumulates point constraints through successive applications of the applyConstraint function...
static scalarField calcSnapDistance(const fvMesh &mesh, const snapParameters &snapParams, const indirectPrimitivePatch &)
Calculate edge length per patch point.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
static tmp< pointField > avgCellCentres(const fvMesh &mesh, const indirectPrimitivePatch &)
Helper: calculate average cell centre per point.
Helper class which maintains intersections of (changing) mesh with (static) surfaces.
All to do with snapping to surface.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER)))
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
Mesh data needed to do the Finite Volume discretisation.
autoPtr< mapPolyMesh > mergeZoneBaffles(const List< labelPair > &)
Merge baffles.
const dimensionedScalar c1
First radiation constant: default SI units: [W/m2].
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
A class for managing temporary objects.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())