SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
domain::creators Namespace Reference

Defines classes that create Domains. More...

Namespaces

namespace  bco
 Namespace used to hold things used in both the BinaryCompactObject and CylindricalBinaryCompactObject domain creators.
 
namespace  time_dependence
 Classes and functions for adding time dependence to a domain.
 

Classes

class  AlignedLattice
 Create a Domain consisting of multiple aligned Blocks arrayed in a lattice. More...
 
class  BinaryCompactObject
 A general domain for two compact objects. More...
 
class  Cylinder
 Create a 3D Domain in the shape of a cylinder where the cross-section is a square surrounded by four two-dimensional wedges (see Wedge). More...
 
class  CylindricalBinaryCompactObject
 A general domain for two compact objects based on cylinders. More...
 
class  Disk
 Create a 2D Domain in the shape of a disk from a square surrounded by four wedges. More...
 
class  FrustalCloak
 Create a 3D cubical domain with two equal-sized abutting excised cubes in the center. This is done by combining ten frusta. More...
 
class  Rectilinear
 Create a domain consisting of a single Block in Dim dimensions. More...
 
struct  RefinementRegion
 
class  RotatedBricks
 Create a 3D Domain consisting of eight rotated Blocks. More...
 
class  RotatedIntervals
 Create a 1D Domain consisting of two rotated Blocks. The left block has its logical ξ-axis aligned with the grid x-axis. The right block has its logical ξ-axis opposite to the grid x-axis. This is useful for testing code that deals with unaligned blocks. More...
 
class  RotatedRectangles
 Create a 2D Domain consisting of four rotated Blocks. More...
 
class  Sphere
 A 3D cubed sphere. More...
 

Typedefs

using Interval = Rectilinear< 1 >
 
using Rectangle = Rectilinear< 2 >
 
using Brick = Rectilinear< 3 >
 

Functions

void register_derived_with_charm ()
 
void set_shell_distribution (gsl::not_null< size_t * > number_of_shells, gsl::not_null< std::vector< domain::CoordinateMaps::Distribution > * > radial_distribution, const std::vector< double > &radial_partitioning, const std::variant< domain::CoordinateMaps::Distribution, std::vector< domain::CoordinateMaps::Distribution > > &input_radial_distribution, double innermost_shell_radius, double outermost_shell_radius, const std::string &innermost_radius_name, const std::string &outermost_radius_name, const Options::Context &context={})
 Given info about the radial distribution, set the number of shells and the distribution for each shell. More...
 

Detailed Description

Defines classes that create Domains.

Function Documentation

◆ set_shell_distribution()

void domain::creators::set_shell_distribution ( gsl::not_null< size_t * >  number_of_shells,
gsl::not_null< std::vector< domain::CoordinateMaps::Distribution > * >  radial_distribution,
const std::vector< double > &  radial_partitioning,
const std::variant< domain::CoordinateMaps::Distribution, std::vector< domain::CoordinateMaps::Distribution > > &  input_radial_distribution,
double  innermost_shell_radius,
double  outermost_shell_radius,
const std::string innermost_radius_name,
const std::string outermost_radius_name,
const Options::Context context = {} 
)

Given info about the radial distribution, set the number of shells and the distribution for each shell.

Details

This is common code that all domain creators can use.