diff --git a/dumux/multidomain/subdomaincclocalassembler.hh b/dumux/multidomain/subdomaincclocalassembler.hh index 626b23b8d4f34721e2b7ff90660c3c521ea38ab7..99c7cde93731ee7c8b52429867be7a91b7f4362e 100644 --- a/dumux/multidomain/subdomaincclocalassembler.hh +++ b/dumux/multidomain/subdomaincclocalassembler.hh @@ -127,12 +127,19 @@ public: }); } + /*! + * \brief Assemble the entries in a coupling block of the jacobian. + * There is no coupling block between a domain and itself. + */ template<std::size_t otherId, class JacRow, class GridVariables, typename std::enable_if_t<(otherId == id), int> = 0> void assembleJacobianCoupling(Dune::index_constant<otherId> domainJ, JacRow& jacRow, const LocalResidualValues& res, GridVariables& gridVariables) {} + /*! + * \brief Assemble the entries in a coupling block of the jacobian. + */ template<std::size_t otherId, class JacRow, class GridVariables, typename std::enable_if_t<(otherId != id), int> = 0> void assembleJacobianCoupling(Dune::index_constant<otherId> domainJ, JacRow& jacRow, @@ -151,7 +158,9 @@ public: res[globalI] = this->evalLocalResidual()[0]; // forward to the internal implementation } - //! evaluates the local source term for an element and element volume variables + /*! + * \brief Evaluates the local source term for an element and given element volume variables + */ ElementResidualVector evalLocalSourceResidual(const Element& element, const ElementVolumeVariables& elemVolVars) const { // initialize the residual vector for all scvs in this element @@ -170,15 +179,23 @@ public: return residual; } - //! evaluates the local source term depending on time discretization scheme + /*! + * \brief Evaluates the local source term depending on time discretization scheme + */ ElementResidualVector evalLocalSourceResidual(const Element& neighbor) const { return this->evalLocalSourceResidual(neighbor, implicit ? this->curElemVolVars() : this->prevElemVolVars()); } + /*! + * \brief Evaluates the storage terms within the element + */ LocalResidualValues evalLocalStorageResidual() const { return this->localResidual().evalStorage(this->element(), this->fvGeometry(), this->prevElemVolVars(), this->curElemVolVars())[0]; } + /*! + * \brief Evaluates the fluxes depending on the chose time discretization scheme + */ LocalResidualValues evalFluxResidual(const Element& neighbor, const SubControlVolumeFace& scvf) const { @@ -186,7 +203,9 @@ public: return this->localResidual().evalFlux(problem(), neighbor, this->fvGeometry(), elemVolVars, this->elemFluxVarsCache(), scvf); } - //! prepares all necessary local views + /*! + * \brief Prepares all local views necessary for local assembly. + */ void bindLocalViews() { // get some references for convenience @@ -218,9 +237,11 @@ public: } } + //! return reference to the underlying problem const Problem& problem() const { return this->assembler().problem(domainId); } + //! return reference to the coupling manager CouplingManager& couplingManager() { return couplingManager_; } @@ -421,8 +442,6 @@ public: /*! * \brief Computes the derivatives with respect to the given element and adds them * to the global matrix. - * - * \return The element residual at the current solution. */ template<std::size_t otherId, class JacobianBlock, class GridVariables> void assembleJacobianCoupling(Dune::index_constant<otherId> domainJ, JacobianBlock& A,