Loading...
Searching...
No Matches
vcfvstencil.hh File Reference

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

`#include <dune/common/version.hh>`
`#include <dune/geometry/referenceelements.hh>`
`#include <dune/grid/common/intersectioniterator.hh>`
`#include <dune/grid/common/mcmgmapper.hh>`
`#include <opm/models/utils/quadraturegeometries.hh>`
`#include <array>`
`#include <cassert>`
`#include <cmath>`
`#include <stdexcept>`
`#include <string>`
`#include <utility>`

Go to the source code of this file.

## Classes

class | Opm::VcfvStencil< Scalar, GridView >
| Represents the finite volume geometry of a single element in the VCFV discretization. More...
class | Opm::VcfvStencil< Scalar, GridView >::ScvGeometry
struct | Opm::VcfvStencil< Scalar, GridView >::SubControlVolume
| finite volume intersected with element More...
struct | Opm::VcfvStencil< Scalar, GridView >::SubControlVolumeFace
| interior face of a sub control volume More...

## Namespaces

namespace | Opm
| This file contains a set of helper functions used by VFPProd / VFPInj.

## Enumerations

enum class | Opm::ElementType { none , simplex , cube }
| The types of reference elements available.

## Variables

template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 1, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 1, ElementType::cube >::numScv > | Opm::VcfvScvGeometries< Scalar, 1, ElementType::cube >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 2, ElementType::simplex >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 2, ElementType::simplex >::numScv > | Opm::VcfvScvGeometries< Scalar, 2, ElementType::simplex >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 2, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 2, ElementType::cube >::numScv > | Opm::VcfvScvGeometries< Scalar, 2, ElementType::cube >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 3, ElementType::simplex >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 3, ElementType::simplex >::numScv > | Opm::VcfvScvGeometries< Scalar, 3, ElementType::simplex >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 3, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 3, ElementType::cube >::numScv > | Opm::VcfvScvGeometries< Scalar, 3, ElementType::cube >::scvGeoms_ {}

## Detailed Description

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.