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 SubControlVolumesubControlVolume (unsigned scvIdx) const
unsigned numInteriorFaces () const
unsigned numBoundaryFaces () const
const SubControlVolumeFaceinteriorFace (unsigned faceIdx) const
const BoundaryFaceboundaryFace (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: