All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Ewoms::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  EcfvSubControlVolumeFace
 Represents a face of a sub-control volume. More...
 
class  SubControlVolume
 Represents a sub-control volume. More...
 

Public Types

typedef Element Entity
 
typedef ElementMapper Mapper
 
typedef Element::Geometry LocalGeometry
 
typedef
EcfvSubControlVolumeFace
< needFaceIntegrationPos,
needFaceNormal > 
SubControlVolumeFace
 

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.
 
size_t numDof () const
 Returns the number of degrees of freedom which the current element interacts with.
 
size_t numPrimaryDof () const
 Returns the number of degrees of freedom which are contained by within the current element. More...
 
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. More...
 
const Entity & entity (unsigned dofIdx) const
 Return the entity given the index of a degree of freedom.
 
const SubControlVolumesubControlVolume (unsigned dofIdx) const
 Returns the sub-control volume object belonging to a given degree of freedom.
 
size_t numInteriorFaces () const
 Returns the number of interior faces of the stencil.
 
const SubControlVolumeFaceinteriorFace (unsigned bfIdx) const
 Returns the face object belonging to a given face index in the interior of the domain.
 
size_t numBoundaryFaces () const
 Returns the number of boundary faces of the stencil.
 
const SubControlVolumeFaceboundaryFace (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< SubControlVolumesubControlVolumes_
 
std::vector< SubControlVolumeFaceinteriorFaces_
 
std::vector< SubControlVolumeFaceboundaryFaces_
 

Detailed Description

template<class Scalar, class GridView, bool needFaceIntegrationPos = true, bool needFaceNormal = true>
class Ewoms::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

template<class Scalar , class GridView , bool needFaceIntegrationPos = true, bool needFaceNormal = true>
const Element& Ewoms::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...

template<class Scalar , class GridView , bool needFaceIntegrationPos = true, bool needFaceNormal = true>
size_t Ewoms::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: