Loading...
Searching...
No Matches
Opm::EcfvStencil< Scalar, GridView, needFaceIntegrationPos, needFaceNormal > Class Template Reference

Represents the stencil (finite volume geometry) of a single element in the ECFV discretization. More...

`#include <ecfvstencil.hh>`

## Classes

class | SubControlVolume
| Represents a sub-control volume. More...
class | EcfvSubControlVolumeFace
| Represents a face of a sub-control volume. More...

## Public Types

using | Entity = Element
using | Mapper = ElementMapper
using | LocalGeometry = typename Element::Geometry
using | SubControlVolumeFace = EcfvSubControlVolumeFace<needFaceIntegrationPos, needFaceNormal>
using | BoundaryFace = EcfvSubControlVolumeFace<true, needFaceNormal>

## Public Member Functions

| EcfvStencil (const GridView &gridView, const Mapper &mapper)
void | updateTopology (const Element &element)
void | updatePrimaryTopology (const Element &element)
void | update (const Element &element)
void | updateCenterGradients ()
const Element & | element () const
| Return the element to which the stencil refers.
const GridView & | gridView () const
| Return the grid view of the element to which the stencil refers.
std::size_t | numDof () const
| Returns the number of degrees of freedom which the current element interacts with.
std::size_t | numPrimaryDof () const
| Returns the number of degrees of freedom which are contained by within the current element.
unsigned | globalSpaceIndex (unsigned dofIdx) const
| Return the global space index given the index of a degree of freedom.
Dune::PartitionType | partitionType (unsigned dofIdx) const
| Return partition type of a given degree of freedom.
const Element & | element (unsigned dofIdx) const
| Return the element given the index of a degree of freedom.
const Entity & | entity (unsigned dofIdx) const
| Return the entity given the index of a degree of freedom.
const SubControlVolume & | subControlVolume (unsigned dofIdx) const
| Returns the sub-control volume object belonging to a given degree of freedom.
std::size_t | numInteriorFaces () const
| Returns the number of interior faces of the stencil.
const SubControlVolumeFace & | interiorFace (unsigned faceIdx) const
| Returns the face object belonging to a given face index in the interior of the domain.
std::size_t | numBoundaryFaces () const
| Returns the number of boundary faces of the stencil.
const BoundaryFace & | boundaryFace (unsigned bfIdx) const
| Returns the boundary face object belonging to a given boundary face index.

## Protected Attributes

const GridView & | gridView_
const ElementMapper & | elementMapper_
std::vector< Element > | elements_
std::vector< SubControlVolume > | subControlVolumes_
std::vector< SubControlVolumeFace > | interiorFaces_
std::vector< BoundaryFace > | boundaryFaces_

## Detailed Description

template<class Scalar, class GridView, bool needFaceIntegrationPos = true, bool needFaceNormal = true>
class Opm::EcfvStencil< Scalar, GridView, needFaceIntegrationPos, needFaceNormal >

Represents the stencil (finite volume geometry) of a single element in the ECFV discretization.

The ECFV discretization is a element centered finite volume approach. This means that each element corresponds to a control volume.

## Member Function Documentation

## element()

template<class Scalar, class GridView, bool needFaceIntegrationPos = true, bool needFaceNormal = true>

const Element & Opm::EcfvStencil< Scalar, GridView, needFaceIntegrationPos, needFaceNormal >::element | ( | unsigned | dofIdx | ) | const

inline

Return the element given the index of a degree of freedom.

If no degree of freedom index is passed, the element which was passed to the update() method is returned...

## numPrimaryDof()

template<class Scalar, class GridView, bool needFaceIntegrationPos = true, bool needFaceNormal = true>

std::size_t Opm::EcfvStencil< Scalar, GridView, needFaceIntegrationPos, needFaceNormal >::numPrimaryDof | ( |  | ) | const

inline

Returns the number of degrees of freedom which are contained by within the current element.

Primary DOFs are always expected to have a lower index than "secondary" DOFs.

For element centered finite elements, this is only the central DOF.

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

- opm/models/discretization/ecfv/ecfvstencil.hh