version 3.8.0
Loading...
Searching...
No Matches
Dumux::Experimental::SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > Class Template Reference

CVFE scheme multi domain local assembler using numeric differentiation.

#include <dumux/experimental/assembly/subdomaincvfelocalassembler.hh>

Inheritance diagram for Dumux::Experimental::SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric >:

Public Types

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

Public Member Functions

template<class ElemSol >
void maybeUpdateCouplingContext (const SubControlVolume &scv, ElemSol &elemSol, const int pvIdx)
 Update the coupling context for coupled models.
 
template<class JacobianMatrixDiagBlock , class GridVariables >
void maybeEvalAdditionalDomainDerivatives (const ElementResidualVector &origResiduals, JacobianMatrixDiagBlock &A, GridVariables &gridVariables)
 Update the additional domain derivatives for coupled models.
 
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.
 
void assembleJacobianAndResidual (JacobianMatrixRow &jacRow, SubResidualVector &res, GridVariablesTuple &gridVariables, const StageParams &stageParams, SubResidualVector &temporal, SubResidualVector &spatial, SubResidualVector &constrainedDofs)
 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.
 
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.
 
void bindLocalViews ()
 Prepares all local views necessary for local assembly.
 
const Problem & problem (Dune::index_constant< i > dId=domainId) const
 return reference to the underlying problem
 
const auto & curSol (Dune::index_constant< i > dId=domainId) const
 return reference to the underlying problem
 
CouplingManager & couplingManager ()
 return reference to the coupling manager
 

Static Public Attributes

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

Member Typedef Documentation

◆ ElementResidualVector

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

Member Function Documentation

◆ assembleJacobianAndResidual()

void Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::assembleJacobianAndResidual ( JacobianMatrixRow & jacRow,
SubResidualVector & res,
GridVariablesTuple & gridVariables,
const StageParams & stageParams,
SubResidualVector & temporal,
SubResidualVector & spatial,
SubResidualVector & constrainedDofs )
inlineinherited

◆ assembleJacobianCoupling() [1/2]

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

◆ assembleJacobianCoupling() [2/2]

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

◆ bindLocalViews()

void Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::bindLocalViews ( )
inlineinherited

◆ couplingManager()

CouplingManager & Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::couplingManager ( )
inlineinherited

◆ curSol()

const auto & Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::curSol ( Dune::index_constant< i > dId = domainId) const
inlineinherited

◆ maybeEvalAdditionalDomainDerivatives()

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

◆ maybeUpdateCouplingContext()

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

◆ problem()

const Problem & Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::problem ( Dune::index_constant< i > dId = domainId) const
inlineinherited

Member Data Documentation

◆ domainId

constexpr auto Dumux::Experimental::SubDomainCVFELocalAssemblerBase< id, TypeTag, Assembler, SubDomainCVFELocalAssembler< id, TypeTag, Assembler, DiffMethod::numeric > , dm >::domainId
staticconstexprinherited

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