3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > Class Template Reference

Staggered scheme local assembler using numeric differentiation and implicit time discretization. More...

#include <dumux/multidomain/subdomainstaggeredlocalassembler.hh>

Inheritance diagram for Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >:

Description

template<std::size_t id, class TypeTag, class Assembler>
class Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >

Staggered scheme local assembler using numeric differentiation and implicit time discretization.

The assembly of the cellCenterResidual is done element-wise, the assembly of the face residual is done half-element-wise.

A sketch of what this means can be found in the following image:

Half-element wise assembly means, that integrals are split into contributions from the left and right part of the staggered control volume. For an example term \(\int_{\Omega}\varrho u\text{d}\Omega\) this reads \(\int_{\Omega}\varrho u\text{d}\Omega = \frac{1}{2}\Omega_\text{left}\varrho_\text{left}u+\frac{1}{2}\Omega_\text{right}\varrho_\text{right}u\).

During assembly, \(\frac{1}{2}\Omega_\text{left}\varrho_\text{left}u\) is added to the residual of the staggered control volume \(\Omega\), when the loops reach the scvf within element \(\Omega_\text{left}\). \(\frac{1}{2}\Omega_\text{right}\varrho_\text{right}u\) is added to the residual of \(\Omega\), when the loops reach the scvf within in element \(\Omega_\text{right}\). Other terms are split analogously.

Public Types

using ElementResidualVector = typename LocalResidual::ElementResidualVector
 

Public Member Functions

CellCenterResidualValue assembleCellCenterResidualImpl ()
 
FaceResidualValue assembleFaceResidualImpl (const SubControlVolumeFace &scvf)
 
