A multidomain wrapper for multiple grid geometries.  
 More...
#include <dumux/multidomain/fvgridgeometry.hh>
template<class MDTraits>
class Dumux::MultiDomainFVGridGeometry< MDTraits >
- Template Parameters
- 
  
    | MDTraits | The multidomain traits |  
 
|  | 
| template<std::size_t i> | 
| using | Type = typename MDTraits::template SubDomain<i>::GridGeometry | 
|  | 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 
 | 
|  | 
|  | 
| template<typename... Args> | 
|  | MultiDomainFVGridGeometry (Args &&... args) | 
|  | Construct grid geometries for all subdomains. 
 | 
|  | 
|  | MultiDomainFVGridGeometry (TupleType ggTuple) | 
|  | Construct wrapper from a tuple of grid geometries. 
 | 
|  | 
| template<typename... Args> | 
| void | update (Args &&... args) | 
|  | Update all grid geometries (do this e.g. after grid adaption) 
 | 
|  | 
| template<std::size_t i> | 
| const Type< i > & | operator[] (Dune::index_constant< i >) const | 
|  | return the grid geometry for domain with index i 
 | 
|  | 
| template<std::size_t i> | 
| Type< i > & | operator[] (Dune::index_constant< i >) | 
|  | return the grid geometry 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 grid geometry pointer for domain with index i 
 | 
|  | 
| template<std::size_t i> | 
| PtrType< i > & | get (Dune::index_constant< i > id=Dune::index_constant< i >{}) | 
|  | ! access the the grid geometry pointer for domain with index i 
 | 
|  | 
| TupleType & | asTuple () | 
|  | Access the underlying tuple representation. 
 | 
|  | 
| const TupleType & | asTuple () const | 
|  | Access the underlying tuple representation. 
 | 
|  | 
◆ PtrType
template<class MDTraits> 
template<std::size_t i> 
      
 
 
◆ TupleType
◆ Type
template<class MDTraits> 
template<std::size_t i> 
      
 
 
◆ MultiDomainFVGridGeometry() [1/2]
template<class MDTraits> 
template<typename... Args> 
 
- Parameters
- 
  
    | args | a list of arguments to pass to the constructors |  
 
The number of arguments has to match the number of subdomains. In case a constructor needs multiple arguments, they have to be wrapped in a std::tuple. Use std::make_tuple and possible wrap arguments using std::ref / std::cref or use std::forward_as_tuple. If an argument is a tuple, it will be unpacked and its members will be passed to the constructor. In the corner case where you need to pass a tuple to the constructor, you therefore need to additionally wrap the tuple in a tuple before passing. 
 
 
◆ MultiDomainFVGridGeometry() [2/2]
- Parameters
- 
  
    | ggTuple | a tuple of shared_ptrs to the grid geometries |  
 
 
 
◆ asTuple() [1/2]
◆ asTuple() [2/2]
◆ get() [1/2]
template<class MDTraits> 
template<std::size_t i> 
 
 
◆ get() [2/2]
template<class MDTraits> 
template<std::size_t i> 
 
 
◆ operator[]() [1/2]
template<class MDTraits> 
template<std::size_t i> 
 
 
◆ operator[]() [2/2]
template<class MDTraits> 
template<std::size_t i> 
 
 
◆ update()
template<class MDTraits> 
template<typename... Args> 
 
- Parameters
- 
  
    | args | a list of arguments to pass to the update functions |  
 
The number of arguments has to match the number of subdomains. In case the update function needs multiple arguments, they have to be wrapped in a std::tuple. Use std::make_tuple and possible wrap arguments using std::ref / std::cref or use std::forward_as_tuple. If an argument is a tuple, it will be unpacked and its members will be passed to the constructor. In the corner case where you need to pass a tuple to the constructor, you therefore need to additionally wrap the tuple in a tuple before passing. 
 
 
The documentation for this class was generated from the following file: