Go to the documentation of this file.
71 class faMeshLduAddressing;
81 public MeshObject<polyMesh, Foam::UpdateableMeshObject, faMesh>,
112 mutable label nPoints_;
115 mutable label nEdges_;
118 mutable label nInternalEdges_;
121 mutable label nFaces_;
142 mutable label curTimeIndex_;
184 mutable boolList* correctPatchPointNormalsPtr_;
196 static const int quadricsFit_;
205 void operator=(
const faMesh&) =
delete;
209 void setPrimitiveMeshData();
215 void calcLduAddressing()
const;
218 void calcPatchStarts()
const;
224 void calcMagLe()
const;
227 void calcAreaCentres()
const;
230 void calcEdgeCentres()
const;
236 void calcFaceAreaNormals()
const;
239 void calcEdgeAreaNormals()
const;
242 void calcPointAreaNormals()
const;
245 void calcPointAreaNormalsByQuadricsFit()
const;
248 void calcFaceCurvatures()
const;
251 void calcEdgeTransformTensors()
const;
254 void clearGeomNotAreas()
const;
257 void clearGeom()
const;
260 void clearAddressing()
const;
263 void clearOut()
const;
357 inline label
nEdges()
const
364 return nInternalEdges_;
367 inline label
nFaces()
const
393 return edgeNeighbour_;
409 virtual bool hasDb()
const;
550 virtual bool write(
const bool valid =
true)
const;
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const word & name() const
Name function is needed to disambiguate those inherited.
fileName meshDir() const
Return the local mesh directory (dbDir()/meshSubDir)
const edgeVectorField & Le() const
Return edge length vectors.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
virtual void mapOldAreas(const faMeshMapper &mapper) const
Map face areas in time using given map.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const word & name() const
Return name.
A class for handling words, derived from Foam::string.
const faceList & faces() const
Return faces.
A class for handling file names.
A field of fields is a PtrList of fields with reference counting.
virtual bool write(const bool valid=true) const
Write mesh.
Selector class for finite area differencing schemes. faMesh is derived from faShemes so that all fiel...
A class for managing temporary objects.
const indirectPrimitivePatch & patch() const
Return constant reference to primitive patch.
tmp< edgeScalarField > edgeLengthCorrection() const
Return edge length correction.
bool moving() const
Is mesh moving.
labelList internalPoints() const
Return internal point labels.
const labelList & faceLabels() const
Return faMesh face labels.
const edgeList & edges() const
Return edges.
Various mesh related information for a parallel run.
const vectorField & pointAreaNormals() const
Return point area normals.
virtual ~faMesh()
Destructor.
const DimensionedField< scalar, areaMesh > & S00() const
Return old-old-time face areas.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
Mesh consisting of general polyhedral cells.
const labelList & patchStarts() const
Return patch starts.
const faGlobalMeshData & globalData() const
Return parallel info.
Registry of regIOobjects.
Finite area boundary mesh.
const FieldField< Field, tensor > & edgeTransformTensors() const
Return edge transformation tensors.
Class holds all the necessary information for mapping fields associated with faMesh.
const DimensionedField< scalar, areaMesh > & S0() const
Return old-time face areas.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
bool operator==(const faMesh &m) const
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
void addFaPatches(const List< faPatch * > &)
Add boundary patches. Constructor helper.
Forwards and collection of common area field types.
const areaVectorField & faceAreaNormals() const
Return face area normals.
const Time & time() const
Return reference to time.
Selector class for finite area solution. faMesh is derived from faSolution so that all fields have ac...
const edgeScalarField & magLe() const
Return edge length magnitudes.
const fileName & facesInstance() const
Return the current instance directory for faces.
bool operator!=(const faMesh &m) const
bool moving() const
Is mesh moving.
const pointField & points() const
Return mesh points.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
const labelUList & neighbour() const
Internal face neighbour.
label nInternalEdges() const
const labelList & edgeOwner() const
Edge owner addressing.
const edgeVectorField & edgeAreaNormals() const
Return edge area normals.
const polyMesh & mesh() const
Return access to polyMesh.
labelList boundaryPoints() const
Return boundary point labels.
boolList & correctPatchPointNormals() const
Set whether point normals should be corrected for a patch.
const labelUList & owner() const
Internal face owner.
virtual const objectRegistry & thisDb() const
Return reference to the mesh database.
lduAddressing wrapper for faMesh
virtual bool hasDb() const
Return true if thisDb() is a valid DB.
const areaScalarField & faceCurvatures() const
Return face curvatures.
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
static word meshSubDir
Return the mesh sub-directory name (usually "faMesh")
const faBoundaryMesh & boundary() const
Return constant reference to boundary mesh.
const edgeVectorField & edgeCentres() const
Return edge centres as edgeVectorField.
virtual void mapFields(const faMeshMapper &mapper) const
Map all fields in time using given map.
virtual lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
virtual void updateMesh(const mapPolyMesh &)
Update after topo change.
Finite area mesh. Used for 2-D non-Euclidian finite area method.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
const fileName & pointsInstance() const
Return the current instance directory for points.
Generic GeometricField class.
bool isInternalEdge(const label edgeIndex) const
Return true if given edge label is internal to the mesh.
TypeName("faMesh")
Runtime type information.
Forwards for edge field types.
Face to edge interpolation scheme. Included in faMesh.
Database for solution data, solver performance and other reduced data.
const labelList & edgeNeighbour() const
Edge neighbour addressing.
faBoundaryMesh BoundaryMesh
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
virtual bool movePoints()
Update after mesh motion.
label comm() const
Return communicator used for parallel communication.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A list of faces which address into the list of points.
const areaVectorField & areaCentres() const
Return face centres as areaVectorField.
lduInterfacePtrsList interfaces() const