37#ifndef fieldSmoother_H
38#define fieldSmoother_H
62 fieldSmoother(
const fieldSmoother&) =
delete;
65 void operator=(
const fieldSmoother&) =
delete;
90 const bitSet& isMeshMasterPoint,
91 const bitSet& isMeshMasterEdge,
100 const bitSet& isPatchMasterPoint,
101 const bitSet& isPatchMasterEdge,
107 template <
class Type>
111 const bitSet& isPatchMasterPoint,
112 const bitSet& isPatchMasterEdge,
122 const bitSet& isMeshMasterPoint,
123 const bitSet& isMeshMasterEdge,
124 const bitSet& isSmoothable,
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void smoothLambdaMuDisplacement(const label nIter, const bitSet &isMeshMasterPoint, const bitSet &isMeshMasterEdge, const bitSet &isSmoothable, vectorField &displacement) const
Smooth and then un-smooth a displacement.
virtual ~fieldSmoother()
Destructor.
void smoothNormals(const label nIter, const bitSet &isMeshMasterPoint, const bitSet &isMeshMasterEdge, const labelList &fixedPoints, pointVectorField &normals) const
Smooth interior normals.
void smoothPatchNormals(const label nIter, const bitSet &isPatchMasterPoint, const bitSet &isPatchMasterEdge, const indirectPrimitivePatch &adaptPatch, pointField &normals) const
Smooth patch normals.
void minSmoothField(const label nIter, const bitSet &isPatchMasterPoint, const bitSet &isPatchMasterEdge, const indirectPrimitivePatch &adaptPatch, const scalarField &fieldMin, Field< Type > &field) const
Smooth a scalar field towards, but not beyond, a minimum value.
TypeName("fieldSmoother")
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
PrimitivePatch< IndirectList< face >, const pointField & > indirectPrimitivePatch
A PrimitivePatch with an IndirectList for the faces, const reference for the point field.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vectorField pointField
pointField is a vectorField.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.