3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | List of all members
Dumux::MultiDomainFVProblem< MDTraits > Class Template Reference

A multidomain wrapper for multiple problems. More...

#include <dumux/multidomain/fvproblem.hh>

Description

template<class MDTraits>
class Dumux::MultiDomainFVProblem< MDTraits >

A multidomain wrapper for multiple problems.

Template Parameters
MDTraitsThe multidomain traits

Public Types

template<std::size_t i>
using Type = typename MDTraits::template SubDomain< i >::Problem
 export base types of the stored type More...
 
template<std::size_t i>
using PtrType = std::shared_ptr< Type< i > >
 export pointer types the stored type More...
 
using TupleType = typename MDTraits::template Tuple< PtrType >
 export type of tuple of pointers More...
 

Public Member Functions

 MultiDomainFVProblem (MultiDomainFVGridGeometry< MDTraits > gridGeometries)
 Construct the problem. More...
 
 MultiDomainFVProblem (TupleType problemTuple)
 Construct wrapper from a tuple of problems. More...
 
void applyInitialSolution (SolutionVector &sol) const
 Applies the initial solution for all degrees of freedom of the grid. More...
 
template<std::size_t i>
const Type< i > & operator[] (Dune::index_constant< i > id) const
 return the problem for domain with index i More...
 
template<std::size_t i>
Type< i > & operator[] (Dune::index_constant< i > id)
 return the problem for domain with index i More...
 
template<std::size_t i>
const PtrType< i > & get (Dune::index_constant< i > id=Dune::index_constant< i >{}) const
 access the problem ptr for domain with index i More...
 
template<std::size_t i>
PtrType< i > & get (Dune::index_constant< i > id=Dune::index_constant< i >{})
 access the problem ptr for domain with index i More...
 
TupleTypeasTuple ()
 Access the underlying tuple representation. More...
 
const TupleTypeasTuple () const
 Access the underlying tuple representation. More...
 

Member Typedef Documentation

◆ PtrType

template<class MDTraits >
template<std::size_t i>
using Dumux::MultiDomainFVProblem< MDTraits >::PtrType = std::shared_ptr<Type<i> >

export pointer types the stored type

◆ TupleType

template<class MDTraits >
using Dumux::MultiDomainFVProblem< MDTraits >::TupleType = typename MDTraits::template Tuple<PtrType>

export type of tuple of pointers

◆ Type

template<class MDTraits >
template<std::size_t i>
using Dumux::MultiDomainFVProblem< MDTraits >::Type = typename MDTraits::template SubDomain<i>::Problem

export base types of the stored type

Constructor & Destructor Documentation

◆ MultiDomainFVProblem() [1/2]

template<class MDTraits >
Dumux::MultiDomainFVProblem< MDTraits >::MultiDomainFVProblem ( MultiDomainFVGridGeometry< MDTraits >  gridGeometries)
inline

Construct the problem.

Parameters
gridGeometriesa tuple of grid geometry shared pointers

◆ MultiDomainFVProblem() [2/2]

template<class MDTraits >
Dumux::MultiDomainFVProblem< MDTraits >::MultiDomainFVProblem ( TupleType  problemTuple)
inline

Construct wrapper from a tuple of problems.

Parameters
problemTuplea tuple of shared_ptrs to the problems

Member Function Documentation

◆ applyInitialSolution()

template<class MDTraits >
void Dumux::MultiDomainFVProblem< MDTraits >::applyInitialSolution ( SolutionVector &  sol) const
inline

Applies the initial solution for all degrees of freedom of the grid.

Parameters
solthe initial solution vector

◆ asTuple() [1/2]

template<class MDTraits >
TupleType & Dumux::MultiDomainFVProblem< MDTraits >::asTuple ( )
inline

Access the underlying tuple representation.

◆ asTuple() [2/2]

template<class MDTraits >
const TupleType & Dumux::MultiDomainFVProblem< MDTraits >::asTuple ( ) const
inline

Access the underlying tuple representation.

◆ get() [1/2]

template<class MDTraits >
template<std::size_t i>
PtrType< i > & Dumux::MultiDomainFVProblem< MDTraits >::get ( Dune::index_constant< i >  id = Dune::index_constant<i>{})
inline

access the problem ptr for domain with index i

◆ get() [2/2]

template<class MDTraits >
template<std::size_t i>
const PtrType< i > & Dumux::MultiDomainFVProblem< MDTraits >::get ( Dune::index_constant< i >  id = Dune::index_constant<i>{}) const
inline

access the problem ptr for domain with index i

◆ operator[]() [1/2]

template<class MDTraits >
template<std::size_t i>
Type< i > & Dumux::MultiDomainFVProblem< MDTraits >::operator[] ( Dune::index_constant< i >  id)
inline

return the problem for domain with index i

◆ operator[]() [2/2]

template<class MDTraits >
template<std::size_t i>
const Type< i > & Dumux::MultiDomainFVProblem< MDTraits >::operator[] ( Dune::index_constant< i >  id) const
inline

return the problem for domain with index i


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