49 #ifndef sampledSurface_H
50 #define sampledSurface_H
74 Ostream&
operator<<(Ostream&,
const sampledSurface&);
92 const bool interpolate_;
107 mutable scalar area_;
116 void makeMagSf()
const;
129 template<
class ReturnType,
class Type>
137 template<
class ReturnType,
class Type>
145 template<
class ReturnType,
class Type>
274 virtual bool update() = 0;
326 #define DEFINE_SAMPLE(Type, nullArg) \
327 virtual tmp<Field<Type>> sample \
329 const VolField<Type>& \
332 virtual tmp<Field<Type>> sample \
334 const SurfaceField<Type>& \
340 #define DEFINE_INTERPOLATE(Type, nullArg) \
341 virtual tmp<Field<Type>> interpolate \
343 const interpolation<Type>& \
346 #undef DEFINE_INTERPOLATE
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
static const List< word > & null()
Return a null List.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Mesh consisting of general polyhedral cells.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Class used for the PtrLists read-construction.
iNew(const polyMesh &mesh)
autoPtr< sampledSurface > operator()(Istream &is) const
An abstract class for surfaces with sampling.
virtual void mapMesh(const polyMeshMap &)=0
Update from another mesh using the given map.
declareRunTimeSelectionTable(autoPtr, sampledSurface, word,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict))
Declare run-time constructor selection table.
virtual bool needsUpdate() const =0
Does the surface need an update?
virtual void movePoints()=0
Update for mesh point-motion.
virtual void distribute(const polyDistributionMap &)=0
Redistribute or update using the given distribution map.
virtual wordList fields() const
Return the list of fields required.
friend Ostream & operator<<(Ostream &, const sampledSurface &)
Ostream operator.
autoPtr< sampledSurface > clone() const
Clone.
virtual const faceList & faces() const =0
Faces of surface.
static autoPtr< sampledSurface > New(const word &name, const polyMesh &, const dictionary &)
Return a reference to the selected surface.
FOR_ALL_FIELD_TYPES(DEFINE_SAMPLE)
Type average(const Field< Type > &) const
Area-averaged value of a field across the surface.
virtual bool update()=0
Update the surface as required.
virtual void clearGeom() const
sampledSurface(const word &name, const polyMesh &, const bool interpolate=false)
Construct from name, mesh.
virtual const scalarField & magSf() const
Return face area magnitudes.
virtual ~sampledSurface()
Destructor.
virtual void print(Ostream &) const
Write.
virtual void rename(const word &newName)
Rename.
bool interpolate() const
Interpolation requested for surface.
const word & name() const
Name of surface.
virtual const vectorField & Cf() const
Return face centres as vectorField.
virtual const pointField & points() const =0
Points of surface.
scalar area() const
The total surface area.
const polyMesh & mesh() const
Access to the underlying mesh.
TypeName("sampledSurface")
Runtime type information.
virtual const vectorField & Sf() const
Return face area vectors.
Type integrate(const Field< Type > &) const
Integration of a field across the surface.
virtual void topoChange(const polyTopoChangeMap &)=0
Update topology using the given map.
A class for managing temporary objects.
A class for handling words, derived from string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)
Macros to ease declaration of run-time selection tables.
#define DEFINE_SAMPLE(Type, nullArg)
Sample field on the surface's faces.
#define DEFINE_INTERPOLATE(Type, nullArg)
Interpolate field to the surface's points.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...