44#ifndef Foam_surfMesh_H
45#define Foam_surfMesh_H
228 virtual label
nFaces()
const;
231 virtual label
size()
const
329 template<
class Type,
class GeoMeshType = surfGeoMesh>
333 const word& fieldName,
343 template<
class Type,
class GeoMeshType = surfGeoMesh>
347 const word& fieldName,
358 template<
class Type,
class GeoMeshType = surfGeoMesh>
362 const word& fieldName,
377 const bool writeOnProc
395 const word& fileType,
A helper class for storing points and faces with IO capabilities.
faceCompactIOList & storedIOFaces() noexcept
Non-const access to the faces.
pointIOField & storedIOPoints() noexcept
Non-const access to the points.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
writeOption
Enumeration defining write preferences.
@ AUTO_WRITE
Automatically write from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A simple container for options an IOstream can normally have.
A surface geometry mesh with zone information, not to be confused with the similarly named surfaceMes...
A list of faces which address into the list of points.
PrimitivePatch(const ::Foam::UList< face > &faces, const const pointField &&points)
const Field< point_type > & faceAreas() const
const Field< point_type > & faceCentres() const
const Field< scalar > & magFaceAreas() const
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,...
static const dictionary null
An empty dictionary, which is also the parent for all dictionaries.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
A class for handling file names.
Abstract definition of a meshed surface defined by faces and points.
Registry of regIOobjects.
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
virtual label size() const
Return number of faces.
autoPtr< MeshedSurface< face > > releaseGeom()
Release the geometry and return as a MeshedSurface<face>.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc) const
Write all components using given format, version and compression.
surfZoneList & storedZones()
Non-const access to the surface zones.
const fileName & facesInstance() const
Return the current instance directory for faces.
void copySurface(const pointField &points, const faceList &faces, bool validate=false)
Update with new contents.
fileName meshDir() const
Return the local mesh directory (dbDir()/meshSubDir).
const vectorField & Sf() const
Return face area vectors (normals).
surfMesh Mesh
Typedef required for GeoMesh.
pointField & storedPoints()
Non-const access to global points.
virtual const faceList & faces() const
Return faces.
void clearGeom()
Clear geometry.
faceList & storedFaces()
Non-const access to the faces.
const scalarField & magSf() const
Return face area magnitudes.
readUpdateState
Enumeration defining the state of the mesh after a read update.
void clearPrimitives()
Clear primitive data (points, faces and cells).
virtual ~surfMesh()
Destructor.
virtual readUpdateState readUpdate()
Update mesh based on the files saved in time directories.
void operator=(const surfMesh &)=delete
No copy assignment.
void updateRefs()
Update point/face references.
surfMesh(const surfMesh &)=delete
No copy construct.
const fileName & pointsInstance() const
Return the current instance directory for points.
const vectorField & Cf() const
Face centres.
TypeName("surfMesh")
Declare type-name, virtual type (with debug switch).
void checkZones(const bool verbose=true)
Check the surface zone definitions.
void setInstance(const fileName &inst, IOobjectOption::writeOption wOpt=IOobjectOption::AUTO_WRITE)
Set the instance for mesh files.
void clearAddressing()
Clear addressing.
DimensionedField< Type, GeoMeshType > & storeField(const word &fieldName, const dimensionSet &dims, const Field< Type > &values)
Copy/store named field as face or point data (template parameter).
DimensionedField< Type, GeoMeshType > & storeField(const word &fieldName, const dimensionSet &dims, Field< Type > &&values)
Move/store named field as face or point data (template parameter).
virtual const pointField & points() const
Return points.
void clearFields()
Clear stored fields.
void removeFiles() const
Remove all files from mesh instance().
virtual label nPoints() const
Return the number of raw points.
virtual const surfZoneList & surfZones() const
Return surface zones.
static word meshSubDir
Return the mesh sub-directory name (normally "surfMesh").
bool BoundaryMesh
Placeholder only, but do not remove - it is needed for GeoMesh.
void removeZones()
Remove surface zones.
void clearOut()
Clear all geometry and addressing unnecessary for CFD.
void transfer(MeshedSurface< face > &surf, bool validate=false)
Transfer the contents of the argument and annul the argument.
void addZones(const surfZoneList &zones, bool validate=true)
Add surface zones, optionally validating the zone coverage.
virtual label nFaces() const
Return the number of raw faces.
DimensionedField< Type, GeoMeshType > & newField(const word &fieldName, const dimensionSet &dims)
Create/store named zero field as face or point data (template parameter).
void setWriteOption(IOobjectOption::writeOption wOpt)
Adjust the write option for all components.
IOobject for a surfZoneList.
surfaceRegistry(const surfaceRegistry &)=delete
No copy construct.
A class for handling words, derived from Foam::string.
static const word null
An empty word.
List< surfZone > surfZoneList
List of surfZone.
List< face > faceList
List of faces.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
vectorField pointField
pointField is a vectorField.
thermo validate(args.executable(), "h")
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.