![]() |
ORB5
v4.9.4
|
Data Types | |
type | pointer_intnc |
type | pointer_ncmatrix |
Functions/Subroutines | |
subroutine, public | init_sources |
Initialize the sources module. More... | |
subroutine, public | add_sources (step) |
Add various source terms to the RHS of Vlasov/Boltzmann equation. More... | |
subroutine | source_diagnostics (isp, spos, weightperb, ut, utob, av_ut, en, ithread, type) |
Diagnostic for the source terms. More... | |
subroutine | heating_init |
Initialize heating source. More... | |
subroutine | heating_disp (isp) |
Call the heating routines. More... | |
subroutine | fixed_heating_basic (isp) |
Heat the plasma using a fixed heat source with a defined radial profile and amplitude. More... | |
subroutine | fixed_heating_ecrh (pic1_loc, pic2_loc, isp) |
Heat the electrons using the ECRH heating scheme. More... | |
subroutine | edge_buffer_krook_conserving (pic1_loc, pic2_loc, npart_loc, isp) |
Add a Krook buffer at the outer radial edge to damp df. This Krook conserve density. More... | |
subroutine | edge_buffer_krook_non_conserving (pic1_loc, pic2_loc, npart_loc, isp) |
Add a naive Krook buffer at the outer radial edge to damp df. More... | |
subroutine | edge_buffer_collisional (pic1_loc, pic2_loc, isp) |
Add a collisional buffer at the outer radial edge to damp df. More... | |
real function | get_radial_profile (species, s) |
Get source radial profile at particle's position by interpolation. More... | |
subroutine | heating (isp) |
Heating term: damp \delta f(\eps,\psi)->0 in order to control departure of temperature profile from initial state With nl_wdecay_gyro_switch=.true. designed to simulate GYRO heating source. More... | |
subroutine | bin_en_radius (en, sigmak, isp, bin_en, bin_r) |
Compute the bin index of a particle. More... | |
subroutine | noise_control_init |
Initialize the noise control. More... | |
subroutine | noise_control (isp, act) |
Add a decay term to the weights, while conserving various moments in spatial bins. Also 'splits' weight by collecting adiabatic distributions in bins. More... | |
subroutine | source_cons (moments, ut, ut_over_b, ut_over_b_ba, en, isp) |
Returns the moment M_i to be conserved. More... | |
subroutine | force_flow (pic1_loc, pic2_loc, npart_loc, isp) |
subroutine | coarsen (isp) |
Routine to apply coarse graining. More... | |
Variables | |
integer, dimension(:,:,:), allocatable, save | nbin |
integer, save | nbins_nc |
type(pointer_ncmatrix), dimension(:), allocatable, save | ncmat |
type(pointer_ncmatrix), dimension(:), allocatable, save | fhsmat |
type(pointer_intnc), dimension(:), allocatable, save | ncint |
type(pointer_intnc), dimension(:), allocatable, save | fhsint |
integer, save | nbins_r |
integer, save | nbins_en |
real, dimension(:,:,:,:), allocatable, save | wtot |
real, dimension(:,:,:,:), allocatable, save | wtot2 |
real, dimension(:,:,:,:), allocatable, save | ntot |
real, dimension(:,:,:,:), allocatable, save | ftot |
real, dimension(:,:,:,:), allocatable, save | v2ft |
real, dimension(:,:,:), allocatable, save | source_part |
real, dimension(:,:,:), allocatable, save | source_heat |
real, dimension(:,:,:), allocatable, save | f0_bins |
real, dimension(:,:,:), allocatable, save | v2ft2 |
real, dimension(:), allocatable, save | wtot_all_ff |
real, dimension(:), allocatable, save | wtot_all_f0 |
real, dimension(:,:), allocatable, save | en_max |
real, dimension(:,:), allocatable, save | radial_profile |
real, dimension(:), allocatable, save | rpar |
integer, parameter | momentcons =3 |
integer, parameter | maxmoments =4 |
integer, dimension(:,:), allocatable, save | wd_cons |
integer, dimension(:), allocatable, save | nmoments |
subroutine, public sources::add_sources | ( | integer, intent(in) | step | ) |
Add various source terms to the RHS of Vlasov/Boltzmann equation.
Adds heating, Krook, coarse graining and force flow terms
[in] | step | Current step number |
subroutine sources::bin_en_radius | ( | real, intent(in) | en, |
real, intent(in) | sigmak, | ||
integer, intent(in) | isp, | ||
integer, intent(out) | bin_en, | ||
integer, intent(out) | bin_r | ||
) |
Compute the bin index of a particle.
[in] | en | Particle's kinetic energy |
[in] | sigmak | Radial position |
[in] | isp | Current species |
[out] | bin_en | Bins in energy space |
[out] | bin_r | Bins in the redial direction |
|
private |
Routine to apply coarse graining.
subroutine sources::edge_buffer_collisional | ( | real, dimension(:,:), intent(inout) | pic1_loc, |
real, dimension(:,:), intent(inout) | pic2_loc, | ||
integer, intent(in) | isp | ||
) |
Add a collisional buffer at the outer radial edge to damp df.
[in,out] | pic1_loc | pic array of a certain species. |
|
private |
Add a Krook buffer at the outer radial edge to damp df. This Krook conserve density.
[in] | npart_loc | Local number of particles |
[in,out] | pic1_loc | Array containing the non-static properties of the markers |
[in,out] | pic2_loc | Array containing the static propoerties of the markers |
[in] | isp | Species under consideration |
subroutine sources::edge_buffer_krook_non_conserving | ( | real, dimension(:,:), intent(inout) | pic1_loc, |
real, dimension(:,:), intent(inout) | pic2_loc, | ||
integer, intent(in) | npart_loc, | ||
integer, intent(in) | isp | ||
) |
Add a naive Krook buffer at the outer radial edge to damp df.
[in] | npart_loc | Local number of particles |
[in,out] | pic1_loc | Array containing the non-static properties of the markers |
[in,out] | pic2_loc | Array containing the static propoerties of the markers |
[in] | isp | Species under consideration |
|
private |
Heat the plasma using a fixed heat source with a defined radial profile and amplitude.
The heat source is furthermore modified in a similar way as the Krook operator to ensure that the density, parallel momentum and zonal structure are conserved.
[in] | isp | On which species to act on |
|
private |
Heat the electrons using the ECRH heating scheme.
[in,out] | pic1_loc | pic array of a certain species. |
[in,out] | pic2_loc | pic array of a certain species. |
|
private |
real function sources::get_radial_profile | ( | integer, intent(in) | species, |
real, intent(in) | s | ||
) |
Get source radial profile at particle's position by interpolation.
[in] | species | Current species |
[in] | s | Radial position of the particle |
|
private |
Heating term: damp \delta f(\eps,\psi)->0 in order to control departure of temperature profile from initial state With nl_wdecay_gyro_switch=.true. designed to simulate GYRO heating source.
subroutine sources::heating_disp | ( | integer, intent(in) | isp | ) |
Call the heating routines.
[in] | isp | Current species (assumed to be kinetic) |
|
private |
Initialize heating source.
subroutine, public sources::init_sources |
Initialize the sources module.
subroutine sources::noise_control | ( | integer, intent(in) | isp, |
logical, intent(in) | act | ||
) |
Add a decay term to the weights, while conserving various moments in spatial bins. Also 'splits' weight by collecting adiabatic distributions in bins.
[in] | isp | On which species to act on |
[in] | act | Whether to act on weights (otherwise just collect adiabatic distribution) |
|
private |
Initialize the noise control.
|
private |
Returns the moment M_i to be conserved.
[in] | ut | parallel velocity, v_par |
[in] | ut_over_b | v_par/b |
[in] | ut_over_b_ba | v_par/b bounce averaged |
[in] | en | Kinetic energy |
[in] | isp | Species under consideration |
[out] | moments | Array containing the moments to be conserved |
|
private |
Diagnostic for the source terms.
This diagnostic computes the radial profile of the density, energy, and ZF injected by the source terms on a s grid defined by nc_bin_s
.
[in] | isp | Current species |
[in] | spos | Particle's radial s position |
[in] | weightperb | Contribution of the NC/heating to the weight |
[in] | ut | Parallel velocity |
[in] | utob | Parallel velocity over B |
[in] | av_ut | Mean parallel velocity |
[in] | en | Kinetic energy |
[in] | ithread | OpenMP thread |
[in] | type | Type of diagnostic (NSEL_NC for noise control of NSEL_HEATING for heating) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |