|
SpECTRE
2021.08.02
|
A TimeDependence that is a composition of various other TimeDependences. More...
#include <Composition.hpp>
Public Types | |
| using | CoordMap = detail::generate_coordinate_map_t< tmpl::flatten< tmpl::list< typename TimeDependenceCompTag0::time_dependence::MapForComposition::maps_list, typename TimeDependenceCompTags::time_dependence::MapForComposition::maps_list... > > > |
| using | maps_list = tmpl::list< CoordMap > |
| using | options = tmpl::list< TimeDependenceCompTag0, TimeDependenceCompTags... > |
Public Types inherited from domain::creators::time_dependence::TimeDependence< TimeDependenceCompTag0::mesh_dim > | |
| using | creatable_classes = tmpl::append< creatable_classes_any_dim, tmpl::conditional_t< MeshDim==1, creatable_classes_1d, tmpl::conditional_t< MeshDim==2, creatable_classes_2d, creatable_classes_3d > > > |
Public Member Functions | |
| Composition (const Composition &)=default | |
| Composition & | operator= (const Composition &)=default |
| Composition (Composition &&)=default | |
| Composition & | operator= (Composition &&)=default |
| Composition (tmpl::type_from< TimeDependenceCompTag0 > first_time_dep, tmpl::type_from< TimeDependenceCompTags >... rest_time_dep) noexcept | |
| Composition (CoordMap coord_map, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) noexcept | |
| Constructor for copying the composition time dependence. Internally performs all the copying necessary to deal with the functions of time. | |
| auto | get_clone () const noexcept -> std::unique_ptr< TimeDependence< mesh_dim > > override |
Returns a std::unique_ptr pointing to a copy of the TimeDependence. More... | |
| auto | block_maps (size_t number_of_blocks) const noexcept -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, mesh_dim > > > override |
Returns the coordinate maps from the Frame::Grid to the Frame::Inertial frame for each block. More... | |
| auto | functions_of_time () const noexcept -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override |
| Returns the functions of time for the domain. More... | |
Public Member Functions inherited from domain::creators::time_dependence::TimeDependence< TimeDependenceCompTag0::mesh_dim > | |
| TimeDependence (const TimeDependence &)=default | |
| TimeDependence (TimeDependence &&)=default | |
| TimeDependence & | operator= (const TimeDependence &)=default |
| TimeDependence & | operator= (TimeDependence &&)=default |
| bool | is_none () const noexcept |
Returns true if the instance is None, meaning no time dependence. | |
Static Public Attributes | |
| static constexpr Options::String | help = {"A composition of TimeDependences."} |
| static constexpr size_t | mesh_dim = TimeDependenceCompTag0::mesh_dim |
A TimeDependence that is a composition of various other TimeDependences.
To create a new Composition TimeDependence you must create an explicit instantiation of the Composition<Tags...> TimeDependence in a .cpp file. You must add the Composition to the creatable_classes list of TimeDependence in order for the new Composition to be factory creatable.
The tags in the template parameters must be TimeDependenceCompositionTags. See the documentation of the TimeDependenceCompositionTag class for details on the tags.
|
overridevirtualnoexcept |
Returns the coordinate maps from the Frame::Grid to the Frame::Inertial frame for each block.
Implements domain::creators::time_dependence::TimeDependence< TimeDependenceCompTag0::mesh_dim >.
|
overridevirtualnoexcept |
Returns the functions of time for the domain.
Implements domain::creators::time_dependence::TimeDependence< TimeDependenceCompTag0::mesh_dim >.
|
overridevirtualnoexcept |
Returns a std::unique_ptr pointing to a copy of the TimeDependence.
Implements domain::creators::time_dependence::TimeDependence< TimeDependenceCompTag0::mesh_dim >.