version 3.8.0
Loading...
Searching...
No Matches
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
 
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

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

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: