SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
domain::creators::AngularDisk Class Reference

Create a 2D filled disk domain with radial partitioning using a B2 filled disk at the center and Fourier hollow disks surrounding it. More...

#include <AngularDisk.hpp>

Classes

struct  BoundaryCondition
 Boundary condition to impose on outer side. More...
struct  InitialAnnulusGridPoints
 Initial number of \([r, \theta]\) gridpoints. Can be one pair which is applied to all shells, or each can be specified. More...
struct  InitialDiskThetaGridPoints
 Initial number of \(\theta\) gridpoints for filled disk. The number for \(r\) is accordingly set to match spectral space sizes. This is enforced to be odd for numerical stability. More...
struct  OuterRadius
 Radius of the disk's outer edge. More...
struct  RadialPartitioning
 Radial coordinates of the boundaries splitting elements. More...
struct  TimeDependence
 Time dependence of the domain. More...

Public Types

using maps_list
using basic_options
template<typename Metavariables>
using options

Public Member Functions

 AngularDisk (typename OuterRadius::type outer_radius, typename RadialPartitioning::type radial_partitioning, typename InitialDiskThetaGridPoints::type initial_disk_grid_points, typename InitialAnnulusGridPoints::type initial_annulus_grid_points, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 2 > > time_dependence=nullptr, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > boundary_condition=nullptr, const Options::Context &context={})
 AngularDisk (const AngularDisk &)=delete
 AngularDisk (AngularDisk &&)=default
AngularDiskoperator= (const AngularDisk &)=delete
AngularDiskoperator= (AngularDisk &&)=default
Domain< 2 > create_domain () const override
std::vector< DirectionMap< 2, 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, 2 > > initial_extents () const override
 Obtain the initial grid extents of the Elements in each block.
std::vector< std::array< size_t, 2 > > initial_refinement_levels () const override
 Obtain the initial refinement levels of the blocks.
std::vector< std::stringblock_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< 2 >
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.
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.

Static Public Attributes

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

Detailed Description

Create a 2D filled disk domain with radial partitioning using a B2 filled disk at the center and Fourier hollow disks surrounding it.

Member Typedef Documentation

◆ basic_options

using domain::creators::AngularDisk::basic_options
Initial value:
Radius of the cylinder's outer edge.
Definition AngularCylinder.hpp:66
Radial coordinates of the boundaries splitting elements.
Definition AngularCylinder.hpp:101
Time dependence of the domain.
Definition AngularCylinder.hpp:182
Initial number of gridpoints. Can be one pair which is applied to all shells, or each can be specifi...
Definition AngularDisk.hpp:89
Initial number of gridpoints for filled disk. The number for is accordingly set to match spectral s...
Definition AngularDisk.hpp:78

◆ maps_list

using domain::creators::AngularDisk::maps_list
Initial value:
A coordinate map or composition of coordinate maps.
Definition CoordinateMap.hpp:314
Affine map from .
Definition Affine.hpp:37
Identity map from .
Definition Identity.hpp:28
Transformation from polar to Cartesian coordinates.
Definition PolarToCartesian.hpp:34
Product of two codimension=0 CoordinateMaps.
Definition ProductMaps.hpp:35
Definition IndexType.hpp:42
Definition IndexType.hpp:46

◆ options

template<typename Metavariables>
using domain::creators::AngularDisk::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>
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
Boundary condition to impose on outer side.
Definition AngularDisk.hpp:102

Member Function Documentation

◆ block_groups()

std::unordered_map< std::string, std::unordered_set< std::string > > domain::creators::AngularDisk::block_groups ( ) const
inlineoverridevirtual

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.

Reimplemented from DomainCreator< 2 >.

◆ block_names()

std::vector< std::string > domain::creators::AngularDisk::block_names ( ) const
inlineoverridevirtual

A human-readable name for every block, or empty if the domain creator doesn't support block names (yet).

Reimplemented from DomainCreator< 2 >.

◆ create_domain()

Domain< 2 > domain::creators::AngularDisk::create_domain ( ) const
overridevirtual

Implements DomainCreator< 2 >.

◆ external_boundary_conditions()

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

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

Implements DomainCreator< 2 >.

◆ initial_extents()

std::vector< std::array< size_t, 2 > > domain::creators::AngularDisk::initial_extents ( ) const
overridevirtual

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

Implements DomainCreator< 2 >.

◆ initial_refinement_levels()

std::vector< std::array< size_t, 2 > > domain::creators::AngularDisk::initial_refinement_levels ( ) const
overridevirtual

Obtain the initial refinement levels of the blocks.

Implements DomainCreator< 2 >.

Member Data Documentation

◆ help

Options::String domain::creators::AngularDisk::help
staticconstexpr
Initial value:
{
"Creates a disk using a Zernike basis radially and Fourier in the "
"angular direction"}

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