|
|
| Hypertorus (const std::array< double, Dim > &lower_bounds, const std::array< double, Dim > &upper_bounds, const std::array< size_t, Dim > &initial_max_modes, std::unique_ptr< domain::creators::time_dependence::TimeDependence< Dim > > time_dependence=nullptr, const Options::Context &context={}) |
|
| Hypertorus (const Hypertorus &)=delete |
|
| Hypertorus (Hypertorus &&)=default |
|
Hypertorus & | operator= (const Hypertorus &)=delete |
|
Hypertorus & | operator= (Hypertorus &&)=default |
| Domain< Dim > | create_domain () const override |
| std::vector< DirectionMap< Dim, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > > > | external_boundary_conditions () const override |
| | The set of external boundary condition for every block in the domain.
|
| std::vector< std::array< size_t, Dim > > | initial_extents () const override |
| | Obtain the initial grid extents of the Elements in each block.
|
| std::vector< std::array< size_t, Dim > > | initial_refinement_levels () const override |
| | Obtain the initial refinement levels of the blocks.
|
| auto | functions_of_time (const std::unordered_map< std::string, double > &initial_expiration_times={}) const -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override |
| | Retrieve the functions of time used for moving meshes.
|
| std::vector< std::string > | block_names () const override |
| | A human-readable name for every block, or empty if the domain creator doesn't support block names (yet).
|
| std::unordered_map< std::string, std::unordered_set< std::string > > | block_groups () const override |
| | Labels to refer to groups of blocks. The groups can overlap, and they don't have to cover all blocks in the domain. The groups can be used to refer to multiple blocks at once when specifying input-file options.
|
| Public Member Functions inherited from DomainCreator< Dim > |
|
DomainCreator< VolumeDim > & | operator= (const DomainCreator< VolumeDim > &)=delete |
|
virtual std::unordered_map< std::string, tnsr::I< double, VolumeDim, Frame::Grid > > | grid_anchors () const |
| | A set of named coordinates in the grid frame, like the center of the domain or the positions of specific objects in a domain.
|
template<size_t Dim>
class domain::creators::Hypertorus< Dim >
Create a domain consisting of a single Block with the topology of a hypertorus in Dim dimensions.
Details
The domain will have topology S1 (i.e. is periodic) in each dimension. Therefore the domain has no external boundaries. The domain cannot be refined, and is intended for using DG with a Fourier basis in each dimension. If you want to h-refine a periodic domain, use one of the rectilinear domain creators (i.e. Interval, Rectangle, or Brick).