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 SubControlVolume & subControlVolume (int scvIdx) const
 
int numInteriorFaces () const
 
int numBoundaryFaces () const
 
const SubControlVolumeFace & interiorFace (int faceIdx) const
 
const BoundaryFace & boundaryFace (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: