My Project
Loading...
Searching...
No Matches
Opm::FvBaseLocalResidual< TypeTag > Class Template Reference

Element-wise caculation of the residual matrix for models based on a finite volume spatial discretization. More...

#include <fvbaselocalresidual.hh>

Public Types

using LocalEvalBlockVector = Dune::BlockVector< EvalVector, aligned_allocator< EvalVector, alignof(EvalVector)> >
 

Public Member Functions

const LocalEvalBlockVector & residual () const
 Return the result of the eval() call using internal storage.
 
const EvalVector & residual (unsigned dofIdx) const
 Return the result of the eval() call using internal storage.
 
void eval (const Problem &problem, const Element &element)
 Compute the local residual, i.e.
 
void eval (ElementContext &elemCtx)
 Compute the local residual, i.e.
 
void eval (LocalEvalBlockVector &residual, ElementContext &elemCtx) const
 Compute the local residual, i.e.
 
void evalStorage (LocalEvalBlockVector &storage, const ElementContext &elemCtx, unsigned timeIdx) const
 Calculate the amount of all conservation quantities stored in all element's sub-control volumes for a given history index.
 
void evalFluxes (LocalEvalBlockVector &residual, const ElementContext &elemCtx, unsigned timeIdx) const
 Add the flux term to a local residual.
 
void computeStorage (EqVector &, const ElementContext &, unsigned, unsigned) const
 Evaluate the amount all conservation quantities (e.g.
 
void computeFlux (RateVector &, const ElementContext &, unsigned, unsigned) const
 Evaluates the total mass flux of all conservation quantities over a face of a sub-control volume.
 
void computeSource (RateVector &, const ElementContext &, unsigned, unsigned) const
 Calculate the source term of the equation.
 

Static Public Member Functions

static void registerParameters ()
 Register all run-time parameters for the local residual.
 

Protected Member Functions

void evalBoundary_ (LocalEvalBlockVector &residual, const ElementContext &elemCtx, unsigned timeIdx) const
 Evaluate the boundary conditions of an element.
 
void evalBoundarySegment_ (LocalEvalBlockVector &residual, const BoundaryContext &boundaryCtx, unsigned boundaryFaceIdx, unsigned timeIdx) const
 Evaluate all boundary conditions for a single sub-control volume face to the local residual.
 
void evalVolumeTerms_ (LocalEvalBlockVector &residual, ElementContext &elemCtx) const
 Add the change in the storage terms and the source term to the local residual of all sub-control volumes of the current element.
 

Detailed Description

template<class TypeTag>
class Opm::FvBaseLocalResidual< TypeTag >

Element-wise caculation of the residual matrix for models based on a finite volume spatial discretization.

Member Function Documentation

◆ computeFlux()

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::computeFlux ( RateVector &  ,
const ElementContext &  ,
unsigned  ,
unsigned   
) const
inline

Evaluates the total mass flux of all conservation quantities over a face of a sub-control volume.

◆ computeSource()

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::computeSource ( RateVector &  ,
const ElementContext &  ,
unsigned  ,
unsigned   
) const
inline

Calculate the source term of the equation.

◆ computeStorage()

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::computeStorage ( EqVector &  ,
const ElementContext &  ,
unsigned  ,
unsigned   
) const
inline

Evaluate the amount all conservation quantities (e.g.

phase mass) within a finite sub-control volume.

◆ eval() [1/3]

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::eval ( const Problem &  problem,
const Element &  element 
)
inline

Compute the local residual, i.e.

the deviation of the conservation equations from zero and store the results internally.

The results can be requested afterwards using the residual() method.

◆ eval() [2/3]

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::eval ( ElementContext &  elemCtx)
inline

Compute the local residual, i.e.

the deviation of the conservation equations from zero and store the results internally.

The results can be requested afterwards using the residual() method.

◆ eval() [3/3]

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::eval ( LocalEvalBlockVector &  residual,
ElementContext &  elemCtx 
) const
inline

Compute the local residual, i.e.

the deviation of the conservation equations from zero.

◆ evalFluxes()

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::evalFluxes ( LocalEvalBlockVector &  residual,
const ElementContext &  elemCtx,
unsigned  timeIdx 
) const
inline

Add the flux term to a local residual.

◆ evalStorage()

template<class TypeTag >
void Opm::FvBaseLocalResidual< TypeTag >::evalStorage ( LocalEvalBlockVector &  storage,
const ElementContext &  elemCtx,
unsigned  timeIdx 
) const
inline

Calculate the amount of all conservation quantities stored in all element's sub-control volumes for a given history index.

This is used to figure out how much of each conservation quantity is inside the element.

◆ residual()

template<class TypeTag >
const EvalVector & Opm::FvBaseLocalResidual< TypeTag >::residual ( unsigned  dofIdx) const
inline

Return the result of the eval() call using internal storage.


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