Graph Framework
Loading...
Searching...
No Matches
equilibrium::slab< T, SAFE_MATH > Class Template Reference

Uniform density with varying magnetic field equilibrium. More...

#include <equilibrium.hpp>

Inheritance diagram for equilibrium::slab< T, SAFE_MATH >:
equilibrium::generic< T, SAFE_MATH >

Public Member Functions

 slab ()
 Construct a guassian density with uniform magnetic field.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_electron_density (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z) final
 Get the electron density.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_ion_density (const size_t index, graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z) final
 Get the ion density.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_electron_temperature (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z) final
 Get the electron temperature.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_ion_temperature (const size_t index, graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z) final
 Get the ion temperature.
 
virtual graph::shared_vector< T, SAFE_MATH > get_magnetic_field (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z) final
 Get the magnetic field.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_characteristic_field (const size_t device_number=0) final
 Get the characteristic field.
 
- Public Member Functions inherited from equilibrium::generic< T, SAFE_MATH >
 generic (const std::vector< T > &masses, const std::vector< uint8_t > &charges)
 Construct a generic equilibrum.
 
virtual ~generic ()
 Destructor.
 
size_t get_num_ion_species () const
 Get the number of ion species.
 
get_ion_mass (const size_t index) const
 Get the mass for an ion species.
 
uint8_t get_ion_charge (const size_t index) const
 Get the charge for an ion species.
 
virtual graph::shared_vector< T, SAFE_MATH > get_esup1 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the contravariant basis vector in the x1 direction.
 
virtual graph::shared_vector< T, SAFE_MATH > get_esup2 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the contravariant basis vector in the x2 direction.
 
virtual graph::shared_vector< T, SAFE_MATH > get_esup3 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the contravariant basis vector in the x3 direction.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_x (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the x position.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_y (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the y position.
 
virtual graph::shared_leaf< T, SAFE_MATH > get_z (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3)
 Get the z position.
 

Additional Inherited Members

- Protected Attributes inherited from equilibrium::generic< T, SAFE_MATH >
const std::vector< T > ion_masses
 Ion masses for each species.
 
const std::vector< uint8_t > ion_charges
 Ion charge for each species.
 

Detailed Description

template<jit::float_scalar T, bool SAFE_MATH = false>
class equilibrium::slab< T, SAFE_MATH >

Uniform density with varying magnetic field equilibrium.

Template Parameters
TBase type of the calculation.
SAFE_MATHUse Safe Math operations.

Member Function Documentation

◆ get_characteristic_field()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_characteristic_field ( const size_t  device_number = 0)
inlinefinalvirtual

Get the characteristic field.

Use the value at the y intercept.

Parameters
[in]device_numberDevice to use.
Returns
The characteristic field.

Implements equilibrium::generic< T, SAFE_MATH >.

◆ get_electron_density()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_electron_density ( graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z 
)
inlinefinalvirtual

Get the electron density.

Parameters
[in]xX position.
[in]yY position.
[in]zZ position.
Returns
The electron expression.

Implements equilibrium::generic< T, SAFE_MATH >.

◆ get_electron_temperature()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_electron_temperature ( graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z 
)
inlinefinalvirtual

Get the electron temperature.

Parameters
[in]xX position.
[in]yY position.
[in]zZ position.
Returns
The electron expression.

Implements equilibrium::generic< T, SAFE_MATH >.

◆ get_ion_density()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_ion_density ( const size_t  index,
graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z 
)
inlinefinalvirtual

Get the ion density.

Parameters
[in]indexThe species index.
[in]xX position.
[in]yY position.
[in]zZ position.
Returns
The electron expression.

Implements equilibrium::generic< T, SAFE_MATH >.

◆ get_ion_temperature()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_ion_temperature ( const size_t  index,
graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z 
)
inlinefinalvirtual

Get the ion temperature.

Parameters
[in]indexThe species index.
[in]xX position.
[in]yY position.
[in]zZ position.
Returns
The electron expression.

Implements equilibrium::generic< T, SAFE_MATH >.

◆ get_magnetic_field()

template<jit::float_scalar T, bool SAFE_MATH = false>
virtual graph::shared_vector< T, SAFE_MATH > equilibrium::slab< T, SAFE_MATH >::get_magnetic_field ( graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z 
)
inlinefinalvirtual

Get the magnetic field.

Parameters
[in]xX position.
[in]yY position.
[in]zZ position.
Returns
Magnetic field expression.

Implements equilibrium::generic< T, SAFE_MATH >.


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