SpECTRE  v2026.06.30
Loading...
Searching...
No Matches
domain::creators::CartoonCylinder Class Reference

Create a 3D Domain with its computational domain being the \(x-y\) plane. The third dimension uses a Cartoon basis with Killing vector along the \(\phi\) direction. More...

#include <CartoonCylinder.hpp>

Classes

struct  BoundaryConditions
struct  Distributions
struct  InitialGridPoints
struct  InitialRefinement
struct  LowerBounds
struct  LowerUpperBoundaryCondition
struct  TimeDependence
struct  UpperBounds

Public Types

using maps_list
using basic_options
template<typename Metavariables>
using options

Public Member Functions

 CartoonCylinder (std::array< double, 2 > lower_bounds, std::array< double, 2 > upper_bounds, std::array< size_t, 2 > initial_refinement_levels, std::array< size_t, 2 > initial_num_points, std::array< CoordinateMaps::Distribution, 2 > distributions={}, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 3 > > time_dependence=nullptr, std::array< std::array< std::unique_ptr< domain::BoundaryConditions::BoundaryCondition >, 2 >, 2 > boundary_conditions={}, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > cartoon_boundary_condition=nullptr, const Options::Context &context={})
 CartoonCylinder (const CartoonCylinder &)=delete
 CartoonCylinder (CartoonCylinder &&)=default
CartoonCylinderoperator= (const CartoonCylinder &)=delete
CartoonCylinderoperator= (CartoonCylinder &&)=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.
std::vector< std::array< size_t, 3 > > initial_extents () const override
 Obtain the initial grid extents of the Elements in each block.
std::vector< std::array< size_t, 3 > > initial_refinement_levels () const override
 Obtain the initial refinement levels of the blocks.
std::vector< std::stringblock_names () const override
 The only block is Block0.
std::unordered_map< std::string, std::unordered_set< std::string > > block_groups () const override
 The only group is CartoonCylinder.
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.
Public Member Functions inherited from DomainCreator< 3 >
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.

Static Public Member Functions

static std::string name ()
template<typename BoundaryConditionsBase>
static auto transform_boundary_conditions (std::array< std::variant< std::unique_ptr< BoundaryConditionsBase >, LowerUpperBoundaryCondition< BoundaryConditionsBase > >, 2 > boundary_conditions) -> std::array< std::array< std::unique_ptr< domain::BoundaryConditions::BoundaryCondition >, 2 >, 2 >

Static Public Attributes

static constexpr Options::String help
Static Public Attributes inherited from DomainCreator< 3 >
static constexpr size_t volume_dim

Detailed Description

Create a 3D Domain with its computational domain being the \(x-y\) plane. The third dimension uses a Cartoon basis with Killing vector along the \(\phi\) direction.

Member Typedef Documentation

◆ basic_options

using domain::creators::CartoonCylinder::basic_options
Initial value:
Time dependence of the domain.
Definition AngularCylinder.hpp:182
Definition CartoonCylinder.hpp:78
Definition CartoonCylinder.hpp:52
Definition CartoonCylinder.hpp:60

◆ maps_list

using domain::creators::CartoonCylinder::maps_list
Initial value:
A coordinate map or composition of coordinate maps.
Definition CoordinateMap.hpp:314
Identity map from .
Definition Identity.hpp:28
Maps in the 1D interval to in the interval according to a domain::CoordinateMaps::Distribution.
Definition Interval.hpp:82
Product of three one-dimensional CoordinateMaps.
Definition ProductMaps.hpp:92
Definition IndexType.hpp:42
Definition IndexType.hpp:46

◆ options

template<typename Metavariables>
using domain::creators::CartoonCylinder::options
Initial value:
tmpl::conditional_t<
domain::BoundaryConditions::has_boundary_conditions_base_v<
typename Metavariables::system>,
tmpl::push_back<
basic_options,
typename Metavariables::system>>>,
basic_options>
Domain support for applying boundary conditions
Definition BoundaryCondition.hpp:14
typename detail::get_boundary_conditions_base< T >::type get_boundary_conditions_base
Returns T::boundary_condition_base or a placeholder class.
Definition GetBoundaryConditionsBase.hpp:32

Member Function Documentation

◆ block_groups()

std::unordered_map< std::string, std::unordered_set< std::string > > domain::creators::CartoonCylinder::block_groups ( ) const
overridevirtual

The only group is CartoonCylinder.

Reimplemented from DomainCreator< 3 >.

◆ block_names()

std::vector< std::string > domain::creators::CartoonCylinder::block_names ( ) const
overridevirtual

The only block is Block0.

Reimplemented from DomainCreator< 3 >.

◆ create_domain()

Domain< 3 > domain::creators::CartoonCylinder::create_domain ( ) const
overridevirtual

Implements DomainCreator< 3 >.

◆ external_boundary_conditions()

std::vector< DirectionMap< 3, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > > > domain::creators::CartoonCylinder::external_boundary_conditions ( ) const
overridevirtual

The set of external boundary condition for every block in the domain.

Implements DomainCreator< 3 >.

◆ functions_of_time()

auto domain::creators::CartoonCylinder::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>>
overridevirtual

Retrieve the functions of time used for moving meshes.

Reimplemented from DomainCreator< 3 >.

◆ initial_extents()

std::vector< std::array< size_t, 3 > > domain::creators::CartoonCylinder::initial_extents ( ) const
overridevirtual

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

Implements DomainCreator< 3 >.

◆ initial_refinement_levels()

std::vector< std::array< size_t, 3 > > domain::creators::CartoonCylinder::initial_refinement_levels ( ) const
overridevirtual

Obtain the initial refinement levels of the blocks.

Implements DomainCreator< 3 >.

Member Data Documentation

◆ help

Options::String domain::creators::CartoonCylinder::help
staticconstexpr
Initial value:
{
"A cylinder domain that requires/enforces axial symmetry. The "
"computational domain is the x-y plane, with Cartoon partial derivatives "
"being used for the z direction. Elements touching the x=0 axis use "
"ZernikeB1 bases in the x direction and automatically apply a system's "
"Cartoon-type boundary condition."}

The documentation for this class was generated from the following file:
  • src/Domain/Creators/CartoonCylinder.hpp