version 3.9-dev
Dumux::MultiDomainFVGridVariables< MDTraits > Class Template Reference

A multidomain wrapper for multiple grid variables. More...

#include <dumux/multidomain/fvgridvariables.hh>

Description

template<class MDTraits>
class Dumux::MultiDomainFVGridVariables< MDTraits >
Template Parameters
MDTraitsthe multidomain traits

Public Types

template<std::size_t i>
using Type = typename MDTraits::template SubDomain< i >::GridVariables
 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

 MultiDomainFVGridVariables (MultiDomainFVGridGeometry< MDTraits > gridGeometries, MultiDomainFVProblem< MDTraits > problems)
 Construct the grid variables. More...
 
 MultiDomainFVGridVariables (TupleType ggTuple)
 Construct wrapper from a tuple of grid variables. More...
 
void init (const SolutionVector &sol)
 initialize all variables More...
 
void update (const SolutionVector &sol, bool forceFluxCacheUpdate=false)
 update all variables More...
 
void updateAfterGridAdaption (const SolutionVector &sol)
 update all variables after grid adaption More...
 
void advanceTimeStep ()
 Sets the current state as the previous for next time step. More...
 
void resetTimeStep (const SolutionVector &sol)
 resets state to the one before time integration More...
 
template<std::size_t i>
const Type< i > & operator[] (Dune::index_constant< i > id) const
 return the grid variables for domain with index i More...
 
template<std::size_t i>
Type< i > & operator[] (Dune::index_constant< i > id)
 return the grid variables 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 ith grid variables pointer we are wrapping More...
 
template<std::size_t i>
PtrType< i > & get (Dune::index_constant< i > id=Dune::index_constant< i >{})
 access the ith grid variables pointer we are wrapping 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::MultiDomainFVGridVariables< MDTraits >::PtrType = std::shared_ptr<Type<i> >

◆ TupleType

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

◆ Type

template<class MDTraits >
template<std::size_t i>
using Dumux::MultiDomainFVGridVariables< MDTraits >::Type = typename MDTraits::template SubDomain<i>::GridVariables

Constructor & Destructor Documentation

◆ MultiDomainFVGridVariables() [1/2]

template<class MDTraits >
Dumux::MultiDomainFVGridVariables< MDTraits >::MultiDomainFVGridVariables ( MultiDomainFVGridGeometry< MDTraits >  gridGeometries,
MultiDomainFVProblem< MDTraits >  problems 
)
inline
Parameters
gridGeometriesa multidomain wrapper of a grid geometry tuple
problemsa multidomain wrapper of a problem tuple

◆ MultiDomainFVGridVariables() [2/2]

template<class MDTraits >
Dumux::MultiDomainFVGridVariables< MDTraits >::MultiDomainFVGridVariables ( TupleType  ggTuple)
inline
Parameters
ggTuplea tuple of shared_ptrs to the grid variables

Member Function Documentation

◆ advanceTimeStep()

template<class MDTraits >
void Dumux::MultiDomainFVGridVariables< MDTraits >::advanceTimeStep ( )
inline
Note
this has to be called at the end of each time step

◆ asTuple() [1/2]

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

◆ asTuple() [2/2]

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

◆ get() [1/2]

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

◆ get() [2/2]

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

◆ init()

template<class MDTraits >
void Dumux::MultiDomainFVGridVariables< MDTraits >::init ( const SolutionVector &  sol)
inline

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ resetTimeStep()

template<class MDTraits >
void Dumux::MultiDomainFVGridVariables< MDTraits >::resetTimeStep ( const SolutionVector &  sol)
inline

◆ update()

template<class MDTraits >
void Dumux::MultiDomainFVGridVariables< MDTraits >::update ( const SolutionVector &  sol,
bool  forceFluxCacheUpdate = false 
)
inline

◆ updateAfterGridAdaption()

template<class MDTraits >
void Dumux::MultiDomainFVGridVariables< MDTraits >::updateAfterGridAdaption ( const SolutionVector &  sol)
inline

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