61 #ifndef hexMeshSmootherMotionSolver_H 62 #define hexMeshSmootherMotionSolver_H 79 class hexMeshSmootherMotionSolver
81 public displacementMotionSolver
102 autoPtr<pointSmoother> pointSmoother_;
105 const label nPointSmootherIter_;
130 const autoPtr<Function1<scalar>> snapScale_;
134 const bitSet isMasterPoint_;
137 const autoPtr<indirectPrimitivePatch> bnd0Ptr_;
147 static autoPtr<indirectPrimitivePatch> makePatch
149 const polyMesh&
mesh,
175 const bitSet& pointsToRelax,
181 label countPos(
const labelList& elems)
const;
193 void featLaplaceSmooth
200 void snapBoundaryPoints
220 hexMeshSmootherMotionSolver
227 hexMeshSmootherMotionSolver
229 const polyMesh&
mesh,
230 const IOdictionary&
dict,
237 virtual ~hexMeshSmootherMotionSolver();
243 virtual tmp<pointField> curPoints()
const;
246 virtual void solve();
List< scalar > scalarList
List of scalar.
const labelList patchIDs(pbm.indices(polyPatchNames, true))
const labelIOList & zoneIDs
vectorIOField pointIOField
pointIOField is a vectorIOField.
List< bool > select(const label n, const labelUList &locations)
Construct a selection list of bools (all false) with the given pre-size, subsequently add specified l...
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
PrimitivePatch< IndirectList< face >, const pointField & > indirectPrimitivePatch
A PrimitivePatch with an IndirectList for the faces, const reference for the point field...
UList< label > labelUList
A UList of labels.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
vectorField pointField
pointField is a vectorField.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
SolverPerformance< Type > solve(faMatrix< Type > &, const dictionary &solverControls)
Solve returning the solution statistics given convergence tolerance.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const scalarField & cellVols
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER)))
Field< vector > vectorField
Specialisation of Field<T> for vector.
List< label > labelList
A List of labels.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())