3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId > Class Template Reference

Specialization of the mapper class for the case of three domains with the grid dimensions d, (d-1) & (d-2). More...

#include <dumux/multidomain/facet/couplingmapper.hh>

Inheritance diagram for Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >:

Description

template<class BulkFVG, class FacetFVG, class EdgeFVG, std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
class Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >

Specialization of the mapper class for the case of three domains with the grid dimensions d, (d-1) & (d-2).

Template Parameters
BulkFVGThe d-dimensional finite-volume grid geometry
FacetFVGThe (d-1)-dimensional finite-volume grid geometry
EdgeFVGThe (d-2)-dimensional finite-volume grid geometry
bulkIdThe index of the bulk grid within the hierarchy of grids
facetIdThe index of the facet grid within the hierarchy of grids
edgeIdThe index of the edge grid within the hierarchy of grids

Public Types

template<std::size_t i>
using Stencil = typename std::conditional<(i==edgeId), typename FacetEdgeMapper::template Stencil< i >, typename BulkFacetMapper::template Stencil< i > >::type
 Export the coupling stencil type for the provided domain index. More...
 
template<std::size_t i, std::size_t j>
using CouplingMap = typename std::conditional<(i !=edgeId &&j !=edgeId), typename BulkFacetMapper::template CouplingMap< i, j >, typename FacetEdgeMapper::template CouplingMap< i, j > >::type
 Export the coupling map type for the provided domain indices. More...
 

Public Member Functions

template<class Embeddings >
void update (const BulkFVG &bulkFvGridGeometry, const FacetFVG &facetFvGridGeometry, const EdgeFVG &edgeFvGridGeometry, std::shared_ptr< const Embeddings > embeddings)
 Update coupling maps. More...
 

Static Public Member Functions

template<int dim>
static constexpr GridIdType<(dim==bulkDim ? bulkId :(dim==facetDim ? facetId :edgeId)) > gridId ()
 Allow retrievment of grid id for a given grid dimension. More...
 

Static Public Attributes

static constexpr auto bulkGridId = Dune::index_constant< bulkId >()
 export domain ids More...
 
static constexpr auto facetGridId = Dune::index_constant< facetId >()
 
static constexpr auto edgeGridId = Dune::index_constant< edgeId >()
 

Member Typedef Documentation

◆ CouplingMap

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
template<std::size_t i, std::size_t j>
using Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::CouplingMap = typename std::conditional< (i != edgeId && j != edgeId), typename BulkFacetMapper::template CouplingMap<i,j>, typename FacetEdgeMapper::template CouplingMap<i,j> >::type

Export the coupling map type for the provided domain indices.

◆ Stencil

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
template<std::size_t i>
using Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::Stencil = typename std::conditional< (i == edgeId), typename FacetEdgeMapper::template Stencil<i>, typename BulkFacetMapper::template Stencil<i> >::type

Export the coupling stencil type for the provided domain index.

Member Function Documentation

◆ gridId()

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
template<int dim>
static constexpr GridIdType<(dim==bulkDim ? bulkId :(dim==facetDim ? facetId :edgeId)) > Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::gridId ( )
inlinestaticconstexpr

Allow retrievment of grid id for a given grid dimension.

◆ update()

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
template<class Embeddings >
void Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::update ( const BulkFVG &  bulkFvGridGeometry,
const FacetFVG &  facetFvGridGeometry,
const EdgeFVG &  edgeFvGridGeometry,
std::shared_ptr< const Embeddings >  embeddings 
)
inline

Update coupling maps.

Parameters
bulkFvGridGeometryThe finite-volume grid geometry of the bulk grid
facetFvGridGeometryThe finite-volume grid geometry of the codimension-one grid
edgeFvGridGeometryThe finite-volume grid geometry of the codimension-two grid
embeddingsClass that contains the embedments among the grids and entity insertion indices

Member Data Documentation

◆ bulkGridId

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
constexpr auto Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::bulkGridId = Dune::index_constant< bulkId >()
staticconstexpr

export domain ids

◆ edgeGridId

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
constexpr auto Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::edgeGridId = Dune::index_constant< edgeId >()
staticconstexpr

◆ facetGridId

template<class BulkFVG , class FacetFVG , class EdgeFVG , std::size_t bulkId = 0, std::size_t facetId = 1, std::size_t edgeId = 2>
constexpr auto Dumux::FacetCouplingThreeDomainMapper< BulkFVG, FacetFVG, EdgeFVG, bulkId, facetId, edgeId >::facetGridId = Dune::index_constant< facetId >()
staticconstexpr

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