An axisymmetric Cartoon domain covering the half-plane \(x \ge 0\) with annular blocks that use a half-Fourier basis in the azimuthal direction.
More...
|
|
| AngularCartoonSphere2D (typename InnerRadius::type inner_radius, typename OuterRadius::type outer_radius, typename RadialPartitioning::type radial_partitioning, typename RadialDistribution::type radial_distribution, typename InitialGridPoints::type initial_grid_points, typename InitialRefinementInR::type initial_refinement_in_r, 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={}) |
|
| AngularCartoonSphere2D (const AngularCartoonSphere2D &)=delete |
|
| AngularCartoonSphere2D (AngularCartoonSphere2D &&)=default |
|
AngularCartoonSphere2D & | operator= (const AngularCartoonSphere2D &)=delete |
|
AngularCartoonSphere2D & | operator= (AngularCartoonSphere2D &&)=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::string > | block_names () const override |
| | Block names are Shell0, Shell1, ...
|
| std::unordered_map< std::string, std::unordered_set< std::string > > | block_groups () const override |
| | Block groups are Shells.
|
| 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.
|
An axisymmetric Cartoon domain covering the half-plane \(x \ge 0\) with annular blocks that use a half-Fourier basis in the azimuthal direction.
Details
This is the polar-coordinate counterpart of domain::creators::CartoonSphere2D. Where CartoonSphere2D tiles the half-plane with three Legendre wedges per shell, this creator uses a single annular block per shell whose azimuthal direction is spanned by the Spectral::Basis::HalfFourier basis.
To match the symmetry to allowed solution, \(\phi\) sweeps counterclockwise from the \(-y\) axis, through \(+x\), to the \(+y\) axis. The symmetry axis \(x = 0\) is not an external boundary: it is handled internally by the parity of the half-Fourier basis. See Spectral::make_component_parity_array and Spectral::HalfFourier.
- Note
- The origin must be excised as the radial topology is I1.