opm-simulators
Loading...
Searching...
No Matches
Opm::VcfvStencil< Scalar, GridView > Class Template Reference

Represents the finite volume geometry of a single element in the VCFV discretization. More...

#include <vcfvstencil.hh>

Classes

class  ScvGeometry
struct  SubControlVolume
 finite volume intersected with element More...
struct  SubControlVolumeFace
 interior face of a sub control volume More...

Public Types

using Entity = typename GridView::Traits::template Codim<dim>::Entity
using Mapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>
 exported Mapper type
using BoundaryFace = SubControlVolumeFace
 compatibility alias

Public Member Functions

 VcfvStencil (const GridView &gridView, const Mapper &mapper)
void updateTopology (const Element &e)
 Update the non-geometric part of the stencil.
void updatePrimaryTopology (const Element &element)
void update (const Element &e)
void updateScvGeometry (const Element &element)
unsigned numDof () const
unsigned numPrimaryDof () const
Dune::PartitionType partitionType (unsigned scvIdx) const
const SubControlVolume & subControlVolume (unsigned scvIdx) const
unsigned numInteriorFaces () const
unsigned numBoundaryFaces () const
const SubControlVolumeFace & interiorFace (unsigned faceIdx) const
const BoundaryFace & boundaryFace (unsigned bfIdx) const
unsigned globalSpaceIndex (unsigned dofIdx) const
 Return the global space index given the index of a degree of freedom.
Entity entity (unsigned dofIdx) const
 Return the global space index given the index of a degree of freedom.

Detailed Description

template<class Scalar, class GridView>
class Opm::VcfvStencil< Scalar, GridView >

Represents the finite volume geometry of a single element in the VCFV discretization.

The VCFV discretization is a vertex centered finite volume approach. This means that each vertex corresponds to a control volume which intersects each of the vertex' neighboring elements. If only looking at a single element of the primary grid (which is what this class does), the element is subdivided into multiple fragments of control volumes called sub-control volumes. Each of the element's vertices corresponds to exactly one sub-control volume in this scenario.

For the vertex-cented finite volume method the sub-control volumes are constructed by connecting the element's center with each edge of the element.

Member Function Documentation

◆ updateTopology()

template<class Scalar, class GridView>
void Opm::VcfvStencil< Scalar, GridView >::updateTopology ( const Element & e)
inline

Update the non-geometric part of the stencil.

I.e., indices and neighboring information, but nothing else...


The documentation for this class was generated from the following file: