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

◆ 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: