Gyselalib++
 
Loading...
Searching...
No Matches
BumpontailEquilibrium Class Reference

A class that initializes the distribution function as a sum of two Maxwellian functions. More...

Inheritance diagram for BumpontailEquilibrium:
IEquilibrium

Public Member Functions

void compute_twomaxwellian (DFieldVx fMaxwellian, double epsilon_bot, double temperature_bot, double mean_velocity_bot) const
 Compute a distribution function defined as a sum of two Maxwellians.
 
 BumpontailEquilibrium (host_t< DFieldMemSp > epsilon_bot, host_t< DFieldMemSp > temperature_bot, host_t< DFieldMemSp > mean_velocity_bot)
 Creates an instance of the BumpontailEquilibrium class.
 
DFieldSpVx operator() (DFieldSpVx allfequilibrium) const override
 Initializes the distribution function as the sum of a bulk and a bump-on-tail Maxwellians.
 
host_t< DConstFieldSp > epsilon_bot () const
 A method for accessing the m_epsilon_bot member variable of the class.
 
host_t< DConstFieldSp > temperature_bot () const
 A method for accessing the m_temperature_bot member variable of the class.
 
host_t< DConstFieldSp > mean_velocity_bot () const
 A method for accessing the m_mean_velocity_bot member variable of the class.
 
- Public Member Functions inherited from IEquilibrium
virtual DFieldSpVparMu operator() (DFieldSpVparMu allfequilibrium) const =0
 Operator for initializing an equilibrium distribution function.
 
virtual DFieldSpVxVy operator() (DFieldSpVxVy allfequilibrium) const =0
 Operator for initializing a distribution function that does not depend on space.
 

Static Public Member Functions

static BumpontailEquilibrium init_from_input (IdxRangeSp idx_range_kinsp, PC_tree_t const &yaml_input_file)
 Read the density, temperature and mean velocity required to initialize the bump-on-tail Maxwellian in a YAML input file.
 

Detailed Description

A class that initializes the distribution function as a sum of two Maxwellian functions.

This class initializes the distribution function as a sum of two Maxwellian, enabling the study of the so-called bump-on-tail instability. One of the Maxwellians represents the bulk of the distribution function that has no mean velocity, and the other Maxwellian corresponds to high velocity particles. The second Maxwellian is referred to as the "bump-on-tail" Maxwellian.

Constructor & Destructor Documentation

◆ BumpontailEquilibrium()

BumpontailEquilibrium::BumpontailEquilibrium ( host_t< DFieldMemSp >  epsilon_bot,
host_t< DFieldMemSp >  temperature_bot,
host_t< DFieldMemSp >  mean_velocity_bot 
)

Creates an instance of the BumpontailEquilibrium class.

Parameters
[in]epsilon_botA parameter that represents the density of the bump-on-tail Maxwellian for each species.
[in]temperature_botA parameter that represents the temperature of the bump-on-tail Maxwellian for each species.
[in]mean_velocity_botA parameter that represents the mean velocity of the bump-on-tail Maxwellian for each species.

Member Function Documentation

◆ compute_twomaxwellian()

void BumpontailEquilibrium::compute_twomaxwellian ( DFieldVx  fMaxwellian,
double  epsilon_bot,
double  temperature_bot,
double  mean_velocity_bot 
) const

Compute a distribution function defined as a sum of two Maxwellians.

This distribution function can be written as $f(x,v) = f1(v) + f2(v) $ with $f1(v) = (1-epsilon)/(sqrt(2*PI))*exp(-v**2/2)$ $f2(v) = epsilon/sqrt(2*PI*T0)[exp(-(v-v0)**2/2*T0)$

Parameters
[out]fMaxwellianThe initial distribution function.
[in]epsilon_botA parameter that represents the density of the bump-on-tail Maxwellian.
[in]temperature_botA parameter that represents the temperature of the bump-on-tail Maxwellian.
[in]mean_velocity_botA parameter that represents the mean velocity of the bump-on-tail Maxwellian.

◆ init_from_input()

static BumpontailEquilibrium BumpontailEquilibrium::init_from_input ( IdxRangeSp  idx_range_kinsp,
PC_tree_t const &  yaml_input_file 
)
static

Read the density, temperature and mean velocity required to initialize the bump-on-tail Maxwellian in a YAML input file.

Parameters
[in]idx_range_kinspIndex range for the kinetic species
[in]yaml_input_fileYAML input file
Returns
an instance of Maxwellian distribution function.

◆ operator()()

DFieldSpVx BumpontailEquilibrium::operator() ( DFieldSpVx  allfequilibrium) const
overridevirtual

Initializes the distribution function as the sum of a bulk and a bump-on-tail Maxwellians.

Parameters
[out]allfequilibriumThe initialized distribution function.
Returns
The initialized distribution function.

Implements IEquilibrium.

◆ epsilon_bot()

host_t< DConstFieldSp > BumpontailEquilibrium::epsilon_bot ( ) const
inline

A method for accessing the m_epsilon_bot member variable of the class.

Returns
a field containing the m_epsilon_bot variable.

◆ temperature_bot()

host_t< DConstFieldSp > BumpontailEquilibrium::temperature_bot ( ) const
inline

A method for accessing the m_temperature_bot member variable of the class.

Returns
a field containing the m_temperature_bot variable.

◆ mean_velocity_bot()

host_t< DConstFieldSp > BumpontailEquilibrium::mean_velocity_bot ( ) const
inline

A method for accessing the m_mean_velocity_bot member variable of the class.

Returns
a field containing the m_velocity_bot variable.

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