A sampledSurface defined by a distance to a surface. More...
Public Member Functions | |
TypeName ("distanceSurface") | |
Runtime type information. More... | |
distanceSurface (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
distanceSurface (const word &name, const polyMesh &mesh, const bool interpolate, const word &surfaceType, const word &surfaceName, const scalar distance, const bool signedDistance, const bool cell, const Switch regularise, const Switch average, const boundBox &bounds=boundBox::greatBox) | |
Construct from components. More... | |
virtual | ~distanceSurface () |
Destructor. More... | |
virtual bool | needsUpdate () const |
Does the surface need an update? More... | |
virtual bool | expire () |
Mark the surface as needing an update. More... | |
virtual bool | update () |
Update the surface as required. More... | |
virtual const pointField & | points () const |
Points of surface. More... | |
virtual const faceList & | faces () const |
Faces of surface. More... | |
const triSurface & | surface () const |
virtual tmp< scalarField > | sample (const volScalarField &) const |
Sample field on surface. More... | |
virtual tmp< vectorField > | sample (const volVectorField &) const |
Sample field on surface. More... | |
virtual tmp< sphericalTensorField > | sample (const volSphericalTensorField &) const |
Sample field on surface. More... | |
virtual tmp< symmTensorField > | sample (const volSymmTensorField &) const |
Sample field on surface. More... | |
virtual tmp< tensorField > | sample (const volTensorField &) const |
Sample field on surface. More... | |
virtual tmp< scalarField > | interpolate (const interpolation< scalar > &) const |
Interpolate field on surface. More... | |
virtual tmp< vectorField > | interpolate (const interpolation< vector > &) const |
Interpolate field on surface. More... | |
virtual tmp< sphericalTensorField > | interpolate (const interpolation< sphericalTensor > &) const |
Interpolate field on surface. More... | |
virtual tmp< symmTensorField > | interpolate (const interpolation< symmTensor > &) const |
Interpolate field on surface. More... | |
virtual tmp< tensorField > | interpolate (const interpolation< tensor > &) const |
Interpolate field on surface. More... | |
virtual void | print (Ostream &) const |
Write. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleField (const GeometricField< Type, fvPatchField, volMesh > &vField) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolateField (const interpolation< Type > &interpolator) const |
![]() | |
TypeName ("sampledSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sampledSurface, word,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict)) | |
Declare run-time constructor selection table. More... | |
sampledSurface (const word &name, const polyMesh &, const bool interpolate=false) | |
Construct from name, mesh. More... | |
sampledSurface (const word &name, const polyMesh &, const dictionary &) | |
Construct from dictionary. More... | |
autoPtr< sampledSurface > | clone () const |
Clone. More... | |
virtual | ~sampledSurface () |
Destructor. More... | |
const polyMesh & | mesh () const |
Access to the underlying mesh. More... | |
const word & | name () const |
Name of surface. More... | |
bool | interpolate () const |
Interpolation requested for surface. More... | |
virtual const vectorField & | Sf () const |
Return face area vectors. More... | |
virtual const scalarField & | magSf () const |
Return face area magnitudes. More... | |
virtual const vectorField & | Cf () const |
Return face centres as vectorField. More... | |
scalar | area () const |
The total surface area. More... | |
template<class Type > | |
Type | integrate (const Field< Type > &) const |
Integration of a field across the surface. More... | |
template<class Type > | |
Type | integrate (const tmp< Field< Type > > &) const |
Integration of a field across the surface. More... | |
template<class Type > | |
Type | average (const Field< Type > &) const |
Area-averaged value of a field across the surface. More... | |
template<class Type > | |
Type | average (const tmp< Field< Type > > &) const |
Area-averaged value of a field across the surface. More... | |
tmp< Field< scalar > > | project (const Field< scalar > &) const |
Project field onto surface. More... | |
tmp< Field< scalar > > | project (const Field< vector > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< sphericalTensor > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< symmTensor > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< tensor > &) const |
Project field onto surface. More... | |
template<class Type > | |
tmp< GeometricField< Type, fvPatchField, volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const |
Interpolate from points to cell centre. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
template<class ReturnType , class Type > | |
Foam::tmp< Foam::Field< ReturnType > > | project (const tmp< Field< Type > > &field) const |
template<class Type > | |
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const |
Private Member Functions | |
void | createGeometry () |
Create iso surface. More... | |
template<class Type > | |
tmp< Field< Type > > | sampleField (const GeometricField< Type, fvPatchField, volMesh > &vField) const |
Sample field on faces. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolateField (const interpolation< Type > &) const |
Private Attributes | |
const autoPtr< searchableSurface > | surfPtr_ |
Surface. More... | |
const scalar | distance_ |
Distance value. More... | |
const bool | signed_ |
Signed distance. More... | |
const bool | cell_ |
Whether to use isoSurfaceCell or isoSurface. More... | |
const Switch | regularise_ |
Whether to coarsen. More... | |
const Switch | average_ |
Whether to recalculate cell values as average of point values. More... | |
const boundBox | bounds_ |
Optional bounding box to trim triangles against. More... | |
keyType | zoneKey_ |
If restricted to zones, name of this zone or a regular expression. More... | |
bool | needsUpdate_ |
Track if the surface needs an update. More... | |
autoPtr< volScalarField > | cellDistancePtr_ |
Distance to cell centres. More... | |
scalarField | pointDistance_ |
Distance to points. More... | |
autoPtr< isoSurfaceCell > | isoSurfCellPtr_ |
Constructed iso surface. More... | |
autoPtr< isoSurface > | isoSurfPtr_ |
Constructed iso surface. More... | |
autoPtr< faceList > | facesPtr_ |
Triangles converted to faceList. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< sampledSurface > | New (const word &name, const polyMesh &, const dictionary &) |
Return a reference to the selected surface. More... | |
![]() | |
virtual void | clearGeom () const |
A sampledSurface defined by a distance to a surface.
Uses either isoSurfaceCell or isoSurface.
Definition at line 53 of file distanceSurface.H.
distanceSurface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 306 of file distanceSurface.C.
distanceSurface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const bool | interpolate, | ||
const word & | surfaceType, | ||
const word & | surfaceName, | ||
const scalar | distance, | ||
const bool | signedDistance, | ||
const bool | cell, | ||
const Switch | regularise, | ||
const Switch | average, | ||
const boundBox & | bounds = boundBox::greatBox |
||
) |
Construct from components.
Definition at line 354 of file distanceSurface.C.
|
virtual |
Destructor.
Definition at line 402 of file distanceSurface.C.
|
private |
Create iso surface.
Direct from cell field and point field.
Definition at line 44 of file distanceSurface.C.
References GeometricField::boundaryField(), distanceSurface::bounds_, fvMesh::C(), distanceSurface::cell_, distanceSurface::cellDistancePtr_, sampledSurface::clearGeom(), Foam::dimLength, distanceSurface::distance_, Foam::endl(), Foam::exit(), distanceSurface::facesPtr_, Foam::FatalError, FatalErrorInFunction, fld(), forAll, volumeType::INSIDE, GeometricField::internalField(), distanceSurface::isoSurfCellPtr_, distanceSurface::isoSurfPtr_, Foam::mag(), sampledSurface::mesh(), MeshObject< polyMesh, UpdateableMeshObject, pointMesh >::New(), IOobject::NO_READ, IOobject::NO_WRITE, primitiveMesh::nPoints(), volumeType::OUTSIDE, distanceSurface::pointDistance_, polyMesh::points(), Foam::Pout, distanceSurface::print(), distanceSurface::regularise_, distanceSurface::signed_, distanceSurface::surfPtr_, fvMesh::time(), and Time::timeName().
|
private |
Sample field on faces.
|
private |
TypeName | ( | "distanceSurface" | ) |
Runtime type information.
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 408 of file distanceSurface.C.
|
virtual |
Mark the surface as needing an update.
May also free up unneeded data. Return false if surface was already marked as expired.
Implements sampledSurface.
Definition at line 414 of file distanceSurface.C.
References Foam::endl(), and Foam::Pout.
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 440 of file distanceSurface.C.
References Foam::endl(), and Foam::Pout.
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 173 of file distanceSurface.H.
References PrimitivePatch< Face, FaceList, PointField, PointType >::points(), and distanceSurface::surface().
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 179 of file distanceSurface.H.
References distanceSurface::facesPtr_, forAll, s(), and distanceSurface::surface().
|
inline |
Definition at line 195 of file distanceSurface.H.
References distanceSurface::cell_, distanceSurface::isoSurfCellPtr_, and distanceSurface::isoSurfPtr_.
Referenced by distanceSurface::faces(), and distanceSurface::points().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 462 of file distanceSurface.C.
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 471 of file distanceSurface.C.
|
virtual |
Sample field on surface.
Implements sampledSurface.
|
virtual |
Sample field on surface.
Implements sampledSurface.
|
virtual |
Sample field on surface.
Implements sampledSurface.
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 507 of file distanceSurface.C.
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 516 of file distanceSurface.C.
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 524 of file distanceSurface.C.
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 533 of file distanceSurface.C.
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 542 of file distanceSurface.C.
|
virtual |
Write.
Reimplemented from sampledSurface.
Definition at line 550 of file distanceSurface.C.
References Foam::name(), and points.
Referenced by distanceSurface::createGeometry().
Foam::tmp<Foam::Field<Type> > sampleField | ( | const GeometricField< Type, fvPatchField, volMesh > & | vField | ) | const |
Definition at line 36 of file distanceSurfaceTemplates.C.
Foam::tmp<Foam::Field<Type> > interpolateField | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 60 of file distanceSurfaceTemplates.C.
References Foam::MULES::interpolate(), mesh, Foam::compressible::New(), and interpolation::psi().
|
private |
Surface.
Definition at line 60 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Distance value.
Definition at line 63 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Signed distance.
Definition at line 66 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Whether to use isoSurfaceCell or isoSurface.
Definition at line 69 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry(), and distanceSurface::surface().
|
private |
Whether to coarsen.
Definition at line 72 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Whether to recalculate cell values as average of point values.
Definition at line 75 of file distanceSurface.H.
|
private |
Optional bounding box to trim triangles against.
Definition at line 78 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
If restricted to zones, name of this zone or a regular expression.
Definition at line 81 of file distanceSurface.H.
|
mutableprivate |
Track if the surface needs an update.
Definition at line 84 of file distanceSurface.H.
|
private |
Distance to cell centres.
Definition at line 88 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Distance to points.
Definition at line 91 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry().
|
private |
Constructed iso surface.
Definition at line 94 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry(), and distanceSurface::surface().
|
private |
Constructed iso surface.
Definition at line 97 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry(), and distanceSurface::surface().
Triangles converted to faceList.
Definition at line 100 of file distanceSurface.H.
Referenced by distanceSurface::createGeometry(), and distanceSurface::faces().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.