|
void | init (std::shared_ptr< Problem< bulkId > > bulkProblem, std::shared_ptr< Problem< facetId > > facetProblem, std::shared_ptr< Problem< edgeId > > edgeProblem, std::shared_ptr< CouplingMapper > couplingMapper, const SolutionVector &curSol) |
| Initialize the coupling manager. More...
|
|
template<class JacobianPattern > |
void | extendJacobianPattern (FacetIdType, JacobianPattern &pattern) const |
|
template<class FacetLocalAssembler , class JacobianMatrixDiagBlock , class GridVariables > |
void | evalAdditionalDomainDerivatives (FacetIdType, const FacetLocalAssembler &facetLocalAssembler, const typename FacetLocalAssembler::LocalResidual::ElementResidualVector &origResiduals, JacobianMatrixDiagBlock &A, GridVariables &gridVariables) |
|
const CouplingStencilType< bulkId, edgeId > & | couplingStencil (BulkIdType domainI, const Element< bulkId > &element, EdgeIdType domainJ) const |
| The coupling stencil of the bulk with the edge domain (empty stencil). More...
|
|
const CouplingStencilType< edgeId, bulkId > & | couplingStencil (EdgeIdType domainI, const Element< edgeId > &element, BulkIdType domainJ) const |
| The coupling stencil of the edge with the bulk domain (empty stencil). More...
|
|
void | updateSolution (const SolutionVector &sol) |
| updates the current solution. We have to overload this here to avoid ambiguity and update the solution in both managers More...
|
|
template<std::size_t i, std::size_t j, class LocalAssembler , std::enable_if_t<((i==bulkId &&j==edgeId)||((i==edgeId &&j==bulkId))), int > = 0> |
LocalResidual< i >::ElementResidualVector | evalCouplingResidual (Dune::index_constant< i > domainI, const LocalAssembler &localAssembler, Dune::index_constant< j > domainJ, GridIndexType< j > dofIdxGlobalJ) |
| Interface for evaluating the coupling residual between the bulk and the edge domain. This is always zero as coupling only occurs between grids of codimension one. These overloads are provided by the two parent classes. However, we need this overload in order for the overload resolution not to fail. More...
|
|
template<class Assembler > |
void | bindCouplingContext (FacetIdType, const Element< facetId > &element, const Assembler &assembler) |
| Interface for binding the coupling context for the facet domain. In this case we have to bind both the facet -> bulk and the facet -> edge coupling context. More...
|
|
template<class FacetLocalAssembler > |
void | updateCouplingContext (FacetIdType domainI, const FacetLocalAssembler &facetLocalAssembler, FacetIdType domainJ, GridIndexType< facetId > dofIdxGlobalJ, const PrimaryVariables< facetId > &priVarsJ, unsigned int pvIdxJ) |
| Interface for updating the coupling context of the facet domain. In this case we have to update both the facet -> bulk and the facet -> edge coupling context. More...
|
|
template<std::size_t i, std::size_t j, class LocalAssembler , std::enable_if_t<((i==bulkId &&j==edgeId)||(i==edgeId &&j==bulkId)), int > = 0> |
void | updateCouplingContext (Dune::index_constant< i > domainI, const LocalAssembler &localAssembler, Dune::index_constant< j > domainJ, GridIndexType< j > dofIdxGlobalJ, const PrimaryVariables< j > &priVarsJ, unsigned int pvIdxJ) |
| Interface for updating the coupling context between the bulk and the edge domain. We do nothing here because coupling only occurs between grids of codimension one. We have to provide this overload as the overload resolution fails otherwise. More...
|
|
template<class FacetLocalAssembler , class UpdatableElementVolVars , class UpdatableFluxVarCache > |
void | updateCoupledVariables (FacetIdType domainI, const FacetLocalAssembler &facetLocalAssembler, UpdatableElementVolVars &elemVolVars, UpdatableFluxVarCache &elemFluxVarsCache) |
| Interface for updating the local views of the facet domain after updateCouplingContext the coupling context. In this case we have to forward the both managers as the facet domain is a part in both. More...
|
|
template<std::size_t id, std::enable_if_t<(id==bulkId||id==facetId), int > = 0> |
const Problem< id > & | problem () const |
| Return a const reference to bulk or facet problem. More...
|
|
template<std::size_t id, std::enable_if_t<(id==bulkId||id==facetId), int > = 0> |
Problem< id > & | problem () |
| Return a reference to bulk or facet problem. More...
|
|
template<std::size_t id, std::enable_if_t<(id==edgeId), int > = 0> |
const Problem< id > & | problem () const |
| Return a const reference to edge problem. More...
|
|
template<std::size_t id, std::enable_if_t<(id==edgeId), int > = 0> |
Problem< id > & | problem () |
| Return a reference to edge problem. More...
|
|