Gyselalib++
 
Loading...
Searching...
No Matches
bumpontailequilibrium.hpp
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5#include <paraconf.h>
6
7#include "geometry.hpp"
8#include "iequilibrium.hpp"
9#include "paraconfpp.hpp"
10#include "species_info.hpp"
11
22{
24 host_t<DFieldMemSp> m_epsilon_bot;
25
27 host_t<DFieldMemSp> m_temperature_bot;
28
30 host_t<DFieldMemSp> m_mean_velocity_bot;
31
32public:
46 DFieldVx fMaxwellian,
47 double epsilon_bot,
48 double temperature_bot,
49 double mean_velocity_bot) const;
57 host_t<DFieldMemSp> epsilon_bot,
58 host_t<DFieldMemSp> temperature_bot,
59 host_t<DFieldMemSp> mean_velocity_bot);
60
61 ~BumpontailEquilibrium() override = default;
62
70 IdxRangeSp idx_range_kinsp,
71 PC_tree_t const& yaml_input_file);
72
78 DFieldSpVx operator()(DFieldSpVx allfequilibrium) const override;
79
84 host_t<DConstFieldSp> epsilon_bot() const
85 {
86 return get_const_field(m_epsilon_bot);
87 }
88
93 host_t<DConstFieldSp> temperature_bot() const
94 {
95 return get_const_field(m_temperature_bot);
96 }
97
102 host_t<DConstFieldSp> mean_velocity_bot() const
103 {
104 return get_const_field(m_mean_velocity_bot);
105 }
106};
A class that initializes the distribution function as a sum of two Maxwellian functions.
Definition bumpontailequilibrium.hpp:22
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.
Definition bumpontailequilibrium.hpp:84
host_t< DConstFieldSp > mean_velocity_bot() const
A method for accessing the m_mean_velocity_bot member variable of the class.
Definition bumpontailequilibrium.hpp:102
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.
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...
BumpontailEquilibrium(host_t< DFieldMemSp > epsilon_bot, host_t< DFieldMemSp > temperature_bot, host_t< DFieldMemSp > mean_velocity_bot)
Creates an instance of the BumpontailEquilibrium class.
host_t< DConstFieldSp > temperature_bot() const
A method for accessing the m_temperature_bot member variable of the class.
Definition bumpontailequilibrium.hpp:93
An abstract class for initializing a distribution function in (species,vpar,mu).
Definition iequilibrium.hpp:11