opm-simulators
Loading...
Searching...
No Matches
Opm::FvBaseBoundaryContext< TypeTag > Class Template Reference

Represents all quantities which available on boundary segments. More...

#include <fvbaseboundarycontext.hh>

Public Member Functions

 FvBaseBoundaryContext (const ElementContext &elemCtx)
 The constructor.
void increment ()
const Problem & problem () const
const Model & model () const
const GridView & gridView () const
const Element & element () const
const ElementContext & elementContext () const
 Returns a reference to the element context object.
const GradientCalculator & gradientCalculator () const
 Returns a reference to the current gradient calculator.
std::size_t numDof (unsigned timeIdx) const
std::size_t numPrimaryDof (unsigned timeIdx) const
std::size_t numInteriorFaces (unsigned timeIdx) const
std::size_t numBoundaryFaces (unsigned timeIdx) const
 Return the number of boundary segments of the current element.
const Stencil & stencil (unsigned timeIdx) const
Vector normal (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Returns the outer unit normal of the boundary segment.
Scalar boundarySegmentArea (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Returns the area [m^2] of a given boudary segment.
const GlobalPosition & pos (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the position of a local entity in global coordinates.
const GlobalPosition & cvCenter (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the position of a control volume's center in global coordinates.
unsigned focusDofIndex () const
 Return the local sub-control volume index upon which the linearization is currently focused.
unsigned interiorScvIndex (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the local sub-control volume index of the interior of a boundary segment.
unsigned globalSpaceIndex (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the global space index of the sub-control volume at the interior of a boundary segment.
const IntensiveQuantities & intensiveQuantities (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the intensive quantities for the finite volume in the interiour of a boundary segment.
const ExtensiveQuantities & extensiveQuantities (unsigned boundaryFaceIdx, unsigned timeIdx) const
 Return the extensive quantities for a given boundary face.
const Intersection intersection (unsigned) const
 Return the intersection for the neumann segment.
IntersectionIterator & intersectionIt ()
 Return the intersection for the neumann segment.

Protected Attributes

const ElementContext & elemCtx_
IntersectionIterator intersectionIt_

Detailed Description

template<class TypeTag>
class Opm::FvBaseBoundaryContext< TypeTag >

Represents all quantities which available on boundary segments.

Member Function Documentation

◆ cvCenter()

template<class TypeTag>
const GlobalPosition & Opm::FvBaseBoundaryContext< TypeTag >::cvCenter ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the position of a control volume's center in global coordinates.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ element()

template<class TypeTag>
const Element & Opm::FvBaseBoundaryContext< TypeTag >::element ( ) const
inline

◆ extensiveQuantities()

template<class TypeTag>
const ExtensiveQuantities & Opm::FvBaseBoundaryContext< TypeTag >::extensiveQuantities ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the extensive quantities for a given boundary face.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ globalSpaceIndex()

template<class TypeTag>
unsigned Opm::FvBaseBoundaryContext< TypeTag >::globalSpaceIndex ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the global space index of the sub-control volume at the interior of a boundary segment.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ gridView()

template<class TypeTag>
const GridView & Opm::FvBaseBoundaryContext< TypeTag >::gridView ( ) const
inline

◆ intensiveQuantities()

template<class TypeTag>
const IntensiveQuantities & Opm::FvBaseBoundaryContext< TypeTag >::intensiveQuantities ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the intensive quantities for the finite volume in the interiour of a boundary segment.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ interiorScvIndex()

template<class TypeTag>
unsigned Opm::FvBaseBoundaryContext< TypeTag >::interiorScvIndex ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the local sub-control volume index of the interior of a boundary segment.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ intersection()

template<class TypeTag>
const Intersection Opm::FvBaseBoundaryContext< TypeTag >::intersection ( unsigned ) const
inline

Return the intersection for the neumann segment.

TODO/HACK: The intersection should take a local index as an argument. since that's not supported efficiently by the DUNE grid interface, we just ignore the index argument here!

Parameters
boundaryFaceIdxThe local index of the boundary segment

◆ intersectionIt()

template<class TypeTag>
IntersectionIterator & Opm::FvBaseBoundaryContext< TypeTag >::intersectionIt ( )
inline

Return the intersection for the neumann segment.

TODO/HACK: the intersection iterator can basically be considered as an index which is manipulated externally, but context classes should not store any indices. it is done this way for performance reasons

◆ model()

template<class TypeTag>
const Model & Opm::FvBaseBoundaryContext< TypeTag >::model ( ) const
inline

◆ normal()

template<class TypeTag>
Vector Opm::FvBaseBoundaryContext< TypeTag >::normal ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Returns the outer unit normal of the boundary segment.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ numDof()

template<class TypeTag>
std::size_t Opm::FvBaseBoundaryContext< TypeTag >::numDof ( unsigned timeIdx) const
inline

◆ numInteriorFaces()

template<class TypeTag>
std::size_t Opm::FvBaseBoundaryContext< TypeTag >::numInteriorFaces ( unsigned timeIdx) const
inline

◆ numPrimaryDof()

template<class TypeTag>
std::size_t Opm::FvBaseBoundaryContext< TypeTag >::numPrimaryDof ( unsigned timeIdx) const
inline

◆ pos()

template<class TypeTag>
const GlobalPosition & Opm::FvBaseBoundaryContext< TypeTag >::pos ( unsigned boundaryFaceIdx,
unsigned timeIdx ) const
inline

Return the position of a local entity in global coordinates.

Parameters
boundaryFaceIdxThe local index of the boundary segment
timeIdxThe index of the solution used by the time discretization

◆ problem()

template<class TypeTag>
const Problem & Opm::FvBaseBoundaryContext< TypeTag >::problem ( ) const
inline

◆ stencil()

template<class TypeTag>
const Stencil & Opm::FvBaseBoundaryContext< TypeTag >::stencil ( unsigned timeIdx) const
inline


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