127#ifndef Foam_sampledSurfaces_H
128#define Foam_sampledSurfaces_H
151 public functionObjects::fvMeshFunctionObject,
152 public PtrList<sampledSurface>
157 static scalar mergeTol_;
160 enum sampleActionType :
unsigned
172 const bool loadFromFiles_;
181 fileName outputPath_;
187 wordRes fieldSelection_;
190 word sampleFaceScheme_;
193 word sampleNodeScheme_;
199 PtrList<surfaceWriter> writers_;
202 List<unsigned> actions_;
211 const PtrList<sampledSurface>& surfaces() const
noexcept
217 PtrList<sampledSurface>& surfaces()
noexcept
232 bool performAction(
unsigned request);
244 const word& fieldName
257 template<
class GeoField>
278 template<
class Type,
class GeoMeshType>
279 bool storeRegistryField
282 const word& fieldName,
288 template<
class Container,
class Predicate>
289 static bool testAny(
const Container& items,
const Predicate& pred);
292 virtual bool needsUpdate()
const;
298 virtual bool expire(
const bool force=
false);
334 const bool loadFromFiles =
false
346 bool verbose(
const bool on)
noexcept;
355 virtual bool write();
vtk::internalMeshWriter writer(topoMesh, topoCells, vtk::formatType::INLINE_ASCII, runTime.path()/"blockTopology")
Info<< nl<< "Wrote faMesh in vtk format: "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.mesh().time().globalPath()/"finiteArea-edges"));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
Generic templated field type.
Generic GeometricField class.
List of IOobjects with searching and retrieving facilities.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
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,...
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
A class for handling file names.
const word & name() const noexcept
Return the name of this functionObject.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
virtual const objectRegistry & obr() const
The region or sub-region registry being used.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Registry of regIOobjects.
Mesh consisting of general polyhedral cells.
readUpdateState
Enumeration defining the state of the mesh after a read update.
A surface mesh consisting of general polygon faces and capable of holding fields.
An abstract class for surfaces with sampling.
Set of surfaces to sample.
bool verbose(const bool on) noexcept
Enable/disable verbose output.
virtual void movePoints(const polyMesh &mesh)
Update for mesh point-motion - expires the surfaces.
virtual bool read(const dictionary &dict)
Read the sampledSurfaces dictionary.
virtual void updateMesh(const mapPolyMesh &mpm)
Update for changes of mesh - expires the surfaces.
static scalar mergeTol() noexcept
Get merge tolerance.
virtual ~sampledSurfaces()=default
Destructor.
virtual void readUpdate(const polyMesh::readUpdateState state)
Update for changes of mesh due to readUpdate - expires the surfaces.
virtual bool execute()
Sample and store if the sampleOnExecute is enabled.
TypeName("surfaces")
Runtime type information.
virtual bool write()
Sample and write.
Base class for surface writers.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
List< label > labelList
A List of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const dictionary formatOptions(propsDict.subOrEmptyDict("formatOptions", keyType::LITERAL))