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