SpECTRE  2021.08.02
domain::creators::Interval Class Reference

Create a 1D Domain consisting of a single Block. More...

#include <Interval.hpp>

Classes

struct  BoundaryConditions
 
struct  InitialGridPoints
 
struct  InitialRefinement
 
struct  IsPeriodicIn
 
struct  LowerBound
 
struct  LowerBoundaryCondition
 
struct  TimeDependence
 
struct  UpperBound
 
struct  UpperBoundaryCondition
 

Public Types

using maps_list = tmpl::list< domain::CoordinateMap< Frame::Logical, Frame::Inertial, CoordinateMaps::Affine > >
 
using common_options = tmpl::list< LowerBound, UpperBound, InitialRefinement, InitialGridPoints >
 
using options_periodic = tmpl::list< IsPeriodicIn >
 
template<typename System >
using options_boundary_conditions = tmpl::list< LowerBoundaryCondition< domain::BoundaryConditions::get_boundary_conditions_base< System > >, UpperBoundaryCondition< domain::BoundaryConditions::get_boundary_conditions_base< System > > >
 
template<typename Metavariables >
using options = tmpl::append< common_options, tmpl::conditional_t< domain::BoundaryConditions::has_boundary_conditions_base_v< typename Metavariables::system >, options_boundary_conditions< typename Metavariables::system >, options_periodic >, tmpl::list< TimeDependence > >
 

Public Member Functions

 Interval (std::array< double, 1 > lower_x, std::array< double, 1 > upper_x, std::array< size_t, 1 > initial_refinement_level_x, std::array< size_t, 1 > initial_number_of_grid_points_in_x, std::array< bool, 1 > is_periodic_in_x, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 1 > > time_dependence) noexcept
 
 Interval (std::array< double, 1 > lower_x, std::array< double, 1 > upper_x, std::array< size_t, 1 > initial_refinement_level_x, std::array< size_t, 1 > initial_number_of_grid_points_in_x, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > lower_boundary_condition, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > upper_boundary_condition, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 1 > > time_dependence, const Options::Context &context={})
 
 Interval (const Interval &)=delete
 
 Interval (Interval &&) noexcept=default
 
Interval & operator= (const Interval &)=delete
 
Interval & operator= (Interval &&) noexcept=default
 
Domain< 1 > create_domain () const noexcept override
 
std::vector< std::array< size_t, 1 > > initial_extents () const noexcept override
 Obtain the initial grid extents of the Elements in each block. More...
 
std::vector< std::array< size_t, 1 > > initial_refinement_levels () const noexcept override
 Obtain the initial refinement levels of the blocks. More...
 
auto functions_of_time () const noexcept -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override
 Retrieve the functions of time used for moving meshes. More...
 
- Public Member Functions inherited from DomainCreator< 1 >
 DomainCreator (const DomainCreator< VolumeDim > &)=delete
 
 DomainCreator (DomainCreator< VolumeDim > &&) noexcept=default
 
DomainCreator< VolumeDim > & operator= (const DomainCreator< VolumeDim > &)=delete
 
DomainCreator< VolumeDim > & operator= (DomainCreator< VolumeDim > &&) noexcept=default
 

Static Public Attributes

static constexpr Options::String help = {"Creates a 1D interval."}
 

Detailed Description

Create a 1D Domain consisting of a single Block.

Member Function Documentation

◆ create_domain()

Domain< 1 > domain::creators::Interval::create_domain ( ) const
overridevirtualnoexcept

Implements DomainCreator< 1 >.

◆ functions_of_time()

auto domain::creators::Interval::functions_of_time ( ) const -> std::unordered_map< std::string, std::unique_ptr<domain::FunctionsOfTime::FunctionOfTime>>
overridevirtualnoexcept

Retrieve the functions of time used for moving meshes.

Reimplemented from DomainCreator< 1 >.

◆ initial_extents()

std::vector< std::array< size_t, 1 > > domain::creators::Interval::initial_extents ( ) const
overridevirtualnoexcept

Obtain the initial grid extents of the Elements in each block.

Implements DomainCreator< 1 >.

◆ initial_refinement_levels()

std::vector< std::array< size_t, 1 > > domain::creators::Interval::initial_refinement_levels ( ) const
overridevirtualnoexcept

Obtain the initial refinement levels of the blocks.

Implements DomainCreator< 1 >.