Graph Framework
Loading...
Searching...
No Matches
pic::ion< T > Class Template Reference

ion class. More...

#include <particle_in_cell.hpp>

Public Member Functions

 ion (const T mass, const uint8_t z, const size_t num_ions, const T num_real, const characteristics< T > &norms)
 Construct an ion object.
 
graph::shared_variable< T > get_x () const
 Get x case as variable.
 
size_t size () const
 Get the number of computational ions.
 
T * x_data () const
 Get the data for x.
 
graph::shared_variable< T > get_v_para () const
 Get x case as variable.
 
T * v_para_data () const
 Get the data for the parallel velocity.
 
graph::shared_variable< T > get_v_perp () const
 Get x case as variable.
 
T * v_perp_data () const
 Get the data for the perpendicular velocity.
 
T super_to_real () const
 Conversion factor from super particles to real particles.
 
void define_variables (const output::result_file &file, output::data_set< T > &data, workflow::manager< T > &work, const std::string tag)
 Define variables.
 
graph::shared_leaf< T > build_profile (std::function< graph::shared_leaf< T >(graph::shared_leaf< T >)> func) const
 Build a profile.
 

Public Attributes

const uint8_t z
 Atomic number.
 
const T charge
 Charge.
 
const T mass
 Particle mass.
 
graph::shared_leaf< T > x
 Normalized Position.
 
graph::shared_leaf< T > v_para
 Normalized Parallel velocity.
 
graph::shared_leaf< T > v_perp
 Normalized Perpendicular velocity.
 
std::array< graph::shared_leaf< T >, 3 > weights
 Mesh Weights.
 
const T num_real
 Number of real particles.
 

Detailed Description

template<std::floating_point T>
class pic::ion< T >

ion class.

These values need to be initialized using normalized quantities.

Template Parameters
TBase type of the calculation.

Constructor & Destructor Documentation

◆ ion()

template<std::floating_point T>
pic::ion< T >::ion ( const T  mass,
const uint8_t  z,
const size_t  num_ions,
const T  num_real,
const characteristics< T > &  norms 
)
inline

Construct an ion object.

Parameters
[in]massIon mass.
[in]zIon Z.
[in]num_ionsNumber of ions.
[in]num_realNumber of real particles.
[in]normsA pic::characteristics object.

Member Function Documentation

◆ build_profile()

template<std::floating_point T>
graph::shared_leaf< T > pic::ion< T >::build_profile ( std::function< graph::shared_leaf< T >(graph::shared_leaf< T >)>  func) const
inline

Build a profile.

Parameters
[in]funcThe profile function.
Returns
The parallel temperature profile.

◆ define_variables()

template<std::floating_point T>
void pic::ion< T >::define_variables ( const output::result_file &  file,
output::data_set< T > &  data,
workflow::manager< T > &  work,
const std::string  tag 
)
inline

Define variables.

Parameters
[in]fileA output::result_file object to define variables.
[in,out]dataA output::data_set object to create variable.
[in,out]workA workflow::manager object where data was computed.
[in]tagUnique identity for give the ion species.

◆ get_v_para()

template<std::floating_point T>
graph::shared_variable< T > pic::ion< T >::get_v_para ( ) const
inline

Get x case as variable.

Returns
x cast as a variable.

◆ get_v_perp()

template<std::floating_point T>
graph::shared_variable< T > pic::ion< T >::get_v_perp ( ) const
inline

Get x case as variable.

Returns
x cast as a variable.

◆ get_x()

template<std::floating_point T>
graph::shared_variable< T > pic::ion< T >::get_x ( ) const
inline

Get x case as variable.

Returns
x cast as a variable.

◆ size()

template<std::floating_point T>
size_t pic::ion< T >::size ( ) const
inline

Get the number of computational ions.

Returns
The number of particles.

◆ super_to_real()

template<std::floating_point T>
T pic::ion< T >::super_to_real ( ) const
inline

Conversion factor from super particles to real particles.

Returns
The super to real conversion factor.

◆ v_para_data()

template<std::floating_point T>
T * pic::ion< T >::v_para_data ( ) const
inline

Get the data for the parallel velocity.

Returns
The number of particles.

◆ v_perp_data()

template<std::floating_point T>
T * pic::ion< T >::v_perp_data ( ) const
inline

Get the data for the perpendicular velocity.

Returns
The number of particles.

◆ x_data()

template<std::floating_point T>
T * pic::ion< T >::x_data ( ) const
inline

Get the data for x.

Returns
The number of particles.

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