114 class objectRegistry;
125 public functionObjects::fvMeshFunctionObject,
133 template<
class GeoField>
134 struct fieldGroup :
public DynamicList<word> {};
222 label
prepare(
unsigned request);
225 template<
class GeoField>
246 const scalar timeValue
250 template<
class GeoField>
258 bool performAction(
unsigned request);
280 const bool loadFromFiles =
false,
308 virtual const point&
probe(
const label i)
const 320 virtual bool read(
const dictionary&);
326 virtual bool write();
343 tmp<Field<Type>>
sample(
const VolumeField<Type>&)
const;
347 tmp<Field<Type>>
sample(
const SurfaceField<Type>&)
const;
351 tmp<Field<Type>>
sample(
const word& fieldName)
const;
bool fixedLocations_
Fixed locations (default: true)
fieldGroup< volSymmTensorField > symmTensorFields_
fieldGroup< volTensorField > tensorFields_
virtual bool write()
Sample and write.
virtual const point & probe(const label i) const
Return location for probe i.
fieldGroup< volSphericalTensorField > sphericalTensorFields_
Grouping of field names by GeometricField type.
Forwards and collection of common volume field types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
pointField oldPoints_
Original probes location (only used for patchProbes)
virtual void updateMesh(const mapPolyMesh &)
Update for changes of mesh.
virtual bool execute()
Sample and store result if the sampleOnExecute is enabled.
TypeName("probes")
Runtime type information.
virtual ~probes()=default
Destructor.
virtual const wordRes & fieldNames() const noexcept
Return names of fields to probe.
Set of locations to sample.
virtual void readUpdate(const polyMesh::readUpdateState state)
Update for changes of mesh due to readUpdate.
tmp< GeoField > getOrLoadField(const word &fieldName) const
Get from registry or load from disk.
fieldGroup< surfaceTensorField > surfaceTensorFields_
labelList processor_
Processor holding the cell or face (-1 if point not found.
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers...
tmp< Field< Type > > sampleSurfaceField(const word &fieldName) const
Sample a surface field at all locations.
sampleActionType
Local control for sampling actions.
DynamicList< word > selectedFieldNames_
Current list of field names selected for sampling.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
fieldGroup< surfaceVectorField > surfaceVectorFields_
const word & name() const noexcept
Return the name of this functionObject.
label prepare(unsigned request)
Classify field types, close/open file streams.
T & operator[](const label i)
Return element of UList.
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
labelList faceList_
Faces to be probed.
vectorField pointField
pointField is a vectorField.
virtual const pointField & probeLocations() const noexcept
Return locations to probe.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject *> &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
A class for handling words, derived from Foam::string.
wordRes fieldSelection_
Requested names of fields to probe.
A List of wordRe with additional matching capabilities.
fieldGroup< surfaceSphericalTensorField > surfaceSphericalTensorFields_
bool includeOutOfBounds_
Include probes that were not found (default: true)
fieldGroup< volScalarField > scalarFields_
Categorized scalar/vector/tensor volume fields.
HashPtrTable< OFstream > probeFilePtrs_
Current open files (non-empty on master only)
virtual void movePoints(const polyMesh &)
Update for changes of mesh.
bool verbose_
Output verbosity.
vector point
Point is a vector.
bool verbose(const bool on) noexcept
Enable/disable verbose output.
bool loadFromFiles_
Load fields from files (not from objectRegistry)
word samplePointScheme_
Interpolation/sample scheme to obtain values at the points.
void storeResults(const word &fieldName, const Field< Type > &values)
Store results: min/max/average/size.
const labelList & elements() const noexcept
Cells to be probed (obtained from the locations)
virtual void findElements(const fvMesh &mesh)
Find cells and faces containing probes.
Mesh data needed to do the Finite Volume discretisation.
labelList elementList_
Cells to be probed (obtained from the locations)
virtual bool read(const dictionary &)
Read the probes.
tmp< Field< Type > > sample(const VolumeField< Type > &) const
Sample a volume field at all locations.
fieldGroup< surfaceScalarField > surfaceScalarFields_
Categorized scalar/vector/tensor surface fields.
fieldGroup< volVectorField > vectorFields_
readUpdateState
Enumeration defining the state of the mesh after a read update.
List< label > labelList
A List of labels.
A class for managing temporary objects.
bool onExecute_
Perform sample actions on execute as well.
fieldGroup< surfaceSymmTensorField > surfaceSymmTensorFields_
labelList patchIDList_
Patch IDs on which the new probes are located (for patchProbes)