Stencil-local finite volume geometry (scvs and scvfs) for face-centered staggered models Specialization for grid caching disabled.
#include <dumux/discretization/facecentered/staggered/fvelementgeometry.hh>
Public Types | |
| using | SubControlVolume = typename GG::SubControlVolume |
| export type of subcontrol volume face | |
| using | SubControlVolumeFace = typename GG::SubControlVolumeFace |
| using | Element = typename GridView::template Codim<0>::Entity |
| using | GridGeometry = GG |
Public Member Functions | |
| FaceCenteredStaggeredFVElementGeometry (const GridGeometry &gridGeometry) | |
| const SubControlVolumeFace & | scvf (const GridIndexType scvfIdx) const |
| Get a sub control volume face with a global scvf index. | |
| const SubControlVolume & | scv (const GridIndexType scvIdx) const |
| Get a half sub control volume with a global scv index. | |
| const SubControlVolumeFace & | lateralOrthogonalScvf (const SubControlVolumeFace &scvf) const |
| Return a the lateral sub control volume face which is orthogonal to the given sub control volume face. | |
| const SubControlVolumeFace & | frontalScvfOnBoundary (const SubControlVolume &scv) const |
| Return the frontal sub control volume face on a the boundary for a given sub control volume. | |
| bool | hasBoundaryScvf () const |
| Returns whether one of the geometry's scvfs lies on a boundary. | |
| std::size_t | numScv () const |
| number of sub control volumes in this fv element geometry | |
| std::size_t | numScvf () const |
| number of sub control volumes in this fv element geometry | |
| FaceCenteredStaggeredFVElementGeometry | bind (const Element &element) && |
| bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); | |
| void | bind (const Element &element) & |
| FaceCenteredStaggeredFVElementGeometry | bindElement (const Element &element) && |
| bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); | |
| void | bindElement (const Element &element) & |
| GridIndexType | elementIndex () const |
| const Element & | element () const |
| The bound element. | |
| const GridGeometry & | gridGeometry () const |
| The grid geometry we are a restriction of. | |
| bool | scvfIntegrationPointInConcaveCorner (const SubControlVolumeFace &scvf) const |
| Returns true if the IP of an scvf lies on a concave corner. | |
| SubControlVolumeFace | outsideScvfWithSameIntegrationPoint (const SubControlVolumeFace &scvf) const |
| SubControlVolume | outsidePeriodicScv (const SubControlVolume &selfScv) const |
| Get the scv on the outside side of a periodic boundary. | |
| SubControlVolume::Traits::Geometry | geometry (const SubControlVolume &scv) const |
| Create the geometry of a given sub control volume. | |
| SubControlVolumeFace::Traits::Geometry | geometry (const SubControlVolumeFace &scvf) const |
| Create the geometry of a given sub control volume face. | |
Static Public Attributes | |
| static constexpr std::size_t | maxNumElementScvs = numScvsPerElement |
| the maximum number of scvs per element | |
| using Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::Element = typename GridView::template Codim<0>::Entity |
| using Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::GridGeometry = GG |
| using Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::SubControlVolume = typename GG::SubControlVolume |
| using Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::SubControlVolumeFace = typename GG::SubControlVolumeFace |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the the scvf of neighbor element with the same integration point and unit outer normal Todo: this code can likely be improved, we don't need to build all of the outside geometry if we know how to build scvf.
|
inline |
|
inline |
|
inline |
|
staticconstexpr |