Go to the documentation of this file.
53 Pout<<
"sampledCuttingPlane::createGeometry :updating geometry."
76 Info<<
"Allocating subset of size "
78 <<
" with exposed faces into patch "
143 isA<emptyFvPatchScalarField>
152 new calculatedFvPatchScalarField
163 fld.setSize(pp.size());
201 Pout<<
"Writing cell distance:" << cellDistance.objectPath() <<
endl;
202 cellDistance.write();
219 Pout<<
"Writing point distance:" << pDist.objectPath() <<
endl;
274 cellDistancePtr_(NULL),
278 if (zoneID_.index() != -1)
280 dict.
lookup(
"exposedPatchName") >> exposedPatchName_;
285 <<
"Cannot find patch " << exposedPatchName_
286 <<
" in which to put exposed faces." <<
endl
291 if (debug && zoneID_.index() != -1)
293 Info<<
"Restricting to cellZone " << zoneID_.name()
294 <<
" with exposed internal faces into patch "
295 << exposedPatchName_ <<
endl;
319 Pout<<
"sampledCuttingPlane::expire :"
320 <<
" have-facesPtr_:" << facesPtr_.valid()
321 <<
" needsUpdate_:" << needsUpdate_ <<
endl;
345 Pout<<
"sampledCuttingPlane::update :"
346 <<
" have-facesPtr_:" << facesPtr_.valid()
347 <<
" needsUpdate_:" << needsUpdate_ <<
endl;
357 needsUpdate_ =
false;
368 return sampleField(vField);
378 return sampleField(vField);
388 return sampleField(vField);
398 return sampleField(vField);
408 return sampleField(vField);
418 return interpolateField(interpolator);
428 return interpolateField(interpolator);
437 return interpolateField(interpolator);
447 return interpolateField(interpolator);
457 return interpolateField(interpolator);
463 os <<
"sampledCuttingPlane: " <<
name() <<
" :"
464 <<
" plane:" << plane_
465 <<
" faces:" << faces().size()
466 <<
" points:" <<
points().size();
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
autoPtr< volScalarField > cellDistancePtr_
Distance to cell centres.
virtual const pointField & points() const
Return raw points.
GeometricField< tensor, fvPatchField, volMesh > volTensorField
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const vector & normal() const
Return plane normal.
addNamedToRunTimeSelectionTable(fvPatch, cyclicAMIFvPatch, polyPatch, cyclicPeriodicAMI)
label findPatchID(const word &patchName) const
Find patch index given a name.
autoPtr< isoSurface > isoSurfPtr_
Constructed iso surface.
A class for handling words, derived from string.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
Post-processing mesh subset tool. Given the original mesh and the list of selected cells,...
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,.
const cellZoneMesh & cellZones() const
Return cell zone mesh.
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Switch regularise_
Whether to coarsen.
virtual void print(Ostream &) const
Write.
void createGeometry()
Create iso surface.
Mesh consisting of general polyhedral cells.
static const pointMesh & New(const polyMesh &mesh)
wordList names() const
Return a list of patch names.
Pre-declare related SubField type.
virtual bool needsUpdate() const
Does the surface need an update?
const boundBox bounds_
Optional bounding box to trim triangles against.
A surface formed by the iso value. After "Regularised Marching Tetrahedra: improved iso-surface extra...
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
A patch is a list of labels that address the faces in the global face list.
const scalar mergeTol_
Merge tolerance.
InternalField & internalField()
Return internal field.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual bool update()
Update the surface as required.
An abstract class for surfaces with sampling.
virtual ~sampledCuttingPlane()
Destructor.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Macros for easy insertion into run-time selection tables.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< ' ';}gmvFile<< nl;forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Generic dimensioned Type class.
autoPtr< fvMeshSubset > subMeshPtr_
Optional subsetted mesh.
Mesh data needed to do the Finite Volume discretisation.
const double e
Elementary charge.
sampledCuttingPlane(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
errorManipArg< error, int > exit(error &err, const int errNo=1)
virtual tmp< scalarField > sample(const volScalarField &) const
Sample field on surface.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
const vectorField & cellCentres() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
cellZoneID zoneID_
Zone name/index (if restricted to zones)
const volVectorField & C() const
Return cell centres as volVectorField.
const List< T >::subList patchSlice(const UList< T > &l) const
Slice list to patch.
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.
scalarField pointDistance_
Distance to points.
const vectorField & faceCentres() const
const point & refPoint() const
Return or return plane base point.
static const word null
An empty word.
virtual void clearGeom() const
const Time & time() const
Return the top-level database.
const polyMesh & mesh() const
Access to the underlying mesh.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
HashSet< label, Hash< label > > labelHashSet
A HashSet with label keys.
Generic GeometricField class.
virtual bool expire()
Mark the surface as needing an update.
bool interpolate() const
Interpolation requested for surface.
defineTypeNameAndDebug(combustionModel, 0)
autoPtr< faceList > facesPtr_
Triangles converted to faceList.
word name(const complex &)
Return a string representation of a complex.
label index() const
Return index of first matching zone.
word exposedPatchName_
For zones: patch to put exposed faces into.