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

Face-centered staggered scheme multi domain local assembler using numeric differentiation and implicit time discretization. More...

#include <dumux/multidomain/subdomainfclocalassembler.hh>

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

Description

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

Face-centered staggered scheme multi domain local assembler using numeric differentiation and implicit time discretization.

Public Types

using ElementResidualVector = typename ParentType::LocalResidual::ElementResidualVector
 export element residual vector type More...
 

Public Member Functions

template<class ElemSol >
void maybeUpdateCouplingContext (const SubControlVolume &scv, ElemSol &elemSol, const int pvIdx)
 Update the coupling context for coupled models. More...
 
template<class JacobianMatrixDiagBlock , class GridVariables >
void maybeEvalAdditionalDomainDerivatives (const ElementResidualVector &origResiduals, const JacobianMatrixDiagBlock &A, GridVariables &gridVariables)
 Update the additional domain derivatives for coupled models. More...
 
template<std::size_t otherId, class JacobianBlock , class GridVariables >
void assembleJacobianCoupling (Dune::index_constant< otherId > domainJ, JacobianBlock &A, const ElementResidualVector &res, GridVariables &gridVariables)
 Computes the derivatives with respect to the given element and adds them to the global matrix. More...
 
void assembleJacobianAndResidual (JacobianMatrixRow &jacRow, SubSolutionVector &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 assembleJacobianCoupling (Dune::index_constant< otherId > domainJ, JacRow &jacRow, const ElementResidualVector &res, GridVariables &gridVariables)
 Assemble the entries in a coupling block of the jacobian. There is no coupling block between a domain and itself. More...
 
ElementResidualVector evalLocalSourceResidual (const Element &element, const ElementVolumeVariables &elemVolVars) const
 Evaluates the local source term for an element and given element volume variables. More...
 
ElementResidualVector evalLocalSourceResidual (const Element &neighbor) const
 Evaluates the local source term depending on time discretization scheme. More...
 
void bindLocalViews ()
 Prepares all local views necessary for local assembly. More...
 
const Problem & problem (Dune::index_constant< i > dId=domainId) const
 return reference to the underlying problem More...
 
const auto & curSol (Dune::index_constant< i > dId=domainId) const
 return reference to the underlying problem More...
 
CouplingManager & couplingManager ()
 return reference to the coupling manager More...
 

Static Public Attributes

static constexpr auto domainId
 export the domain id of this sub-domain More...
 

Member Typedef Documentation

◆ ElementResidualVector

template<std::size_t id, class TypeTag , class Assembler >
using Dumux::SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::ElementResidualVector = typename ParentType::LocalResidual::ElementResidualVector

export element residual vector type

Member Function Documentation

◆ assembleJacobianAndResidual()

void Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::assembleJacobianAndResidual ( JacobianMatrixRow &  jacRow,
SubSolutionVector &  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.

◆ assembleJacobianCoupling() [1/2]

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

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

◆ assembleJacobianCoupling() [2/2]

void Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::assembleJacobianCoupling ( Dune::index_constant< otherId >  domainJ,
JacRow &  jacRow,
const ElementResidualVector res,
GridVariables &  gridVariables 
)
inlineinherited

Assemble the entries in a coupling block of the jacobian. There is no coupling block between a domain and itself.

◆ bindLocalViews()

void Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::bindLocalViews ( )
inlineinherited

Prepares all local views necessary for local assembly.

◆ couplingManager()

CouplingManager & Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::couplingManager ( )
inlineinherited

return reference to the coupling manager

◆ curSol()

const auto & Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::curSol ( Dune::index_constant< i >  dId = domainId) const
inlineinherited

return reference to the underlying problem

◆ evalLocalSourceResidual() [1/2]

ElementResidualVector Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::evalLocalSourceResidual ( const Element &  element,
const ElementVolumeVariables &  elemVolVars 
) const
inlineinherited

Evaluates the local source term for an element and given element volume variables.

◆ evalLocalSourceResidual() [2/2]

ElementResidualVector Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::evalLocalSourceResidual ( const Element &  neighbor) const
inlineinherited

Evaluates the local source term depending on time discretization scheme.

◆ maybeEvalAdditionalDomainDerivatives()

template<std::size_t id, class TypeTag , class Assembler >
template<class JacobianMatrixDiagBlock , class GridVariables >
void Dumux::SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::maybeEvalAdditionalDomainDerivatives ( const ElementResidualVector origResiduals,
const JacobianMatrixDiagBlock &  A,
GridVariables &  gridVariables 
)
inline

Update the additional domain derivatives for coupled models.

◆ maybeUpdateCouplingContext()

template<std::size_t id, class TypeTag , class Assembler >
template<class ElemSol >
void Dumux::SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true >::maybeUpdateCouplingContext ( const SubControlVolume &  scv,
ElemSol &  elemSol,
const int  pvIdx 
)
inline

Update the coupling context for coupled models.

◆ problem()

const Problem & Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::problem ( Dune::index_constant< i >  dId = domainId) const
inlineinherited

return reference to the underlying problem

Member Data Documentation

◆ domainId

constexpr auto Dumux::SubDomainFaceCenteredLocalAssemblerBase< id, TypeTag, Assembler, SubDomainFaceCenteredLocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric, true > , dm, implicit >::domainId
staticconstexprinherited

export the domain id of this sub-domain


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