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

typedef
Dune::MultipleCodimMultipleGeomTypeMapper
< GridView,
Dune::MCMGVertexLayout > 
VertexMapper
 
typedef SubControlVolumeFace BoundaryFace
 compatibility typedef More...
 

Public Member Functions

 VcfvStencil (const GridView &gridView)
 
void updateTopology (const Element &e)
 Update the non-geometric part of the stencil. More...
 
void update (const Element &e)
 
void updateScvGeometry (const Element &element)
 
void updateCenterGradients ()
 
int numDof () const
 
int numPrimaryDof () const
 
Dune::PartitionType partitionType (int scvIdx) const
 
const SubControlVolumesubControlVolume (int scvIdx) const
 
int numInteriorFaces () const
 
int numBoundaryFaces () const
 
const SubControlVolumeFaceinteriorFace (int faceIdx) const
 
const BoundaryFaceboundaryFace (int bfIdx) const
 
int globalSpaceIndex (int dofIdx) const
 Return the global space index given the index of a degree of freedom. More...
 

Detailed Description

template<class Scalar, class GridView>
class Ewoms::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 Typedef Documentation

template<class Scalar , class GridView >
typedef SubControlVolumeFace Ewoms::VcfvStencil< Scalar, GridView >::BoundaryFace

compatibility typedef

template<class Scalar , class GridView >
typedef Dune::MultipleCodimMultipleGeomTypeMapper<GridView, Dune::MCMGVertexLayout > Ewoms::VcfvStencil< Scalar, GridView >::VertexMapper

Constructor & Destructor Documentation

template<class Scalar , class GridView >
Ewoms::VcfvStencil< Scalar, GridView >::VcfvStencil ( const GridView &  gridView)
inline

Member Function Documentation

template<class Scalar , class GridView >
const BoundaryFace& Ewoms::VcfvStencil< Scalar, GridView >::boundaryFace ( int  bfIdx) const
inline
template<class Scalar , class GridView >
int Ewoms::VcfvStencil< Scalar, GridView >::globalSpaceIndex ( int  dofIdx) const
inline

Return the global space index given the index of a degree of freedom.

References Ewoms::VcfvStencil< Scalar, GridView >::numDof().

template<class Scalar , class GridView >
const SubControlVolumeFace& Ewoms::VcfvStencil< Scalar, GridView >::interiorFace ( int  faceIdx) const
inline
template<class Scalar , class GridView >
int Ewoms::VcfvStencil< Scalar, GridView >::numBoundaryFaces ( ) const
inline
template<class Scalar , class GridView >
int Ewoms::VcfvStencil< Scalar, GridView >::numInteriorFaces ( ) const
inline
template<class Scalar , class GridView >
int Ewoms::VcfvStencil< Scalar, GridView >::numPrimaryDof ( ) const
inline
template<class Scalar , class GridView >
Dune::PartitionType Ewoms::VcfvStencil< Scalar, GridView >::partitionType ( int  scvIdx) const
inline
template<class Scalar , class GridView >
const SubControlVolume& Ewoms::VcfvStencil< Scalar, GridView >::subControlVolume ( int  scvIdx) const
inline
template<class Scalar , class GridView >
void Ewoms::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...

Referenced by Ewoms::VcfvStencil< Scalar, GridView >::update().


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