SpECTRE
v2023.01.13
|
Creates a 3D Domain in the shape of a hollow spherical shell consisting of six wedges. More...
#include <Shell.hpp>
Classes | |
struct | BoundaryConditions |
struct | EquatorialCompression |
struct | EquatorialCompressionOptions |
Options for the EquatorialCompression map. More... | |
struct | InitialGridPoints |
struct | InitialRefinement |
struct | InnerBoundaryCondition |
struct | InnerRadius |
struct | OuterBoundaryCondition |
struct | OuterRadius |
struct | RadialDistribution |
struct | RadialPartitioning |
struct | TimeDependence |
struct | UseEquiangularMap |
struct | WhichWedges |
Public Types | |
using | maps_list = tmpl::list< domain::CoordinateMap< Frame::BlockLogical, Frame::Inertial, CoordinateMaps::Wedge< 3 >, CoordinateMaps::EquatorialCompression > > |
using | basic_options = tmpl::list< InnerRadius, OuterRadius, InitialRefinement, InitialGridPoints, UseEquiangularMap, EquatorialCompression, RadialPartitioning, RadialDistribution, WhichWedges, TimeDependence > |
template<typename Metavariables > | |
using | options = tmpl::conditional_t< domain::BoundaryConditions::has_boundary_conditions_base_v< typename Metavariables::system >, tmpl::push_back< basic_options, InnerBoundaryCondition< domain::BoundaryConditions::get_boundary_conditions_base< typename Metavariables::system > >, OuterBoundaryCondition< domain::BoundaryConditions::get_boundary_conditions_base< typename Metavariables::system > > >, basic_options > |
Public Member Functions | |
Shell (double inner_radius, double outer_radius, size_t initial_refinement, std::array< size_t, 2 > initial_number_of_grid_points, bool use_equiangular_map=true, std::optional< domain::creators::Shell::EquatorialCompressionOptions > equatorial_compression={}, std::vector< double > radial_partitioning={}, std::vector< domain::CoordinateMaps::Distribution > radial_distribution={domain::CoordinateMaps::Distribution::Linear}, ShellWedges=ShellWedges::All, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 3 > > time_dependence=nullptr, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > inner_boundary_condition=nullptr, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > outer_boundary_condition=nullptr, const Options::Context &context={}) | |
Shell (const Shell &)=delete | |
Shell (Shell &&)=default | |
Shell & | operator= (const Shell &)=delete |
Shell & | operator= (Shell &&)=default |
Domain< 3 > | create_domain () const override |
std::vector< DirectionMap< 3, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > > > | external_boundary_conditions () const override |
The set of external boundary condition for every block in the domain. More... | |
std::vector< std::array< size_t, 3 > > | initial_extents () const override |
Obtain the initial grid extents of the Elements in each block. More... | |
std::vector< std::array< size_t, 3 > > | initial_refinement_levels () const override |
Obtain the initial refinement levels of the blocks. More... | |
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. More... | |
![]() | |
DomainCreator (const DomainCreator< VolumeDim > &)=delete | |
DomainCreator (DomainCreator< VolumeDim > &&)=default | |
DomainCreator< VolumeDim > & | operator= (const DomainCreator< VolumeDim > &)=delete |
DomainCreator< VolumeDim > & | operator= (DomainCreator< VolumeDim > &&)=default |
virtual Domain< VolumeDim > | create_domain () const=0 |
virtual std::vector< DirectionMap< VolumeDim, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > > > | external_boundary_conditions () const=0 |
The set of external boundary condition for every block in the domain. More... | |
virtual std::vector< std::string > | block_names () const |
A human-readable name for every block, or empty if the domain creator doesn't support block names (yet). More... | |
virtual std::unordered_map< std::string, std::unordered_set< std::string > > | block_groups () const |
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. More... | |
virtual std::vector< std::array< size_t, VolumeDim > > | initial_extents () const=0 |
Obtain the initial grid extents of the Elements in each block. More... | |
virtual std::vector< std::array< size_t, VolumeDim > > | initial_refinement_levels () const=0 |
Obtain the initial refinement levels of the blocks. More... | |
virtual 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 > > |
Retrieve the functions of time used for moving meshes. More... | |
Static Public Attributes | |
static constexpr Options::String | help |
Creates a 3D Domain in the shape of a hollow spherical shell consisting of six wedges.
|
overridevirtual |
Implements DomainCreator< 3 >.
|
overridevirtual |
The set of external boundary condition for every block in the domain.
Implements DomainCreator< 3 >.
|
overridevirtual |
Retrieve the functions of time used for moving meshes.
Reimplemented from DomainCreator< 3 >.
|
overridevirtual |
Obtain the initial grid extents of the Elements in each block.
Implements DomainCreator< 3 >.
|
overridevirtual |
Obtain the initial refinement levels of the blocks.
Implements DomainCreator< 3 >.
|
staticconstexpr |