Go to the documentation of this file.
75 class fvMeshLduAddressing;
204 const bool syncPar =
true
215 const bool syncPar =
true
231 const bool validBoundary =
true
238 const bool validBoundary =
true
255 virtual bool hasDb()
const
288 virtual label
comm()
const
465 virtual bool write(
const bool valid =
true)
const;
479 typename pTraits<sphericalTensor>::labelType
480 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.
const word & name() const
Return name.
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.
Selector class for finite volume differencing schemes. fvMesh is derived from fvShemes so that all fi...
void * VPtr_
Cell volumes old time level.
const Time & time() const
Return time.
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 geometry.
void removeFvBoundary()
Remove boundary patches. Warning: fvPatchFields hold ref to.
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.
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.
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 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.
lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
void operator=(const fvMesh &)=delete
No copy assignment.
const objectRegistry & thisDb() const
Return the object registry.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
label comm() const
Return communicator used for parallel communication.
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.
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.
slicedVolVectorField * CPtr_
Cell centres.
virtual const faceList & faces() const
Return raw faces.
fvMeshLduAddressing * lduPtr_
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
virtual void interpolate(tensorField &) const
Interpolate interpolationCells only. No bcs.
fvBoundaryMesh boundary_
Boundary mesh.
Traits class for primitives.
Forwards and collection of common point field types.
DimensionedField< scalar, volMesh > * V00Ptr_
Cell volumes old-old time level.
virtual lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
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.
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.