Go to the documentation of this file.
42 sampledIsoSurfaceCell,
78 Info<<
"sampledIsoSurfaceCell::updateGeometry() : lookup "
90 Info<<
"sampledIsoSurfaceCell::updateGeometry() : reading "
112 cellFldPtr = readFieldPtr_.operator->();
127 for (
label pointI = 0; pointI < fvm.
nPoints(); pointI++)
133 label cellI = pCells[i];
135 cellAvg[cellI] += pointFld().internalField()[pointI];
136 nPointCells[cellI]++;
142 cellAvg[cellI] /= nPointCells[cellI];
158 ).triSurface::operator=(iso);
177 ).triSurface::operator=(iso);
184 Pout<<
"sampledIsoSurfaceCell::updateGeometry() : constructed iso:"
191 <<
" points : " <<
points().size() <<
nl
254 if (prevTimeIndex_ == -1)
267 return updateGeometry();
277 return sampleField(vField);
287 return sampleField(vField);
297 return sampleField(vField);
307 return sampleField(vField);
317 return sampleField(vField);
327 return interpolateField(interpolator);
337 return interpolateField(interpolator);
346 return interpolateField(interpolator);
356 return interpolateField(interpolator);
366 return interpolateField(interpolator);
372 os <<
"sampledIsoSurfaceCell: " <<
name() <<
" :"
373 <<
" field:" << isoField_
374 <<
" value:" << isoVal_;
virtual bool expire()
Mark the surface as needing an update.
GeometricField< tensor, fvPatchField, volMesh > volTensorField
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual void print(Ostream &) const
Write.
addNamedToRunTimeSelectionTable(fvPatch, cyclicAMIFvPatch, polyPatch, cyclicPeriodicAMI)
A class for handling words, derived from string.
labelList meshCells_
For every triangle the original cell in mesh.
#define forAll(list, i)
Loop across all elements in list.
label prevTimeIndex_
Time at last call, also track it surface needs an update.
A class for managing temporary objects.
virtual bool needsUpdate() const
Does the surface need an update?
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Mesh consisting of general polyhedral cells.
static const volPointInterpolation & New(const fvMesh &mesh)
A surface formed by the iso value. After "Polygonising A Scalar Field Using Tetrahedrons",...
bool updateGeometry() const
Create iso surface (if time has changed)
autoPtr< faceList > facesPtr_
Triangles converted to faceList.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
const labelList & meshCells() const
For every face original cell in mesh.
const Switch regularise_
Whether to coarse.
virtual const pointField & points() const
Points of surface.
InternalField & internalField()
Return internal field.
An abstract class for surfaces with sampling.
static const keyType null
An empty keyType.
virtual bool update()
Update the surface as required.
virtual tmp< scalarField > sample(const volScalarField &) const
Sample field on surface.
A list of keyword definitions, which are a keyword followed by any number of values (e....
const scalar isoVal_
Iso value.
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
label size() const
Return the number of elements in the UList.
conserve internalField()+
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
bool foundObject(const word &name) const
Is the named Type found?
const boundBox bounds_
Optional bounding box to trim triangles against.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
prefixOSstream Pout(cout, "Pout")
static const boundBox greatBox
A very large boundBox: min/max == -/+ VGREAT.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
virtual ~sampledIsoSurfaceCell()
Destructor.
const labelListList & pointCells() const
const word isoField_
Field to get isoSurface of.
virtual void clearGeom() const
void reset(T *=0)
If object pointer already set, delete object and set to given.
const Time & time() const
Return the top-level database.
const polyMesh & mesh() const
Access to the underlying mesh.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
label timeIndex() const
Return current time index.
Generic GeometricField class.
bool interpolate() const
Interpolation requested for surface.
defineTypeNameAndDebug(combustionModel, 0)
sampledIsoSurfaceCell(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
A sampledSurface defined by a surface of iso value. Always triangulated. To be used in sampleSurfaces...
word name(const complex &)
Return a string representation of a complex.
const Switch average_
Whether to recalculate cell values as average of point values.