Ewoms::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. More...
 
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...
 
int numDof (int timeIdx) const
 
int numPrimaryDof (int timeIdx) const
 
int numInteriorFaces (int timeIdx) const
 
int numBoundaryFaces (int timeIdx) const
 Return the number of boundary segments of the current element. More...
 
const Stencil & stencil (int timeIdx) const
 
Vector normal (int boundaryFaceIdx, int timeIdx) const
 Returns the outer unit normal of the boundary segment. More...
 
Scalar boundarySegmentArea (int boundaryFaceIdx, int timeIdx) const
 Returns the area [m^2] of a given boudary segment. More...
 
const GlobalPosition & pos (int boundaryFaceIdx, int timeIdx) const
 Return the position of a local entity in global coordinates. More...
 
const GlobalPosition & cvCenter (int boundaryFaceIdx, int timeIdx) const
 Return the position of a control volume's center in global coordinates. More...
 
short interiorScvIndex (int boundaryFaceIdx, int timeIdx) const
 Return the local sub-control volume index of the interior of a boundary segment. More...
 
int globalSpaceIndex (int boundaryFaceIdx, int timeIdx) const
 Return the global space index of the sub-control volume at the interior of a boundary segment. More...
 
const IntensiveQuantities & intensiveQuantities (int boundaryFaceIdx, int timeIdx) const
 Return the intensive quantities for the finite volume in the interiour of a boundary segment. More...
 
const ExtensiveQuantities & extensiveQuantities (int boundaryFaceIdx, int timeIdx) const
 Return the extensive quantities for a given boundary face. More...
 
const Intersection & intersection (int boundaryFaceIdx) 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 Ewoms::FvBaseBoundaryContext< TypeTag >

Represents all quantities which available on boundary segments.

Constructor & Destructor Documentation

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

The constructor.

Member Function Documentation

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

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

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

template<class TypeTag >
const GlobalPosition& Ewoms::FvBaseBoundaryContext< TypeTag >::cvCenter ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::stencil().

template<class TypeTag >
const Element& Ewoms::FvBaseBoundaryContext< TypeTag >::element ( ) const
inline
template<class TypeTag >
const ElementContext& Ewoms::FvBaseBoundaryContext< TypeTag >::elementContext ( ) const
inline

Returns a reference to the element context object.

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

template<class TypeTag >
const ExtensiveQuantities& Ewoms::FvBaseBoundaryContext< TypeTag >::extensiveQuantities ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::elemCtx_.

template<class TypeTag >
int Ewoms::FvBaseBoundaryContext< TypeTag >::globalSpaceIndex ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::elemCtx_, and Ewoms::FvBaseBoundaryContext< TypeTag >::interiorScvIndex().

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

Returns a reference to the current gradient calculator.

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

template<class TypeTag >
const GridView& Ewoms::FvBaseBoundaryContext< TypeTag >::gridView ( ) const
inline
template<class TypeTag >
const IntensiveQuantities& Ewoms::FvBaseBoundaryContext< TypeTag >::intensiveQuantities ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::elemCtx_, and Ewoms::FvBaseBoundaryContext< TypeTag >::interiorScvIndex().

template<class TypeTag >
short Ewoms::FvBaseBoundaryContext< TypeTag >::interiorScvIndex ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::stencil().

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

template<class TypeTag >
const Intersection& Ewoms::FvBaseBoundaryContext< TypeTag >::intersection ( int  boundaryFaceIdx) 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 Ewoms::FvBaseBoundaryContext< TypeTag >::intersectionIt_.

template<class TypeTag >
IntersectionIterator& Ewoms::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 Ewoms::FvBaseBoundaryContext< TypeTag >::intersectionIt_.

template<class TypeTag >
const Model& Ewoms::FvBaseBoundaryContext< TypeTag >::model ( ) const
inline
template<class TypeTag >
Vector Ewoms::FvBaseBoundaryContext< TypeTag >::normal ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::stencil().

template<class TypeTag >
int Ewoms::FvBaseBoundaryContext< TypeTag >::numBoundaryFaces ( int  timeIdx) const
inline

Return the number of boundary segments of the current element.

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

template<class TypeTag >
int Ewoms::FvBaseBoundaryContext< TypeTag >::numDof ( int  timeIdx) const
inline
template<class TypeTag >
int Ewoms::FvBaseBoundaryContext< TypeTag >::numInteriorFaces ( int  timeIdx) const
inline
template<class TypeTag >
int Ewoms::FvBaseBoundaryContext< TypeTag >::numPrimaryDof ( int  timeIdx) const
inline
template<class TypeTag >
const GlobalPosition& Ewoms::FvBaseBoundaryContext< TypeTag >::pos ( int  boundaryFaceIdx,
int  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 Ewoms::FvBaseBoundaryContext< TypeTag >::stencil().

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

Member Data Documentation

template<class TypeTag >
IntersectionIterator Ewoms::FvBaseBoundaryContext< TypeTag >::intersectionIt_
protected

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