|
SpECTRE
2021.08.02
|
A general domain for two compact objects based on cylinders. More...
#include <CylindricalBinaryCompactObject.hpp>
Classes | |
| struct | BoundaryConditions |
| struct | CenterA |
| struct | CenterB |
| struct | InitialGridPoints |
| struct | InitialRefinement |
| struct | InnerBoundaryCondition |
| struct | OuterBoundaryCondition |
| struct | OuterRadius |
| struct | RadiusA |
| struct | RadiusB |
| struct | TimeDependence |
Public Member Functions | |
| CylindricalBinaryCompactObject (typename CenterA::type center_A, typename CenterB::type center_B, typename RadiusA::type radius_A, typename RadiusB::type radius_B, typename OuterRadius::type outer_radius, const typename InitialRefinement::type &initial_refinement, const typename InitialGridPoints::type &initial_grid_points, 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={}) | |
| CylindricalBinaryCompactObject (const CylindricalBinaryCompactObject &)=delete | |
| CylindricalBinaryCompactObject (CylindricalBinaryCompactObject &&) noexcept=default | |
| CylindricalBinaryCompactObject & | operator= (const CylindricalBinaryCompactObject &)=delete |
| CylindricalBinaryCompactObject & | operator= (CylindricalBinaryCompactObject &&) noexcept=default |
| Domain< 3 > | create_domain () const noexcept override |
| std::vector< std::array< size_t, 3 > > | initial_extents () const noexcept override |
| Obtain the initial grid extents of the Elements in each block. More... | |
| std::vector< std::array< size_t, 3 > > | initial_refinement_levels () const noexcept override |
| Obtain the initial refinement levels of the blocks. More... | |
| auto | functions_of_time () const noexcept -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override |
| Retrieve the functions of time used for moving meshes. More... | |
Public Member Functions inherited from DomainCreator< 3 > | |
| DomainCreator (const DomainCreator< VolumeDim > &)=delete | |
| DomainCreator (DomainCreator< VolumeDim > &&) noexcept=default | |
| DomainCreator< VolumeDim > & | operator= (const DomainCreator< VolumeDim > &)=delete |
| DomainCreator< VolumeDim > & | operator= (DomainCreator< VolumeDim > &&) noexcept=default |
Static Public Attributes | |
| static constexpr Options::String | help |
A general domain for two compact objects based on cylinders.
Creates a 3D Domain that represents a binary compact object solution. This domain is described briefly in the Appendix of [21], and is illustrated in Figure 20 of that paper.
In the code and options below, ObjectA and ObjectB refer to the two compact objects. In the grid frame, ObjectA is located to the right of (i.e. a more positive value of the x-coordinate than) ObjectB. The inner edge of the Blocks surrounding each of ObjectA and ObjectB is spherical in grid coordinates; the user must specify the center and radius of this surface for both ObjectA and ObjectB, and the user must specify the outer boundary radius. The outer boundary is a sphere centered at the origin.
Note that Figure 20 of [21] illustrates additional spherical shells inside the "EA" and "EB" blocks, and the caption of Figure 20 indicates that there are additional spherical shells outside the "CA" and "CB" blocks; CylindricalBinaryCompactObject does not have any of these spherical shells: the "EA" and "EB" blocks extend to the excision boundary and the "CA" and "CB" blocks extend to the outer boundary.
The Blocks are named as follows:
If \(c_A\) and \(c_B\) are the input parameters center_A and center_B, \(r_A\) and \(r_B\) are the input parameters radius_A and radius_B, and \(R\) is the outer boundary radius, we demand the following restrictions on parameters:
|
overridevirtualnoexcept |
Implements DomainCreator< 3 >.
|
overridevirtualnoexcept |
Retrieve the functions of time used for moving meshes.
Reimplemented from DomainCreator< 3 >.
|
overridevirtualnoexcept |
Obtain the initial grid extents of the Elements in each block.
Implements DomainCreator< 3 >.
|
overridevirtualnoexcept |
Obtain the initial refinement levels of the blocks.
Implements DomainCreator< 3 >.
|
staticconstexpr |