template<class JacobianMatrixDiagBlock , class GridVariables >
CellCenterResidualValue assembleCellCenterJacobianAndResidualImpl (JacobianMatrixDiagBlock &A, GridVariables &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. More...
 
template<class JacobianMatrixDiagBlock , class GridVariables >
auto assembleFaceJacobianAndResidualImpl (JacobianMatrixDiagBlock &A, GridVariables &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. More...
 
template<class JacobianBlock , class GridVariables >
void assembleJacobianCellCenterCoupling (Dune::index_constant< faceId > domainJ, JacobianBlock &A, const CellCenterResidualValue &origResidual, GridVariables &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. More...
 
template<std::size_t otherId, class JacobianBlock , class GridVariables >
void assembleJacobianCellCenterCoupling (Dune::index_constant< otherId > domainJ, JacobianBlock &A, const CellCenterResidualValue &res, GridVariables &gridVariables)
 
template<class JacobianBlock , class ElementResidualVector , class GridVariables >
void assembleJacobianFaceCoupling (Dune::index_constant< cellCenterId > domainJ, JacobianBlock &A, const ElementResidualVector &origResiduals, GridVariables &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. More...
 
template<std::size_t otherId, class JacobianBlock , class ElementResidualVector , class GridVariables >
void assembleJacobianFaceCoupling (Dune::index_constant< otherId > domainJ, JacobianBlock &A, const ElementResidualVector &res, GridVariables &gridVariables)
 
template<class JacobianMatrixDiagBlock , class GridVariables >
void evalAdditionalDerivatives (const std::vector< std::size_t > &additionalDofDependencies, JacobianMatrixDiagBlock &A, GridVariables &gridVariables)
 
void bindLocalViews ()
 
void assembleJacobianAndResidual (JacobianMatrixRow &jacRow, SubSol &res, GridVariablesTuple &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. The element residual is written into the right hand side. More...
 
void assembleResidual (SubSol &res)
 Assemble the residual only. More...
 
CellCenterResidualValue evalLocalResidualForCellCenter () const
 Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables. More...
 
CellCenterResidualValue evalLocalResidualForCellCenter (const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const
 Evaluates the complete local residual for the current cell center. More...
 
CellCenterResidualValue evalLocalFluxAndSourceResidualForCellCenter () const
 Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More...
 
CellCenterResidualValue evalLocalFluxAndSourceResidualForCellCenter (const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const
 Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. More...
 
CellCenterResidualValue evalLocalStorageResidualForCellCenter () const
 Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More...
 
FaceResidualValue evalLocalResidualForFace (const SubControlVolumeFace &scvf) const
 Convenience function to evaluate the local residual for the current face. Automatically chooses the the appropriate element volume and face variables. More...
 
FaceResidualValue evalLocalResidualForFace (const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const
 Evaluates the complete local residual for the current face. More...
 
FaceResidualValue evalLocalFluxAndSourceResidualForFace (const SubControlVolumeFace &scvf) const
 Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables. More...
 
FaceResidualValue evalLocalFluxAndSourceResidualForFace (const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars) const
 Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current face. More...
 
FaceResidualValue evalLocalStorageResidualForFace (const SubControlVolumeFace &scvf) const
 Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current face. Automatically chooses the the appropriate element volume and face variables. More...
 
const Problem & problem () const
 
ElementFaceVariables & curElemFaceVars ()
 The current element volume variables. More...
 
const ElementFaceVariables & curElemFaceVars () const
 The current element volume variables. More...
 
ElementFaceVariables & prevElemFaceVars ()
 The element volume variables of the provious time step. More...
 
const ElementFaceVariables & prevElemFaceVars () const
 The element volume variables of the provious time step. More...
 
CouplingManager & couplingManager ()
 
ElementResidualVector evalLocalResidual () const
 Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables. More...
 
ElementResidualVector evalLocalResidual (const ElementVolumeVariables &elemVolVars) const
 Evaluates the complete local residual for the current element. More...
 
ElementResidualVector evalLocalFluxAndSourceResidual () const
 Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables. More...
 
ElementResidualVector evalLocalFluxAndSourceResidual (const ElementVolumeVariables &elemVolVars) const
 Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. More...
 
ElementResidualVector evalLocalStorageResidual () const
 Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables. More...
 
void enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet)
 Enforces Dirichlet constraints if enabled in the problem. More...
 
void enforceInternalDirichletConstraints (const ApplyFunction &applyDirichlet)
 
const Assembler & assembler () const
 The assembler. More...
 
const Element & element () const
 The current element. More...
 
bool elementIsGhost () const
 Returns if element is a ghost entity. More...
 
const SolutionVector & curSol () const
 The current solution. More...
 
FVElementGeometry & fvGeometry ()
 The global finite volume geometry. More...
 
const FVElementGeometry & fvGeometry () const
 The finite volume geometry. More...
 
ElementVolumeVariables & curElemVolVars ()
 The current element volume variables. More...
 
const ElementVolumeVariables & curElemVolVars () const
 The current element volume variables. More...
 
ElementVolumeVariables & prevElemVolVars ()
 The element volume variables of the provious time step. More...
 
const ElementVolumeVariables & prevElemVolVars () const
 The element volume variables of the provious time step. More...
 
ElementFluxVariablesCache & elemFluxVarsCache ()
 The element flux variables cache. More...
 
const ElementFluxVariablesCache & elemFluxVarsCache () const
 The element flux variables cache. More...
 
LocalResidual & localResidual ()
 The local residual for the current element. More...
 
const LocalResidual & localResidual () const
 The local residual for the current element. More...
 
ElementBoundaryTypes & elemBcTypes ()
 The element's boundary types. More...
 
const ElementBoundaryTypes & elemBcTypes () const
 The element's boundary types. More...
 

Static Public Member Functions

template<class SubMatrix , class CCOrFacePrimaryVariables >
static void updateGlobalJacobian_ (SubMatrix &matrix, const int globalI, const int globalJ, const int pvIdx, const CCOrFacePrimaryVariables &partialDeriv)
 Updates the current global Jacobian matrix with the partial derivatives of all equations in regard to the primary variable 'pvIdx' at dof 'col'. Specialization for cc methods. More...
 
static constexpr bool isImplicit ()
 Returns true if the assembler considers implicit assembly. More...
 

Static Public Attributes

static constexpr auto faceOffset
 

Protected Member Functions

SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > & asImp_ ()
 
const SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > & asImp_ () const
 
VolumeVariables & getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv)
 
VolumeVariables & getVolVarAccess (GridVolumeVariables &gridVolVars, ElementVolumeVariables &elemVolVars, const SubControlVolume &scv)
 

Member Typedef Documentation

◆ ElementResidualVector

using Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::ElementResidualVector = typename LocalResidual::ElementResidualVector
inherited

Member Function Documentation

◆ asImp_() [1/2]

SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::asImp_ ( )
inlineprotectedinherited

◆ asImp_() [2/2]

const SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::asImp_ ( ) const
inlineprotectedinherited

◆ assembleCellCenterJacobianAndResidualImpl()

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianMatrixDiagBlock , class GridVariables >
CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleCellCenterJacobianAndResidualImpl ( JacobianMatrixDiagBlock &  A,
GridVariables &  gridVariables 
)
inline

Computes the derivatives with respect to the given element and adds them to the global matrix.

Returns
The element residual at the current solution.

◆ assembleCellCenterResidualImpl()

template<std::size_t id, class TypeTag , class Assembler >
CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleCellCenterResidualImpl ( )
inline

◆ assembleFaceJacobianAndResidualImpl()

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianMatrixDiagBlock , class GridVariables >
auto Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleFaceJacobianAndResidualImpl ( JacobianMatrixDiagBlock &  A,
GridVariables &  gridVariables 
)
inline

Computes the derivatives with respect to the given element and adds them to the global matrix.

Returns
The element residual at the current solution.

◆ assembleFaceResidualImpl()

template<std::size_t id, class TypeTag , class Assembler >
FaceResidualValue Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleFaceResidualImpl ( const SubControlVolumeFace &  scvf)
inline

◆ assembleJacobianAndResidual()

void Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::assembleJacobianAndResidual ( JacobianMatrixRow &  jacRow,
SubSol &  res,
GridVariablesTuple &  gridVariables 
)
inlineinherited

Computes the derivatives with respect to the given element and adds them to the global matrix. The element residual is written into the right hand side.

◆ assembleJacobianCellCenterCoupling() [1/2]

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianBlock , class GridVariables >
void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleJacobianCellCenterCoupling ( Dune::index_constant< faceId >  domainJ,
JacobianBlock &  A,
const CellCenterResidualValue &  origResidual,
GridVariables &  gridVariables 
)
inline

Computes the derivatives with respect to the given element and adds them to the global matrix.

◆ assembleJacobianCellCenterCoupling() [2/2]

template<std::size_t id, class TypeTag , class Assembler >
template<std::size_t otherId, class JacobianBlock , class GridVariables >
void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleJacobianCellCenterCoupling ( Dune::index_constant< otherId >  domainJ,
JacobianBlock &  A,
const CellCenterResidualValue &  res,
GridVariables &  gridVariables 
)
inline

◆ assembleJacobianFaceCoupling() [1/2]

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianBlock , class ElementResidualVector , class GridVariables >
void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleJacobianFaceCoupling ( Dune::index_constant< cellCenterId >  domainJ,
JacobianBlock &  A,
const ElementResidualVector origResiduals,
GridVariables &  gridVariables 
)
inline

Computes the derivatives with respect to the given element and adds them to the global matrix.

◆ assembleJacobianFaceCoupling() [2/2]

template<std::size_t id, class TypeTag , class Assembler >
template<std::size_t otherId, class JacobianBlock , class ElementResidualVector , class GridVariables >
void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::assembleJacobianFaceCoupling ( Dune::index_constant< otherId >  domainJ,
JacobianBlock &  A,
const ElementResidualVector res,
GridVariables &  gridVariables 
)
inline

◆ assembler()

const Assembler & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::assembler ( ) const
inlineinherited

The assembler.

◆ assembleResidual()

void Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::assembleResidual ( SubSol &  res)
inlineinherited

Assemble the residual only.

◆ bindLocalViews()

void Dumux::SubDomainStaggeredLocalAssemblerImplicitBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > >::bindLocalViews ( )
inlineinherited

◆ couplingManager()

CouplingManager & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::couplingManager ( )
inlineinherited

◆ curElemFaceVars() [1/2]

ElementFaceVariables & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::curElemFaceVars ( )
inlineinherited

The current element volume variables.

◆ curElemFaceVars() [2/2]

const ElementFaceVariables & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::curElemFaceVars ( ) const
inlineinherited

The current element volume variables.

◆ curElemVolVars() [1/2]

ElementVolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::curElemVolVars ( )
inlineinherited

The current element volume variables.

◆ curElemVolVars() [2/2]

const ElementVolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::curElemVolVars ( ) const
inlineinherited

The current element volume variables.

◆ curSol()

const SolutionVector & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::curSol ( ) const
inlineinherited

The current solution.

◆ elemBcTypes() [1/2]

ElementBoundaryTypes & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::elemBcTypes ( )
inlineinherited

The element's boundary types.

◆ elemBcTypes() [2/2]

const ElementBoundaryTypes & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::elemBcTypes ( ) const
inlineinherited

The element's boundary types.

◆ element()

const Element & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::element ( ) const
inlineinherited

The current element.

◆ elementIsGhost()

bool Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::elementIsGhost ( ) const
inlineinherited

Returns if element is a ghost entity.

◆ elemFluxVarsCache() [1/2]

ElementFluxVariablesCache & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::elemFluxVarsCache ( )
inlineinherited

The element flux variables cache.

◆ elemFluxVarsCache() [2/2]

const ElementFluxVariablesCache & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::elemFluxVarsCache ( ) const
inlineinherited

The element flux variables cache.

◆ enforceInternalDirichletConstraints() [1/2]

void Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::enforceInternalDirichletConstraints ( const ApplyFunction &  applyDirichlet)
inlineinherited

Enforces Dirichlet constraints if enabled in the problem.

◆ enforceInternalDirichletConstraints() [2/2]

void Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::enforceInternalDirichletConstraints ( const ApplyFunction &  applyDirichlet)
inlineinherited

◆ evalAdditionalDerivatives()

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianMatrixDiagBlock , class GridVariables >
void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::evalAdditionalDerivatives ( const std::vector< std::size_t > &  additionalDofDependencies,
JacobianMatrixDiagBlock &  A,
GridVariables &  gridVariables 
)
inline

◆ evalLocalFluxAndSourceResidual() [1/2]

ElementResidualVector Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::evalLocalFluxAndSourceResidual ( ) const
inlineinherited

Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables.

◆ evalLocalFluxAndSourceResidual() [2/2]

ElementResidualVector Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::evalLocalFluxAndSourceResidual ( const ElementVolumeVariables &  elemVolVars) const
inlineinherited

Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element.

Parameters
elemVolVarsThe element volume variables

◆ evalLocalFluxAndSourceResidualForCellCenter() [1/2]

CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalFluxAndSourceResidualForCellCenter ( ) const
inlineinherited

Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.

◆ evalLocalFluxAndSourceResidualForCellCenter() [2/2]

CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalFluxAndSourceResidualForCellCenter ( const ElementVolumeVariables &  elemVolVars,
const ElementFaceVariables &  elemFaceVars 
) const
inlineinherited

Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element.

Parameters
elemVolVarsThe element volume variables
elemFaceVarsThe element face variables

◆ evalLocalFluxAndSourceResidualForFace() [1/2]

FaceResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalFluxAndSourceResidualForFace ( const SubControlVolumeFace &  scvf) const
inlineinherited

Convenience function to evaluate the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.

Parameters
scvfThe sub control volume face

◆ evalLocalFluxAndSourceResidualForFace() [2/2]

FaceResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalFluxAndSourceResidualForFace ( const SubControlVolumeFace &  scvf,
const ElementVolumeVariables &  elemVolVars,
const ElementFaceVariables &  elemFaceVars 
) const
inlineinherited

Evaluates the flux and source terms (i.e, the terms without a time derivative) of the local residual for the current face.

Parameters
scvfThe sub control volume face
elemVolVarsThe element volume variables
elemFaceVarsThe element face variables

◆ evalLocalResidual() [1/2]

ElementResidualVector Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::evalLocalResidual ( ) const
inlineinherited

Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables.

◆ evalLocalResidual() [2/2]

ElementResidualVector Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::evalLocalResidual ( const ElementVolumeVariables &  elemVolVars) const
inlineinherited

Evaluates the complete local residual for the current element.

Parameters
elemVolVarsThe element volume variables

◆ evalLocalResidualForCellCenter() [1/2]

CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalResidualForCellCenter ( ) const
inlineinherited

Convenience function to evaluate the complete local residual for the current element. Automatically chooses the the appropriate element volume variables.

◆ evalLocalResidualForCellCenter() [2/2]

CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalResidualForCellCenter ( const ElementVolumeVariables &  elemVolVars,
const ElementFaceVariables &  elemFaceVars 
) const
inlineinherited

Evaluates the complete local residual for the current cell center.

Parameters
elemVolVarsThe element volume variables
elemFaceVarsThe element face variables

◆ evalLocalResidualForFace() [1/2]

FaceResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalResidualForFace ( const SubControlVolumeFace &  scvf) const
inlineinherited

Convenience function to evaluate the local residual for the current face. Automatically chooses the the appropriate element volume and face variables.

Parameters
scvfThe sub control volume face

◆ evalLocalResidualForFace() [2/2]

FaceResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalResidualForFace ( const SubControlVolumeFace &  scvf,
const ElementVolumeVariables &  elemVolVars,
const ElementFaceVariables &  elemFaceVars 
) const
inlineinherited

Evaluates the complete local residual for the current face.

Parameters
scvfThe sub control volume face
elemVolVarsThe element volume variables
elemFaceVarsThe element face variables

◆ evalLocalStorageResidual()

ElementResidualVector Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::evalLocalStorageResidual ( ) const
inlineinherited

Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume variables.

◆ evalLocalStorageResidualForCellCenter()

CellCenterResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalStorageResidualForCellCenter ( ) const
inlineinherited

Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current element. Automatically chooses the the appropriate element volume and face variables.

◆ evalLocalStorageResidualForFace()

FaceResidualValue Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::evalLocalStorageResidualForFace ( const SubControlVolumeFace &  scvf) const
inlineinherited

Convenience function to evaluate storage term (i.e, the term with a time derivative) of the local residual for the current face. Automatically chooses the the appropriate element volume and face variables.

Parameters
scvfThe sub control volume face

◆ fvGeometry() [1/2]

FVElementGeometry & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::fvGeometry ( )
inlineinherited

The global finite volume geometry.

◆ fvGeometry() [2/2]

const FVElementGeometry & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::fvGeometry ( ) const
inlineinherited

The finite volume geometry.

◆ getVolVarAccess() [1/2]

VolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::getVolVarAccess ( GridVolumeVariables &  gridVolVars,
ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
)
inlineprotectedinherited

◆ getVolVarAccess() [2/2]

VolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::getVolVarAccess ( GridVolumeVariables &  gridVolVars,
ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
)
inlineprotectedinherited

◆ isImplicit()

static constexpr bool Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::isImplicit ( )
inlinestaticconstexprinherited

Returns true if the assembler considers implicit assembly.

◆ localResidual() [1/2]

LocalResidual & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::localResidual ( )
inlineinherited

The local residual for the current element.

◆ localResidual() [2/2]

const LocalResidual & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::localResidual ( ) const
inlineinherited

The local residual for the current element.

◆ prevElemFaceVars() [1/2]

ElementFaceVariables & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::prevElemFaceVars ( )
inlineinherited

The element volume variables of the provious time step.

◆ prevElemFaceVars() [2/2]

const ElementFaceVariables & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::prevElemFaceVars ( ) const
inlineinherited

The element volume variables of the provious time step.

◆ prevElemVolVars() [1/2]

ElementVolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::prevElemVolVars ( )
inlineinherited

The element volume variables of the provious time step.

◆ prevElemVolVars() [2/2]

const ElementVolumeVariables & Dumux::FVLocalAssemblerBase< TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , useImplicitAssembly >::prevElemVolVars ( ) const
inlineinherited

The element volume variables of the provious time step.

◆ problem()

const Problem & Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::problem ( ) const
inlineinherited

◆ updateGlobalJacobian_()

template<std::size_t id, class TypeTag , class Assembler >
template<class SubMatrix , class CCOrFacePrimaryVariables >
static void Dumux::SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::updateGlobalJacobian_ ( SubMatrix &  matrix,
const int  globalI,
const int  globalJ,
const int  pvIdx,
const CCOrFacePrimaryVariables &  partialDeriv 
)
inlinestatic

Updates the current global Jacobian matrix with the partial derivatives of all equations in regard to the primary variable 'pvIdx' at dof 'col'. Specialization for cc methods.

Member Data Documentation

◆ faceOffset

constexpr auto Dumux::SubDomainStaggeredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainStaggeredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , true >::faceOffset
staticconstexprinherited

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