Manages the coupling between bulk elements and lower dimensional elements where the coupling occurs across the facets of the bulk grid. This implementation is to be used in conjunction with models using the cell-centered mpfa scheme.
More...
template<class MDTraits, class CouplingMapper, std::size_t bulkDomainId, std::size_t lowDimDomainId>
class Dumux::FacetCouplingManager< MDTraits, CouplingMapper, bulkDomainId, lowDimDomainId, DiscretizationMethods::CCMpfa >
- Template Parameters
-
MDTraits | The multidomain traits containing the types on all sub-domains |
CouplingMapper | Class containing maps on the coupling between dofs of different grids |
bulkDomainId | The domain id of the bulk problem |
lowDimDomainId | The domain id of the lower-dimensional problem |
|
void | init (std::shared_ptr< Problem< bulkId > > bulkProblem, std::shared_ptr< Problem< lowDimId > > lowDimProblem, std::shared_ptr< CouplingMapper > couplingMapper, const SolutionVector &curSol) |
| Initialize the coupling manager.
|
|
bool | isOnInteriorBoundary (const Element< bulkId > &element, const SubControlVolumeFace< bulkId > &scvf) const |
| returns true if a bulk scvf coincides with a facet element.
|
|
template<class LowDimLocalAssembler> |
LocalResidual< lowDimId >::ElementResidualVector | evalCouplingResidual (LowDimIdType, const LowDimLocalAssembler &lowDimLocalAssembler, BulkIdType, GridIndexType< bulkId > dofIdxGlobalJ) |
| Evaluates the coupling element residual of a lower-dimensional domain element with respect to a dof in the bulk domain (dofIdxGlobalJ). This is essentially the fluxes across the facets of the neighboring bulk elements.
|
|
template<class LowDimLocalAssembler> |
LocalResidual< lowDimId >::ElementResidualVector | evalCouplingResidual (LowDimIdType, const LowDimLocalAssembler &lowDimLocalAssembler, BulkIdType) |
| Evaluates the coupling element residual of a lower-dimensional domain element with respect to a dof in the bulk domain (dofIdxGlobalJ). This is essentially the fluxes across the facets of the neighboring bulk elements.
|
|
NumEqVector< lowDimId > | evalSourcesFromBulk (const Element< lowDimId > &element, const FVElementGeometry< lowDimId > &fvGeometry, const ElementVolumeVariables< lowDimId > &elemVolVars, const SubControlVolume< lowDimId > &scv) const |
| Computes the sources in a lower-dimensional sub-control volume stemming from the bulk domain.
|
|
template<class JacobianPattern> |
void | extendJacobianPattern (LowDimIdType, JacobianPattern &pattern) const |
| Extend the jacobian pattern of the diagonal block of the lowdim domain by the elements that are in the coupling stencil of the neighboring bulk elements.
|
|
template<class JacobianPattern> |
void | extendJacobianPattern (BulkIdType, JacobianPattern &pattern) const |
| The bulk domain has no extended jacobian pattern.
|
|
template<class LowDimLocalAssembler, class JacobianMatrixDiagBlock, class GridVariables> |
void | evalAdditionalDomainDerivatives (LowDimIdType, const LowDimLocalAssembler &lowDimLocalAssembler, const typename LowDimLocalAssembler::LocalResidual::ElementResidualVector &, JacobianMatrixDiagBlock &A, GridVariables &gridVariables) |
| evaluate additional derivatives of the element residual of the low-dim domain with respect to dofs in the same domain that are not in the regular stencil (see extendJacobianPattern)
|
|
template<class LocalAssemblerI, class JacobianMatrixDiagBlock, class GridVariables> |
void | evalAdditionalDomainDerivatives (BulkIdType, const LocalAssemblerI &localAssemblerI, const typename LocalAssemblerI::LocalResidual::ElementResidualVector &origResiduals, JacobianMatrixDiagBlock &A, GridVariables &gridVariables) |
| The bulk domain has no additional derivatives.
|
|