Skip to content
Snippets Groups Projects
Commit 2f04955e authored by Timo Koch's avatar Timo Koch
Browse files

[multidomain] Add GridVariables alias in FVAssembler

parent 42ff4f83
No related branches found
No related tags found
2 merge requests!1337WIP Fix/dirichlet caching v2,!1330Feature/improve privar switch
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#define DUMUX_MULTIDOMAIN_FV_ASSEMBLER_HH #define DUMUX_MULTIDOMAIN_FV_ASSEMBLER_HH
#include <type_traits> #include <type_traits>
#include <tuple>
#include <dune/common/hybridutilities.hh> #include <dune/common/hybridutilities.hh>
#include <dune/istl/matrixindexset.hh> #include <dune/istl/matrixindexset.hh>
...@@ -67,6 +68,9 @@ public: ...@@ -67,6 +68,9 @@ public:
template<std::size_t id> template<std::size_t id>
using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>;
template<std::size_t id>
using GridVariables = typename std::tuple_element_t<id, typename MDTraits::GridVariablesTuple>::element_type;
using JacobianMatrix = typename MDTraits::JacobianMatrix; using JacobianMatrix = typename MDTraits::JacobianMatrix;
using SolutionVector = typename MDTraits::SolutionVector; using SolutionVector = typename MDTraits::SolutionVector;
using ResidualType = SolutionVector; using ResidualType = SolutionVector;
...@@ -337,12 +341,12 @@ public: ...@@ -337,12 +341,12 @@ public:
//! the grid variables of domain i //! the grid variables of domain i
template<std::size_t i> template<std::size_t i>
auto& gridVariables(Dune::index_constant<i> domainId) GridVariables<i>& gridVariables(Dune::index_constant<i> domainId)
{ return *std::get<domainId>(gridVariablesTuple_); } { return *std::get<domainId>(gridVariablesTuple_); }
//! the grid variables of domain i //! the grid variables of domain i
template<std::size_t i> template<std::size_t i>
const auto& gridVariables(Dune::index_constant<i> domainId) const const GridVariables<i>& gridVariables(Dune::index_constant<i> domainId) const
{ return *std::get<domainId>(gridVariablesTuple_); } { return *std::get<domainId>(gridVariablesTuple_); }
//! the coupling manager //! the coupling manager
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment