version 3.9-dev
Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm > Class Template Reference

A base class for all multidomain local assemblers. More...

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

Inheritance diagram for Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >:

Description

template<std::size_t id, class TypeTag, class Assembler, class Implementation, DiffMethod dm>
class Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >
Template Parameters
idthe id of the sub domain
TypeTagthe TypeTag
Assemblerthe assembler type
Implementationthe actual assembler implementation

Public Types

using LocalResidual = GetPropType< TypeTag, Properties::LocalResidual >
 the local residual type of this domain More...
 

Public Member Functions

 SubDomainCCLocalAssemblerBase (const Assembler &assembler, const Element &element, const SolutionVector &curSol, CouplingManager &couplingManager)
 the constructor More...
 
template<class JacobianMatrixRow , class SubResidualVector , class GridVariablesTuple , class StageParams >
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. More...
 
template<std::size_t otherId, class JacRow , class GridVariables >
void assembleJacobianCoupling (Dune::index_constant< otherId > domainJ, JacRow &jacRow, const LocalResidualValues &res, GridVariables &gridVariables)
 Assemble the entries in a coupling block of the jacobian. There is no coupling block between a domain and itself. More...
 
void bindLocalViews ()
 Prepares all local views necessary for local assembly. More...
 
template<std::size_t i = domainId>
const Problem & problem (Dune::index_constant< i > dId=domainId) const
 return reference to the subdomain problem More...
 
template<std::size_t i = domainId>
const auto & curSol (Dune::index_constant< i > dId=domainId) const
 return reference to the subdomain solution More...
 
CouplingManager & couplingManager ()
 return reference to the coupling manager More...
 

Static Public Attributes

static constexpr auto domainId = typename Dune::index_constant<id>()
 export the domain id of this sub-domain More...
 

Member Typedef Documentation

◆ LocalResidual

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
using Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>

Constructor & Destructor Documentation

◆ SubDomainCCLocalAssemblerBase()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::SubDomainCCLocalAssemblerBase ( const Assembler &  assembler,
const Element &  element,
const SolutionVector &  curSol,
CouplingManager &  couplingManager 
)
inlineexplicit

Member Function Documentation

◆ assembleJacobianAndResidual()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
template<class JacobianMatrixRow , class SubResidualVector , class GridVariablesTuple , class StageParams >
void Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::assembleJacobianAndResidual ( JacobianMatrixRow &  jacRow,
SubResidualVector &  res,
GridVariablesTuple &  gridVariables,
const StageParams &  stageParams,
SubResidualVector &  temporal,
SubResidualVector &  spatial,
SubResidualVector &  constrainedDofs 
)
inline

◆ assembleJacobianCoupling()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
template<std::size_t otherId, class JacRow , class GridVariables >
void Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::assembleJacobianCoupling ( Dune::index_constant< otherId >  domainJ,
JacRow &  jacRow,
const LocalResidualValues &  res,
GridVariables &  gridVariables 
)
inline

◆ bindLocalViews()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
void Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::bindLocalViews ( )
inline

◆ couplingManager()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
CouplingManager & Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::couplingManager ( )
inline

◆ curSol()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
template<std::size_t i = domainId>
const auto & Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::curSol ( Dune::index_constant< i >  dId = domainId) const
inline

◆ problem()

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
template<std::size_t i = domainId>
const Problem & Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::problem ( Dune::index_constant< i >  dId = domainId) const
inline

Member Data Documentation

◆ domainId

template<std::size_t id, class TypeTag , class Assembler , class Implementation , DiffMethod dm>
constexpr auto Dumux::Experimental::SubDomainCCLocalAssemblerBase< id, TypeTag, Assembler, Implementation, dm >::domainId = typename Dune::index_constant<id>()
staticconstexpr

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