|
| Sphere (typename InnerRadius::type inner_radius, typename OuterRadius::type outer_radius, double inner_cube_sphericity, typename InitialRefinement::type initial_refinement, typename InitialGridPoints::type initial_number_of_grid_points, typename UseEquiangularMap::type use_equiangular_map, std::unique_ptr< domain::creators::time_dependence::TimeDependence< 3 > > time_dependence=nullptr, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > boundary_condition=nullptr, const Options::Context &context={}) |
|
| Sphere (const Sphere &)=delete |
|
| Sphere (Sphere &&)=default |
|
Sphere & | operator= (const Sphere &)=delete |
|
Sphere & | operator= (Sphere &&)=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. More...
|
|
std::vector< std::array< size_t, 3 > > | initial_extents () const override |
| Obtain the initial grid extents of the Elements in each block. More...
|
|
std::vector< std::array< size_t, 3 > > | initial_refinement_levels () const override |
| Obtain the initial refinement levels of the blocks. More...
|
|
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. More...
|
|
Public Member Functions inherited from DomainCreator< 3 > |
| DomainCreator (const DomainCreator< VolumeDim > &)=delete |
|
| DomainCreator (DomainCreator< VolumeDim > &&)=default |
|
DomainCreator< VolumeDim > & | operator= (const DomainCreator< VolumeDim > &)=delete |
|
DomainCreator< VolumeDim > & | operator= (DomainCreator< VolumeDim > &&)=default |
|
virtual Domain< VolumeDim > | create_domain () const=0 |
|
virtual std::vector< DirectionMap< VolumeDim, std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > > > | external_boundary_conditions () const=0 |
| The set of external boundary condition for every block in the domain. More...
|
|
virtual std::vector< std::string > | block_names () const |
| A human-readable name for every block, or empty if the domain creator doesn't support block names (yet). More...
|
|
virtual std::unordered_map< std::string, std::unordered_set< std::string > > | block_groups () const |
| 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. More...
|
|
virtual std::vector< std::array< size_t, VolumeDim > > | initial_extents () const=0 |
| Obtain the initial grid extents of the Elements in each block. More...
|
|
virtual std::vector< std::array< size_t, VolumeDim > > | initial_refinement_levels () const=0 |
| Obtain the initial refinement levels of the blocks. More...
|
|
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. More...
|
|
Create a 3D Domain in the shape of a sphere consisting of six wedges and a central cube. For an image showing how the wedges are aligned in this Domain, see the documentation for Shell.
The inner cube is a BulgedCube except if the inner cube sphericity is exactly 0. Then an Equiangular or Affine map is used (depending on if it's equiangular or not) to avoid a root find in the BulgedCube map.