3.3.0
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 ()=default
 The default constructor. More...
 
 MultiDomainFVProblem (GridGeometries &&gridGeometries)
 Contruct the problem. 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>
PtrType< i > get (Dune::index_constant< i > id=Dune::index_constant< i >{})
 return the problem for domain with index i More...
 
template<std::size_t i>
void set (PtrType< i > p, Dune::index_constant< i > id=Dune::index_constant< i >{})
 set the pointer for sub domain i More...
 
TupleType getTuple ()
 return the grid variables tuple we are wrapping 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 ( )
default

The default constructor.

◆ MultiDomainFVProblem() [2/2]

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

Contruct the problem.

Parameters
gridGeometriesa tuple of grid geometry shared pointers

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

◆ get()

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

return the problem for domain with index i

◆ getTuple()

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

return the grid variables tuple we are wrapping

Note
the copy is not expensive since it is a tuple of shared pointers

◆ 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

◆ set()

template<class MDTraits >
template<std::size_t i>
void Dumux::MultiDomainFVProblem< MDTraits >::set ( PtrType< i >  p,
Dune::index_constant< i >  id = Dune::index_constant<i>{} 
)
inline

set the pointer for sub domain i


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