74#ifndef sampledDistanceSurface_H
75#define sampledDistanceSurface_H
100 mutable bool needsUpdate_;
107 tmp<Field<Type>> sampleOnFaces
109 const interpolation<Type>& sampler
114 tmp<Field<Type>> sampleOnPoints
116 const interpolation<Type>& interpolation
121 tmp<Field<Type>> sampleOnIsoSurfacePoints
123 const interpolation<Type>& interpolator
139 const polyMesh&
mesh,
147 const polyMesh&
mesh,
149 autoPtr<searchableSurface>&&
surface,
151 const bool useSignedDistance
static const List< label > & null() noexcept
const vectorField & Sf() const
Face area vectors (normals).
const scalarField & magSf() const
Face area magnitudes.
const vectorField & Cf() const
Face centres.
const List< Face > & surfFaces() const
Return const access to the faces.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const Field< point_type > & points() const noexcept
Return reference to global points.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A surface defined by a distance from an input searchable surface. Uses an iso-surface algorithm (cell...
scalar distance() const noexcept
The distance to the underlying searchableSurface.
distanceSurface(const word &defaultSurfaceName, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
const meshedSurface & surface() const
The underlying surface.
Abstract base class for volume field interpolation.
Mesh consisting of general polyhedral cells.
A sampledSurface defined by a distance to a surface - resolved using an iso-surface (algorithm: cell,...
virtual const pointField & points() const
Points of surface.
virtual tmp< scalarField > interpolate(const interpolation< scalar > &interpolator) const
Interpolate volume field onto surface points.
virtual void print(Ostream &os, int level=0) const
Print information.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
sampledDistanceSurface(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
virtual const faceList & faces() const
Faces of surface.
virtual const vectorField & Cf() const
Face centres.
virtual const labelList & zoneIds() const
Per-face zone/region information.
virtual const scalarField & magSf() const
Face area magnitudes.
TypeName("sampledDistanceSurface")
Runtime type information.
virtual bool expire()
Mark the surface as needing an update.
virtual ~sampledDistanceSurface()=default
Destructor.
virtual bool needsUpdate() const
Does the surface need an update?
virtual bool update()
Update the surface as required.
virtual const vectorField & Sf() const
Face area vectors.
An abstract class for surfaces with sampling.
sampledSurface(const word &name, std::nullptr_t)
Construct null.
const word & name() const noexcept
Name of surface.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
bool interpolate() const noexcept
Same as isPointData().
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
List< label > labelList
A List of labels.
List< face > faceList
List of faces.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
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.