Go to the documentation of this file.
77 class fvMeshLduAddressing;
207 const bool syncPar =
true
218 const bool syncPar =
true
231 const bool syncPar =
true
244 const bool syncPar =
true
257 virtual bool init(
const bool doInit);
263 const bool validBoundary =
true
270 const bool validBoundary =
true
287 virtual bool hasDb()
const
317 virtual label
comm()
const
501 virtual bool write(
const bool valid =
true)
const;
515 typename pTraits<sphericalTensor>::labelType
516 fvMesh::validComponents<sphericalTensor>()
const;
The class contains the addressing required by the lduMatrix: upper, lower and losort.
void storeOldVol(const scalarField &)
Preserve old volume(s)
virtual const pointField & points() const
Return raw points.
virtual ~fvMesh()
Destructor.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
virtual void interpolate(sphericalTensorField &) const
Interpolate interpolationCells only. No bcs.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
fvBoundaryMesh BoundaryMesh
virtual bool write(const bool valid=true) const
Write mesh using IO settings from time.
void clearAddressing()
Clear topological data.
A class for managing temporary objects.
void updateGeomNotOldVol()
Clear geometry like clearGeomNotOldVol but recreate any.
tmp< DimensionedField< scalar, volMesh > > Vsc0() const
Return sub-cycle old-time cell volumes.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
void clearOutLocal()
Clear local-only storage (geometry, addressing etc)
Selector class for finite volume differencing schemes. fvMesh is derived from fvSchemes so that all f...
void * VPtr_
Cell volumes old time level.
virtual void mapFields(const mapPolyMesh &mpm)
Map all fields in time using given map.
void clearGeomNotOldVol()
Clear geometry but not the old-time cell volumes.
surfaceScalarField & setPhi()
Return cell face motion fluxes.
const cellList & cells() const
virtual void interpolate(symmTensorField &) const
Interpolate interpolationCells only. No bcs.
void clearGeom()
Clear local geometry.
bool operator!=(const fvMesh &rhs) const
Compares addresses.
const DimensionedField< scalar, volMesh > & V00() const
Return old-old-time cell volumes.
bool operator==(const fvMesh &rhs) const
Compares addresses.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
Mesh consisting of general polyhedral cells.
label comm() const noexcept
Return communicator used for parallel communication.
virtual void interpolate(volSymmTensorField &) const
Interpolate interpolationCells only.
Foam::fvMeshLduAddressing.
surfaceScalarField * magSfPtr_
Mag face area vectors.
slicedSurfaceVectorField * SfPtr_
Face area vectors.
Registry of regIOobjects.
virtual readUpdateState readUpdate()
Update the mesh based on the mesh files saved in time.
const DimensionedField< scalar, volMesh > & V0() const
Return old-time cell volumes.
virtual SolverPerformance< scalar > solve(fvMatrix< scalar > &, const dictionary &) const
virtual label comm() const
Return communicator used for parallel communication.
slicedSurfaceVectorField * CfPtr_
Face centres.
DimensionedField< scalar, volMesh > * V0Ptr_
Cell volumes old time level.
virtual void interpolate(scalarField &) const
Interpolate interpolationCells only. No bcs.
virtual void updateGeom()
pTraits< Type >::labelType validComponents() const
Return a labelType of valid component indicators.
virtual void interpolate(volVectorField &) const
Interpolate interpolationCells only.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
virtual lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
virtual void interpolate(volTensorField &) const
Interpolate interpolationCells only.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
tmp< DimensionedField< scalar, volMesh > > Vsc() const
Return sub-cycle cell volumes.
Selector class for finite volume solution solution. fvMesh is derived from fvSolution so that all fie...
The IOstreamOption is a simple container for options an IOstream can normally have.
virtual void updateMesh(const mapPolyMesh &mpm)
Update mesh corresponding to the given map.
void operator=(const fvMesh &)=delete
No copy assignment.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const volVectorField & C() const
Return cell centres as volVectorField.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const labelUList & neighbour() const
Internal face neighbour.
void addFvPatches(PtrList< polyPatch > &plist, const bool validBoundary=true)
Add boundary patches. Constructor helper.
virtual bool movePoints()
Do what is necessary if the mesh has moved.
Mesh data needed to do the Finite Volume discretisation.
virtual void interpolate(vectorField &) const
Interpolate interpolationCells only. No bcs.
fvMesh(const fvMesh &)=delete
No copy construct.
const labelUList & owner() const
Internal face owner. Note bypassing virtual mechanism so.
const surfaceScalarField & phi() const
Return cell face motion fluxes.
virtual bool hasDb() const
Return true if thisDb() is a valid DB.
readUpdateState
Enumeration defining the state of the mesh after a read update.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
const word & name() const noexcept
Return name.
slicedVolVectorField * CPtr_
Cell centres.
virtual const faceList & faces() const
Return raw faces.
virtual bool init(const bool doInit)
Initialise all non-demand-driven data.
fvMeshLduAddressing * lduPtr_
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
const objectRegistry & thisDb() const noexcept
Return the object registry.
virtual void interpolate(tensorField &) const
Interpolate interpolationCells only. No bcs.
fvBoundaryMesh boundary_
Boundary mesh.
A traits class, which is primarily used for primitives.
Forwards and collection of common point field types.
DimensionedField< scalar, volMesh > * V00Ptr_
Cell volumes old-old time level.
Cell to surface interpolation scheme. Included in fvMesh.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Specialization of GeometricField which holds slices of given complete fields in a form that they act ...
DimensionedField< scalar, volMesh > & setV0()
Return old-time cell volumes.
const Time & time() const
Return the top-level database.
label curTimeIndex_
Current time index for cell volumes.
virtual void interpolate(volSphericalTensorField &) const
Interpolate interpolationCells only.
const surfaceVectorField & Cf() const
Return face centres as surfaceVectorField.
Database for solution data, solver performance and other reduced data.
const Time & time() const noexcept
Return time registry.
tmp< surfaceVectorField > delta() const
Return face deltas as surfaceVectorField.
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
UPtrList< const lduInterface > lduInterfacePtrsList
List of coupled interface fields to be used in coupling.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
void clearOut()
Clear all geometry and addressing.
const word & name() const
Return reference to name.
virtual void interpolate(volScalarField &) const
Interpolate interpolationCells only.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
surfaceScalarField * phiPtr_
Face motion fluxes.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
const surfaceVectorField & Sf() const
Return cell face area vectors.
virtual bool writeObject(IOstreamOption streamOpt, const bool valid) const
Write the underlying polyMesh and other data.