![]() |
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Parameters to define common initial distributions.
...
Derived types and interfaces | |
| type | sll_c_distribution_params |
| Abstract data type for parameters of initial distribution. More... | |
| type | sll_t_params_cos_gaussian |
| Data type for distribution function with (multiple) Gaussians in v and one plus cosine perturbations in x. More... | |
| type | sll_t_params_noise_gaussian |
| type | sll_t_params_cos_gaussian_screwpinch |
| interface | signature_empty |
| interface | signature_eval |
| interface | signature_evalx |
| interface | signature_evalv |
Functions/Subroutines | |
| real(kind=f64) function | sll_f_cos_gaussian (self, x, v, m) |
| real(kind=f64) function | sll_f_cos (self, x, v) |
| real(kind=f64) function | sll_f_gaussian (self, v, x, m) |
| real(kind=f64) function | sll_f_gaussian_pnoise (self, v, x, m) |
| real(kind=f64) function | sll_f_noise (self, x, v) |
| real(kind=f64) function | sll_f_noise_gaussian (self, x, v, m) |
| real(kind=f64) function | sll_f_cos_gaussian_screwpinch (self, x, v, m) |
| real(kind=f64) function | sll_f_cos_screwpinch (self, x, v) |
| real(kind=f64) function | sll_f_gaussian_screwpinch (self, v, x, m) |
| subroutine | free_cos_gaussian (self) |
| subroutine | free_noise_gaussian (self) |
| subroutine | noise_gaussian_init (self, n_gaussians, dims, file_id, profile) |
| subroutine | noise_gaussian_init_1d2v (self, file_id) |
| subroutine | noise_gaussian_init_3d3v (self, file_id) |
| subroutine | cos_gaussian_init (self, descriptor, dims, file_id, profile) |
| subroutine, public | sll_s_initial_distribution_new (distribution, dims, file_id, params, profile) |
| Factory function for sll_c_distribution_params, parameters read form input file. More... | |
| subroutine, public | sll_s_initial_distribution_file_new (dims, nml_file, params, profile) |
| Factory function for sll_c_distribution_params, parameters read form input file. More... | |
| subroutine, public | sll_s_initial_distribution_new_descriptor (distribution, dims, file_id, params, profile) |
| Factory function for sll_c_distribution_params, parameters read form input file. Version build upon descriptors. More... | |
| subroutine | cossum_multigaussian_init_1d2v (file_id, params, n_gaussians) |
| 1d2v subroutine for initialization of sum of arbitrary number of Gaussians. Note that v_thermal_1/2 refers her to the velocity dimension instead of the number of the Gaussian in the sum as for the twogaussian case. More... | |
Variables | |
| integer(kind=i32), parameter, public | sll_p_sumcos_onegaussian = 0 |
| Descriptor for (1+\sum cos( kx * x_i))*exp(-0.5(v-v_mean)**2/v_thermal**2) More... | |
| integer(kind=i32), parameter, public | sll_p_cossum_onegaussian = 1 |
| Descriptor for (1+cos( \sum kx_i * x_i))*exp(-0.5(v-v_mean)**2/v_thermal**2) More... | |
| integer(kind=i32), parameter, public | sll_p_sumcos_twogaussian = 2 |
| as sll_p_sumcos_onegaussian but with sum of two Gaussians More... | |
| integer(kind=i32), parameter, public | sll_p_cossum_twogaussian = 3 |
| as sll_p_sumcos_onegaussian but with sum of two Gaussians More... | |
| integer(kind=i32), parameter, public | sll_p_cossum_multigaussian1 = 4 |
| integer(kind=i32), parameter | sll_p_cossum_multigaussian2 = 5 |
| integer(kind=i32), parameter | sll_p_cossum_multigaussian11 = 14 |
| integer(kind=i32), parameter | sll_p_noise_multigaussian1 = 15 |
| integer(kind=i32), parameter | sll_p_noise_multigaussian11 = 16 |
|
private |
| [in] | descriptor | descriptor of the test case |
| [in] | dims | number of spatial and velocity dimensions |
| [in] | file_id | nml-file with parameters in unified format |
Definition at line 507 of file sll_m_initial_distribution.F90.
|
private |
1d2v subroutine for initialization of sum of arbitrary number of Gaussians. Note that v_thermal_1/2 refers her to the velocity dimension instead of the number of the Gaussian in the sum as for the twogaussian case.
Definition at line 931 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 326 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 340 of file sll_m_initial_distribution.F90.
|
private |
| [in] | n_gaussians | descriptor of the test case |
| [in] | dims | number of spatial and velocity dimensions |
| [in] | file_id | nml-file with parameters in unified format |
Definition at line 351 of file sll_m_initial_distribution.F90.
|
private |
| [in] | file_id | nml-file with parameters in unified format |
Definition at line 371 of file sll_m_initial_distribution.F90.
|
private |
| [in] | file_id | nml-file with parameters in unified format |
Definition at line 438 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 179 of file sll_m_initial_distribution.F90.
| real(kind=f64) function sll_m_initial_distribution::sll_f_cos_gaussian | ( | class( sll_t_params_cos_gaussian ) | self, |
| real(kind=f64), dimension(:) | x, | ||
| real(kind=f64), dimension(:) | v, | ||
| real(kind=f64), optional | m | ||
| ) |
Definition at line 162 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 274 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 291 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 205 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 222 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 308 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 240 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 263 of file sll_m_initial_distribution.F90.
| subroutine, public sll_m_initial_distribution::sll_s_initial_distribution_file_new | ( | integer(kind=i32), dimension(2), intent(in) | dims, |
| character(*), intent(in) | nml_file, | ||
| class(sll_c_distribution_params), intent(out), allocatable | params, | ||
| type(sll_t_profile_functions), optional | profile | ||
| ) |
Factory function for sll_c_distribution_params, parameters read form input file.
| [in] | dims | number of spatial and velocity dimensions |
| [in] | nml_file | nml-file with parameters in unified format |
| [out] | params | real array specifying the parameters for the given test case in the predefined order. |
Definition at line 705 of file sll_m_initial_distribution.F90.
| subroutine, public sll_m_initial_distribution::sll_s_initial_distribution_new | ( | character(len=*), intent(in) | distribution, |
| integer(kind=i32), dimension(2), intent(in) | dims, | ||
| integer(kind=i32), intent(in) | file_id, | ||
| class(sll_c_distribution_params), intent(out), allocatable | params, | ||
| type(sll_t_profile_functions), optional | profile | ||
| ) |
Factory function for sll_c_distribution_params, parameters read form input file.
| [in] | distribution | descriptor of the test case |
| [in] | dims | number of spatial and velocity dimensions |
| [in] | file_id | nml-file with parameters in unified format |
| [out] | params | real array specifying the parameters for the given test case in the predefined order. |
Definition at line 628 of file sll_m_initial_distribution.F90.
| subroutine, public sll_m_initial_distribution::sll_s_initial_distribution_new_descriptor | ( | integer(kind=i32), intent(in) | distribution, |
| integer(kind=i32), dimension(2), intent(in) | dims, | ||
| integer(kind=i32), intent(in) | file_id, | ||
| class(sll_c_distribution_params), intent(out), allocatable | params, | ||
| type(sll_t_profile_functions), optional | profile | ||
| ) |
Factory function for sll_c_distribution_params, parameters read form input file. Version build upon descriptors.
| [in] | distribution | descriptor of the test case |
| [in] | dims | number of spatial and velocity dimensions |
| [in] | file_id | nml-file with parameters in unified format |
| [out] | params | real array specifying the parameters for the given test case in the predefined order. |
Definition at line 790 of file sll_m_initial_distribution.F90.
| integer(kind=i32), parameter, public sll_p_cossum_multigaussian1 = 4 |
Definition at line 41 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 43 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 42 of file sll_m_initial_distribution.F90.
| integer(kind=i32), parameter, public sll_p_cossum_onegaussian = 1 |
Descriptor for (1+cos( \sum kx_i * x_i))*exp(-0.5(v-v_mean)**2/v_thermal**2)
Definition at line 38 of file sll_m_initial_distribution.F90.
| integer(kind=i32), parameter, public sll_p_cossum_twogaussian = 3 |
as sll_p_sumcos_onegaussian but with sum of two Gaussians
Definition at line 40 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 44 of file sll_m_initial_distribution.F90.
|
private |
Definition at line 45 of file sll_m_initial_distribution.F90.
| integer(kind=i32), parameter, public sll_p_sumcos_onegaussian = 0 |
Descriptor for (1+\sum cos( kx * x_i))*exp(-0.5(v-v_mean)**2/v_thermal**2)
Definition at line 37 of file sll_m_initial_distribution.F90.
| integer(kind=i32), parameter, public sll_p_sumcos_twogaussian = 2 |
as sll_p_sumcos_onegaussian but with sum of two Gaussians
Definition at line 39 of file sll_m_initial_distribution.F90.
1.9.1