Alamo
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes
IC::Sphere Class Reference

#include <Sphere.H>

Inheritance diagram for IC::Sphere:
IC::IC< Set::Scalar >

Public Types

enum  Type { XYZ , YZ , ZX , XY }
 

Public Member Functions

 Sphere (amrex::Vector< amrex::Geometry > &_geom)
 
 Sphere (amrex::Vector< amrex::Geometry > &_geom, IO::ParmParse &pp)
 
 Sphere (amrex::Vector< amrex::Geometry > &_geom, IO::ParmParse &pp, std::string name)
 
 Sphere (amrex::Vector< amrex::Geometry > &_geom, Set::Scalar _radius, Set::Vector _center, Type _type=Type::XYZ, Set::Scalar _alpha_in=1, Set::Scalar _alpha_out=0)
 
void Define (Set::Scalar a_radius, Set::Vector a_center, Type a_type, Set::Scalar a_alpha_in, Set::Scalar a_alpha_out)
 
void Add (const int &lev, Set::Field< Set::Scalar > &a_field, Set::Scalar)
 
- Public Member Functions inherited from IC::IC< Set::Scalar >
 IC (amrex::Vector< amrex::Geometry > &_geom)
 
virtual ~IC ()
 
void Add (const int &lev, Set::Field< Set::Scalar > &field)
 
void Initialize (const int &a_lev, Set::Field< Set::Scalar > &a_field, Set::Scalar a_time=0.0)
 
void Initialize (const int &a_lev, Set::Field< Set::Scalar > &a_field, Set::Scalar a_time=0.0)
 
virtual void SetComp (int a_comp) final
 

Static Public Member Functions

static void Parse (Sphere &value, IO::ParmParse &pp)
 

Static Public Attributes

static constexpr const char * name = "sphere"
 

Private Attributes

Set::Vector center = Set::Vector::Zero()
 
Set::Scalar radius = NAN
 
Set::Scalar alpha_in = NAN
 
Set::Scalar alpha_out = NAN
 
Type type = Type::XYZ
 

Additional Inherited Members

- Protected Attributes inherited from IC::IC< Set::Scalar >
amrex::Vector< amrex::Geometry > & geom
 
int comp
 

Detailed Description

Definition at line 20 of file Sphere.H.

Member Enumeration Documentation

◆ Type

Sphere is also used for a cylindrical case, but switching from the default type to the desired orientation.

For instance, XY refers to a cylinder with the circular faces in the XY plane.

Enumerator
XYZ 
YZ 
ZX 
XY 

Definition at line 27 of file Sphere.H.

Constructor & Destructor Documentation

◆ Sphere() [1/4]

IC::Sphere::Sphere ( amrex::Vector< amrex::Geometry > &  _geom)
inline

Definition at line 35 of file Sphere.H.

◆ Sphere() [2/4]

IC::Sphere::Sphere ( amrex::Vector< amrex::Geometry > &  _geom,
IO::ParmParse pp 
)
inline

Definition at line 36 of file Sphere.H.

◆ Sphere() [3/4]

IC::Sphere::Sphere ( amrex::Vector< amrex::Geometry > &  _geom,
IO::ParmParse pp,
std::string  name 
)
inline

Definition at line 40 of file Sphere.H.

◆ Sphere() [4/4]

IC::Sphere::Sphere ( amrex::Vector< amrex::Geometry > &  _geom,
Set::Scalar  _radius,
Set::Vector  _center,
Type  _type = Type::XYZ,
Set::Scalar  _alpha_in = 1,
Set::Scalar  _alpha_out = 0 
)
inline

Constructor defining radius, center, dimension/orientation, and field values within and outside of the area.

Definition at line 45 of file Sphere.H.

Member Function Documentation

◆ Add()

void IC::Sphere::Add ( const int &  lev,
Set::Field< Set::Scalar > &  a_field,
Set::Scalar   
)
inlinevirtual

Implements IC::IC< Set::Scalar >.

Definition at line 64 of file Sphere.H.

◆ Define()

void IC::Sphere::Define ( Set::Scalar  a_radius,
Set::Vector  a_center,
Type  a_type,
Set::Scalar  a_alpha_in,
Set::Scalar  a_alpha_out 
)
inline

Definition at line 51 of file Sphere.H.

◆ Parse()

static void IC::Sphere::Parse ( Sphere value,
IO::ParmParse pp 
)
inlinestatic

Definition at line 142 of file Sphere.H.

Field Documentation

◆ alpha_in

Set::Scalar IC::Sphere::alpha_in = NAN
private

Definition at line 160 of file Sphere.H.

◆ alpha_out

Set::Scalar IC::Sphere::alpha_out = NAN
private

Definition at line 161 of file Sphere.H.

◆ center

Set::Vector IC::Sphere::center = Set::Vector::Zero()
private

Definition at line 158 of file Sphere.H.

◆ name

constexpr const char* IC::Sphere::name = "sphere"
staticconstexpr

Definition at line 23 of file Sphere.H.

◆ radius

Set::Scalar IC::Sphere::radius = NAN
private

Definition at line 159 of file Sphere.H.

◆ type

Type IC::Sphere::type = Type::XYZ
private

Definition at line 162 of file Sphere.H.


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