My Project
|
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 | |
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. | |
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. | |
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. | |
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. | |
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_ |
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.
|
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...
|
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.