XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
diffusion_module Module Reference

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...
 
integer diff_start_time =1
 Start time (in time steps) for anomalous diffusion. 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...
 

Detailed Description

Module for computing anomalous transport by solving a simple Fick's law transport equation.

Member Function/Subroutine Documentation

subroutine diffusion_module::diff_finalize ( )

Deallocates global variables.

Here is the caller graph for this function:

subroutine diffusion_module::diff_init_globals ( type(grid_type), intent(in)  grid)

Initializes global variables needed by the anomalous diffusion model.

Here is the caller graph for this function:

Member Data Documentation

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.

integer diffusion_module::diff_start_time =1

Start time (in time steps) for anomalous diffusion.

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.


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