Abstract base class for point smoothing methods. Handles parallel communication via reset and average functions. More...

Public Member Functions | |
| TypeName ("pointSmoother") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, pointSmoother, dictionary,(const polyMesh &mesh, const dictionary &dict),(mesh, dict)) | |
| pointSmoother (const polyMesh &mesh, const dictionary &) | |
| Construct from a dictionary and a point displacement field. More... | |
| virtual | ~pointSmoother () |
| Destructor. More... | |
| const polyMesh & | mesh () const |
| void | update (const labelList &facesToMove, const pointField &oldPoints, const pointField ¤tPoints, const pointField &faceCentres, const vectorField &faceAreas, const pointField &cellCentres, const scalarField &cellVolumes, pointVectorField &pointDisplacement, const bool correctBCs=true) const |
| Update the point displacements and apply constraints. More... | |
| void | update (const labelList &facesToMove, const pointField &oldPoints, const pointField ¤tPoints, const polyMeshGeometry &meshGeometry, pointVectorField &pointDisplacement, const bool correctBCs=true) const |
| Update the point displacements and apply constraints. More... | |
| virtual void | calculate (const labelList &facesToMove, const pointField &oldPoints, const pointField ¤tPoints, const pointField &faceCentres, const vectorField &faceAreas, const pointField &cellCentres, const scalarField &cellVolumes, vectorField &pointDisplacement) const =0 |
| Calculate the point displacement. More... | |
| virtual void | calculate (const labelList &facesToMove, const pointField &oldPoints, const pointField ¤tPoints, const polyMeshGeometry &meshGeometry, vectorField &pointDisplacement) const |
| Update the point displacements. More... | |
| virtual tmp< scalarField > | faceQuality (const pointField &points, const pointField &faceCentres, const vectorField &faceAreas, const pointField &cellCentres, const scalarField &cellVolumes) const |
| Check element quality: 1 = best, 0 = invalid. (also negative?) Topology from mesh, point locations supplied. Move to motionSolver level? More... | |
| virtual tmp< scalarField > | cellQuality (const pointField &points, const pointField &faceCentres, const vectorField &faceAreas, const pointField &cellCentres, const scalarField &cellVolumes) const |
| Check element quality: 1 = best, 0 = invalid. Topology from mesh, point locations supplied. Move to motionSolver level? More... | |
Static Public Member Functions | |
| static autoPtr< pointSmoother > | New (const word &pointSmootherType, const polyMesh &mesh, const dictionary &dict) |
| Construct given type. More... | |
| static autoPtr< pointSmoother > | New (const polyMesh &mesh, const dictionary &dict) |
| Construct with type looked up from dictionary. More... | |
Protected Member Functions | |
| bool | isInternalOrProcessorFace (const label faceI) const |
| Test if the given face is internal or on a processor boundary. More... | |
| autoPtr< PackedBoolList > | pointsToMove (const labelList &facesToMove, const bool moveInternalFaces) const |
| Get a boolean list of the points to be moved. More... | |
| template<class weightType > | |
| void | reset (const labelList &facesToMove, Field< weightType > &weights, vectorField &pointDisplacement, const bool resetInternalFaces=true) const |
| Reset the relevant weights and displacements to zero. More... | |
| template<class weightType > | |
| void | average (const labelList &facesToMove, Field< weightType > &weights, vectorField &pointDisplacement) const |
| Average the displacements using the weights provided. More... | |
Abstract base class for point smoothing methods. Handles parallel communication via reset and average functions.
Definition at line 50 of file pointSmoother.H.
| pointSmoother | ( | const polyMesh & | mesh, |
| const dictionary & | dict | ||
| ) |
Construct from a dictionary and a point displacement field.
Definition at line 106 of file pointSmoother.C.
References polyMesh::boundaryMesh(), mesh, and pp().

|
virtual |
Destructor.
Definition at line 166 of file pointSmoother.C.
|
protected |
Test if the given face is internal or on a processor boundary.
Definition at line 36 of file pointSmoother.C.
References pointSmoother::mesh(), and patchID.

|
protected |
Get a boolean list of the points to be moved.
Definition at line 62 of file pointSmoother.C.
References forAll, mesh, nPoints, syncTools::syncPointList(), and U.

|
protected |
Reset the relevant weights and displacements to zero.
Definition at line 28 of file pointSmootherTemplates.C.
References forAll.
|
protected |
Average the displacements using the weights provided.
Definition at line 55 of file pointSmootherTemplates.C.
| TypeName | ( | "pointSmoother" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| pointSmoother | , | ||
| dictionary | , | ||
| (const polyMesh &mesh, const dictionary &dict) | , | ||
| (mesh, dict) | |||
| ) |
|
static |
Construct given type.
Definition at line 127 of file pointSmoother.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::Info, and mesh.

|
static |
Construct with type looked up from dictionary.
Definition at line 153 of file pointSmoother.C.
References dict, dictionary::lookup(), mesh, and Foam::New().

|
inline |
Definition at line 180 of file pointSmoother.H.
Referenced by pointSmoother::isInternalOrProcessorFace().

| void update | ( | const labelList & | facesToMove, |
| const pointField & | oldPoints, | ||
| const pointField & | currentPoints, | ||
| const pointField & | faceCentres, | ||
| const vectorField & | faceAreas, | ||
| const pointField & | cellCentres, | ||
| const scalarField & | cellVolumes, | ||
| pointVectorField & | pointDisplacement, | ||
| const bool | correctBCs = true |
||
| ) | const |
Update the point displacements and apply constraints.
Definition at line 173 of file pointSmoother.C.
References pointConstraints::constrainDisplacement(), mesh, MeshObject< pointMesh, UpdateableMeshObject, pointConstraints >::New(), and GeometricField< Type, PatchField, GeoMesh >::ref().
Referenced by pointSmoother::update().


|
inline |
Update the point displacements and apply constraints.
Definition at line 205 of file pointSmoother.H.
References polyMeshGeometry::cellCentres(), polyMeshGeometry::cellVolumes(), polyMeshGeometry::faceAreas(), polyMeshGeometry::faceCentres(), and pointSmoother::update().

|
pure virtual |
Calculate the point displacement.
Implemented in geometricElementTransformPointSmoother, equipotentialPointSmoother, laplacianConstraintPointSmoother, and laplacianPointSmoother.
Referenced by pointSmoother::calculate().

|
inlinevirtual |
Update the point displacements.
Definition at line 247 of file pointSmoother.H.
References pointSmoother::calculate(), polyMeshGeometry::cellCentres(), polyMeshGeometry::cellVolumes(), polyMeshGeometry::faceAreas(), and polyMeshGeometry::faceCentres().

|
virtual |
Check element quality: 1 = best, 0 = invalid. (also negative?) Topology from mesh, point locations supplied. Move to motionSolver level?
Definition at line 218 of file pointSmoother.C.
References polyMeshTools::faceOrthogonality(), and mesh.

|
virtual |
Check element quality: 1 = best, 0 = invalid. Topology from mesh, point locations supplied. Move to motionSolver level?
Definition at line 249 of file pointSmoother.C.
References polyMesh::faceNeighbour(), polyMesh::faceOwner(), forAll, mesh, Foam::min(), primitiveMesh::nInternalFaces(), points, and tmp< T >::ref().
