3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
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
template<std::size_t i>
using PtrType = std::shared_ptr<Type<i>>
 export pointer types the stored type
using TupleType = typename MDTraits::template Tuple<PtrType>
 export type of tuple of pointers

Public Member Functions

 MultiDomainFVProblem ()=default
 The default constructor.
 MultiDomainFVProblem (GridGeometries &&gridGeometries)
 Contruct the problem.
void applyInitialSolution (SolutionVector &sol) const
 Applies the initial solution for all degrees of freedom of the grid.
template<std::size_t i>
const Type< i > & operator[] (Dune::index_constant< i > id) const
 return the problem for domain with index i
template<std::size_t i>
Type< i > & operator[] (Dune::index_constant< i > id)
 return the problem for domain with index i
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
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
TupleType getTuple ()
 return the grid variables tuple we are wrapping

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: