XGC1
|
Module for computing anomalous transport by solving a simple Fick's law transport equation. More...
Public Member Functions | |
subroutine | diff_init_globals (grid) |
Initializes global variables needed by the anomalous diffusion model. More... | |
subroutine | diff_finalize |
Deallocates global variables. More... | |
Public Attributes | |
real(kind=8), dimension(:), allocatable | diff_den0 |
Density prior to diffusion step. More... | |
real(kind=8), dimension(:), allocatable | diff_den |
Density after diffusion step. More... | |
real(kind=8), dimension(:), allocatable | diff_delta_n_ptl |
Density change with mesh-particle interpolation and gyro-averaging. More... | |
real(kind=8), dimension(:,:), allocatable | diff_t0 |
Temperature prior to diffusion step. More... | |
real(kind=8), dimension(:,:), allocatable | diff_t |
Temperature after diffusion step. More... | |
real(kind=8), dimension(:,:), allocatable | diff_t_para |
Parallel Temperature prior to diffusion step. More... | |
real(kind=8), dimension(:,:), allocatable | diff_t_perp |
Perpendicular Temperature prior to diffusion step. More... | |
real(kind=8), dimension(:,:,:), allocatable | diff_polynom |
Coefficients of the orthonormal basis polynomials for scaling fi. More... | |
real(kind=8), dimension(:,:), allocatable | diff_u_para0 |
Parallel mean flow prior to diffusion step. More... | |
real(kind=8), dimension(:,:), allocatable | diff_u_para |
Parallel mean flow after diffusion step. More... | |
real(kind=8), dimension(:,:), allocatable | diff_polynom_norm |
Norm of the basis polynomials. More... | |
logical | diff_on =.false. |
Switch for anomalous diffusion. More... | |
logical | diff_nonlinear =.false. |
Switch for including nonlinear terms. More... | |
real(kind=8) | diff_bd_in =0D0 |
inner boundary for anomalous diffusion More... | |
real(kind=8) | diff_bd_out =1D0 |
outer boundary for anomalous diffusion More... | |
real(kind=8) | diff_bd_shift_in =0.05D0 |
Shift relative to sml_diffusion_bd_in where diff. coeff starts to decay. More... | |
real(kind=8) | diff_bd_shift_out =0.05D0 |
Shift relative to sml_diffusion_bd_out where diff. coeff starts to decay. More... | |
real(kind=8) | diff_bd_width_in =0.02D0 |
Decay length of diffusion coefficients in rgn 1 and 2 (inner bd) More... | |
real(kind=8) | diff_bd_width_out =0.02D0 |
Decay length of diffusion coefficients in rgn 1 and 2 (outer bd) More... | |
real(kind=8) | diff_bd_width_priv =0.02D0 |
Decay length of diffusion coefficients in private region. More... | |
logical | diff_pol_peak =.false. |
Whether the diffusion coefficient is constant or varies on a flux-surface (with Gaussian) More... | |
real(kind=8) | diff_pol_peak_amp =0.2D0 |
Mimimum of the poloidal scaling function of the diffusion operator. More... | |
real(kind=8) | diff_pol_peak_angle =0D0 |
Geometric poloidal angle at which the diffusion coefficient is peaked (rad/pi) More... | |
real(kind=8) | diff_pol_peak_width =0.5D0 |
Width of the peak of the diffusion coefficients (rad/pi) More... | |
integer | diff_nvpe |
Delta_vperp between two particles. More... | |
integer | diff_nvpa |
Delta_vpara between two particles. More... | |
integer | diff_ptl_num |
Total number of full-f particles (per rank) for random walk anomalous, diffusion; diff_ptl_num = (2*f0_nvp+1)*(f0_nmu+1)* diff_ptl_num_per_cell^2. More... | |
integer | diff_ptl_num_per_cell |
Multiplicator that determines #[of ptl per v-space cell]. More... | |
real(kind=8) | diff_randwalk_en_cutoff |
Energy cutoff for random walk diffusion in % of the max. energy of v-space grid. More... | |
real(kind=8) | diff_randwalk_en_width |
Decay width of the energy cutoff in % of the max. energy of v-space grid. More... | |
Module for computing anomalous transport by solving a simple Fick's law transport equation.
subroutine diffusion_module::diff_finalize | ( | ) |
Deallocates global variables.
subroutine diffusion_module::diff_init_globals | ( | type(grid_type), intent(in) | grid | ) |
Initializes global variables needed by the anomalous diffusion model.
real (kind=8) diffusion_module::diff_bd_in =0D0 |
inner boundary for anomalous diffusion
real (kind=8) diffusion_module::diff_bd_out =1D0 |
outer boundary for anomalous diffusion
real (kind=8) diffusion_module::diff_bd_shift_in =0.05D0 |
Shift relative to sml_diffusion_bd_in where diff. coeff starts to decay.
real (kind=8) diffusion_module::diff_bd_shift_out =0.05D0 |
Shift relative to sml_diffusion_bd_out where diff. coeff starts to decay.
real (kind=8) diffusion_module::diff_bd_width_in =0.02D0 |
Decay length of diffusion coefficients in rgn 1 and 2 (inner bd)
real (kind=8) diffusion_module::diff_bd_width_out =0.02D0 |
Decay length of diffusion coefficients in rgn 1 and 2 (outer bd)
real (kind=8) diffusion_module::diff_bd_width_priv =0.02D0 |
Decay length of diffusion coefficients in private region.
real (kind=8), dimension(:), allocatable diffusion_module::diff_delta_n_ptl |
Density change with mesh-particle interpolation and gyro-averaging.
real (kind=8), dimension(:), allocatable diffusion_module::diff_den |
Density after diffusion step.
real (kind=8), dimension(:), allocatable diffusion_module::diff_den0 |
Density prior to diffusion step.
logical diffusion_module::diff_nonlinear =.false. |
Switch for including nonlinear terms.
integer diffusion_module::diff_nvpa |
Delta_vpara between two particles.
integer diffusion_module::diff_nvpe |
Delta_vperp between two particles.
logical diffusion_module::diff_on =.false. |
Switch for anomalous diffusion.
logical diffusion_module::diff_pol_peak =.false. |
Whether the diffusion coefficient is constant or varies on a flux-surface (with Gaussian)
real (kind=8) diffusion_module::diff_pol_peak_amp =0.2D0 |
Mimimum of the poloidal scaling function of the diffusion operator.
real (kind=8) diffusion_module::diff_pol_peak_angle =0D0 |
Geometric poloidal angle at which the diffusion coefficient is peaked (rad/pi)
real (kind=8) diffusion_module::diff_pol_peak_width =0.5D0 |
Width of the peak of the diffusion coefficients (rad/pi)
real (kind=8), dimension(:,:,:), allocatable diffusion_module::diff_polynom |
Coefficients of the orthonormal basis polynomials for scaling fi.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_polynom_norm |
Norm of the basis polynomials.
integer diffusion_module::diff_ptl_num |
Total number of full-f particles (per rank) for random walk anomalous, diffusion; diff_ptl_num = (2*f0_nvp+1)*(f0_nmu+1)* diff_ptl_num_per_cell^2.
integer diffusion_module::diff_ptl_num_per_cell |
Multiplicator that determines #[of ptl per v-space cell].
real (kind=8) diffusion_module::diff_randwalk_en_cutoff |
Energy cutoff for random walk diffusion in % of the max. energy of v-space grid.
real (kind=8) diffusion_module::diff_randwalk_en_width |
Decay width of the energy cutoff in % of the max. energy of v-space grid.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_t |
Temperature after diffusion step.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_t0 |
Temperature prior to diffusion step.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_t_para |
Parallel Temperature prior to diffusion step.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_t_perp |
Perpendicular Temperature prior to diffusion step.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_u_para |
Parallel mean flow after diffusion step.
real (kind=8), dimension(:,:), allocatable diffusion_module::diff_u_para0 |
Parallel mean flow prior to diffusion step.