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

Create a 3D cubical domain with two equal-sized abutting excised cubes in the center. This is done by combining ten frusta. More...

#include <FrustalCloak.hpp>

Classes

struct  InitialGridPoints
 
struct  InitialRefinement
 
struct  LengthInnerCube
 
struct  LengthOuterCube
 
struct  OriginPreimage
 
struct  ProjectionFactor
 
struct  UseEquiangularMap
 

Public Types

using options = tmpl::list< InitialRefinement, InitialGridPoints, UseEquiangularMap, ProjectionFactor, LengthInnerCube, LengthOuterCube, OriginPreimage >
 
- Public Types inherited from DomainCreator< 3, TargetFrame >
using creatable_classes = typename DomainCreators_detail::domain_creators< VolumeDim >::template creators< TargetFrame >
 

Public Member Functions

 FrustalCloak (typename InitialRefinement::type initial_refinement_level, typename InitialGridPoints::type initial_number_of_grid_points, typename UseEquiangularMap::type use_equiangular_map=false, typename ProjectionFactor::type projection_factor=1.0, typename LengthInnerCube::type length_inner_cube=0.0, typename LengthOuterCube::type length_outer_cube=0.0, typename OriginPreimage::type origin_preimage={{0.0, 0.0, 0.0}}, const OptionContext &context={}) noexcept
 
 FrustalCloak (const FrustalCloak &)=delete
 
 FrustalCloak (FrustalCloak &&) noexcept=default
 
FrustalCloakoperator= (const FrustalCloak &)=delete
 
FrustalCloakoperator= (FrustalCloak &&) 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::FrustalCloak< TargetFrame >

Create a 3D cubical domain with two equal-sized abutting excised cubes in the center. This is done by combining ten frusta.

Member Data Documentation

◆ help

template<typename TargetFrame >
constexpr OptionString domain::creators::FrustalCloak< TargetFrame >::help
static
Initial value:
{
"Creates a cubical domain with two equal-sized abutting excised cubes\n"
"in the center. This is done by combining ten frusta. The parameter\n"
"`UseEquiangularMap` can be used to apply a tangent mapping to the xi\n"
"and eta logical coordinates of each frustum, while the parameter\n"
"`ProjectionFactor` can be used to apply a projective map to the zeta\n"
"logical coordinate of each frustum. Increasing the\n"
"`ProjectionFactor` value can give better gridpoint spacings in the\n"
"z direction. The user also specifies values for `LengthInnerCube` and\n"
"`LengthOuterCube`. This will create a cubical Domain of side"
"length `LengthOuterCube` with the center excised. The size of the\n"
"excised region is determined by the value set for `LengthInnerCube`.\n"
"`OriginPreimage` moves the blocks such that the origin preimage is\n"
"mapped to the origin. Note that the abutting excised cubes share a\n"
"face in the x-direction. This Domain is primarily for testing the\n"
"frustal cloak in the BinaryCompactObject Domain."}

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