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

#include <fvbaseboundarycontext.hh>

Public Member Functions

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

Protected Attributes

const ElementContext & elemCtx_
 
IntersectionIterator intersectionIt_
 

Detailed Description

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

Represents all quantities which available on boundary segments.

Constructor & Destructor Documentation

◆ FvBaseBoundaryContext()

template<class TypeTag >
Opm::FvBaseBoundaryContext< TypeTag >::FvBaseBoundaryContext ( const ElementContext &  elemCtx)
inlineexplicit

The constructor.

Member Function Documentation

◆ boundarySegmentArea()

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

Returns the area [m^2] of a given boudary segment.

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::stencil().

◆ element()

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

◆ elementContext()

template<class TypeTag >
const ElementContext & Opm::FvBaseBoundaryContext< TypeTag >::elementContext ( ) const
inline

Returns a reference to the element context object.

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ focusDofIndex()

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

Return the local sub-control volume index upon which the linearization is currently focused.

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_, and Opm::FvBaseBoundaryContext< TypeTag >::interiorScvIndex().

◆ gradientCalculator()

template<class TypeTag >
const GradientCalculator & Opm::FvBaseBoundaryContext< TypeTag >::gradientCalculator ( ) const
inline

Returns a reference to the current gradient calculator.

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ gridView()

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

◆ increment()

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_, and Opm::FvBaseBoundaryContext< TypeTag >::interiorScvIndex().

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::stencil().

Referenced by Opm::FvBaseBoundaryContext< TypeTag >::globalSpaceIndex(), and Opm::FvBaseBoundaryContext< TypeTag >::intensiveQuantities().

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::intersectionIt_.

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::intersectionIt_.

◆ 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

References Opm::FvBaseBoundaryContext< TypeTag >::stencil().

◆ numBoundaryFaces()

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

Return the number of boundary segments of the current element.

References Opm::FvBaseBoundaryContext< TypeTag >::elemCtx_.

◆ numDof()

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

◆ numInteriorFaces()

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

◆ numPrimaryDof()

template<class TypeTag >
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

References Opm::FvBaseBoundaryContext< TypeTag >::stencil().

◆ problem()

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

◆ stencil()

Member Data Documentation

◆ elemCtx_

◆ intersectionIt_


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