Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
domain::creators::Shell< TargetFrame > Class Template Reference

Creates a 3D Domain in the shape of a hollow spherical shell consisting of six wedges. More...

#include <Shell.hpp>

Classes

struct  AspectRatio
 
struct  InitialGridPoints
 
struct  InitialRefinement
 
struct  InnerRadius
 
struct  OuterRadius
 
struct  RadialBlockLayers
 
struct  UseEquiangularMap
 
struct  UseLogarithmicMap
 
struct  WhichWedges
 

Public Types

using options = tmpl::list< InnerRadius, OuterRadius, InitialRefinement, InitialGridPoints, UseEquiangularMap, AspectRatio, UseLogarithmicMap, WhichWedges, RadialBlockLayers >
 
- Public Types inherited from DomainCreator< 3, TargetFrame >
using creatable_classes = typename DomainCreators_detail::domain_creators< VolumeDim >::template creators< TargetFrame >
 

Public Member Functions

 Shell (typename InnerRadius::type inner_radius, typename OuterRadius::type outer_radius, typename InitialRefinement::type initial_refinement, typename InitialGridPoints::type initial_number_of_grid_points, typename UseEquiangularMap::type use_equiangular_map, typename AspectRatio::type aspect_ratio=1.0, typename UseLogarithmicMap::type use_logarithmic_map=false, typename WhichWedges::type which_wedges=ShellWedges::All, typename RadialBlockLayers::type number_of_layers=1) noexcept
 
 Shell (const Shell &)=delete
 
 Shell (Shell &&) noexcept=default
 
Shelloperator= (const Shell &)=delete
 
Shelloperator= (Shell &&) noexcept=default
 
Domain< 3, TargetFrame > create_domain () const noexcept override
 
std::vector< std::array< size_t, 3 > > initial_extents () const noexcept override
 Obtain the initial grid extents of the block with the given index.
 
std::vector< std::array< size_t, 3 > > initial_refinement_levels () const noexcept override
 Obtain the initial refinement levels of the blocks.
 
- Public Member Functions inherited from DomainCreator< 3, TargetFrame >
 DomainCreator (const DomainCreator< VolumeDim, TargetFrame > &)=delete
 
 DomainCreator (DomainCreator< VolumeDim, TargetFrame > &&) noexcept=default
 
DomainCreator< VolumeDim, TargetFrame > & operator= (const DomainCreator< VolumeDim, TargetFrame > &)=delete
 
DomainCreator< VolumeDim, TargetFrame > & operator= (DomainCreator< VolumeDim, TargetFrame > &&) noexcept=default
 

Static Public Attributes

static constexpr OptionString help
 

Detailed Description

template<typename TargetFrame>
class domain::creators::Shell< TargetFrame >

Creates a 3D Domain in the shape of a hollow spherical shell consisting of six wedges.

WedgeOrientations.png
The orientation of each wedge in Shell.

Member Data Documentation

◆ help

template<typename TargetFrame >
constexpr OptionString domain::creators::Shell< TargetFrame >::help
static
Initial value:
{
"Creates a 3D spherical shell with 6 Blocks. `UseEquiangularMap` has\n"
"a default value of `true` because there is no central Block in this\n"
"domain. Equidistant coordinates are best suited to Blocks with\n"
"Cartesian grids. However, the option is allowed for testing "
"purposes. The `aspect_ratio` moves grid points on the shell towards\n"
"the equator for values greater than 1.0, and towards the poles for\n"
"positive values less than 1.0. If `UseLogarithmicMap` is set to true,\n"
"the radial gridpoints will be spaced uniformly in \f$log(r)\f$. The\n"
"user may also choose to use only a single wedge (along the -x\n"
"direction), or four wedges along the x-y plane using the `WhichWedges`\n"
"option. Using the RadialBlockLayers option, a user may increase the\n"
"number of Blocks in the radial direction."}

The documentation for this class was generated from the following files: