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

Provide initial condition if the perturbation is field aligned set the piw1 weight either satisfying a resonant condition or exciting all modes. More...

Public Member Functions

subroutine, public set_defaults_init_cond
 Reset some default values of the parameters for the initial condition after reading the input file. More...
 
subroutine, public setup_init_cond
 Print out the setup of the initial (particle) condition. More...
 
real(8) function, public set_initial_w1_weight (psi, theta, phi, qloc)
 Return a delta-f particle weight that produces the desired field-aligned initial charge density For ic_resonant_modes=.true., initialize a superposition of toroidal mode numbers (real, not wedge) between ic_resonant_nmin_real and ic_resonant_nmax_real, and m=n*q, all with the same amplitude and phase. For, ic_resonant_modes=.false., toroidal modes (wedge) between 1 and ic_n_modes are initialized with optional radial and poloidal Gaussian envelope. More...
 

Public Attributes

logical, public ic_resonant_modes =.true.
 use field aligned resonant modes More...
 
integer, public ic_resonant_nmax_real =1
 Maximal (real, not wedge) toroidal mode number in initial density when using sml_field_aligned_initial=.true. and ic_resonant_modes=.true. More...
 
integer, public ic_resonant_nmin_real =1
 Minimal (real, not wedge) toroidal mode number in initial density when using sml_field_aligned_initial=.true. and ic_resonant_modes=.true. More...
 
integer, public ic_n_modes
 Number of toroidal modes. More...
 
integer, public ic_delta_n
 Spacing between toroidal modes. More...
 
real(8), public ic_amp_0 =0.0D0
 Amplitude of the n=0 initial perturbation. More...
 
real(8), public ic_amp =1D-4
 Amplitude of the n!=0 initial perturbation. More...
 
real(8), public ic_q_sign =1.0D0
 Invert the sign of q in the eikonal. More...
 
real(8), public ic_phi_sign =1.0D0
 Invert the sign of toridal direction in the eikonal. More...
 
logical, public ic_add_zonal =.false.
 Include a n=0 component. More...
 
logical, public ic_radial_gaussian =.false.
 Apply a gaussian modulation to the radial profile. More...
 
logical, public ic_poloidal_gaussian =.false.
 Apply a gaussian modulation to the poloidal profile. More...
 
real(8), public ic_psi_0 =0.0D0
 Center of radial gaussian modulation. More...
 
real(8), public ic_sigma_psi =0.5D0
 Width of radial gaussian modulation. More...
 
real(8), public ic_theta_0 =0.D0
 Center of poloidal gaussian. More...
 
real(8), public ic_sigma_theta =0.784
 Width of poloidal gaussian. More...
 

Detailed Description

Provide initial condition if the perturbation is field aligned set the piw1 weight either satisfying a resonant condition or exciting all modes.

Member Function/Subroutine Documentation

subroutine, public ic_module::set_defaults_init_cond ( )

Reset some default values of the parameters for the initial condition after reading the input file.

Here is the caller graph for this function:

real(8) function, public ic_module::set_initial_w1_weight ( real(8)  psi,
real(8)  theta,
real(8)  phi,
real(8)  qloc 
)

Return a delta-f particle weight that produces the desired field-aligned initial charge density For ic_resonant_modes=.true., initialize a superposition of toroidal mode numbers (real, not wedge) between ic_resonant_nmin_real and ic_resonant_nmax_real, and m=n*q, all with the same amplitude and phase. For, ic_resonant_modes=.false., toroidal modes (wedge) between 1 and ic_n_modes are initialized with optional radial and poloidal Gaussian envelope.

Parameters
[in]psiPoloidal magnetic flux at the particle location, real(8)
[in]thetaStraight field-line angle theta* at the particle position, real(8)
[in]phiToroidal angle at the particle position, real(8)
[in]qlocSafety factor at the particle location, real(8)

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine, public ic_module::setup_init_cond ( )

Print out the setup of the initial (particle) condition.

Here is the caller graph for this function:

Member Data Documentation

logical, public ic_module::ic_add_zonal =.false.

Include a n=0 component.

real(8), public ic_module::ic_amp =1D-4

Amplitude of the n!=0 initial perturbation.

real(8), public ic_module::ic_amp_0 =0.0D0

Amplitude of the n=0 initial perturbation.

integer, public ic_module::ic_delta_n

Spacing between toroidal modes.

integer, public ic_module::ic_n_modes

Number of toroidal modes.

real(8), public ic_module::ic_phi_sign =1.0D0

Invert the sign of toridal direction in the eikonal.

logical, public ic_module::ic_poloidal_gaussian =.false.

Apply a gaussian modulation to the poloidal profile.

real(8), public ic_module::ic_psi_0 =0.0D0

Center of radial gaussian modulation.

real(8), public ic_module::ic_q_sign =1.0D0

Invert the sign of q in the eikonal.

logical, public ic_module::ic_radial_gaussian =.false.

Apply a gaussian modulation to the radial profile.

logical, public ic_module::ic_resonant_modes =.true.

use field aligned resonant modes

integer, public ic_module::ic_resonant_nmax_real =1

Maximal (real, not wedge) toroidal mode number in initial density when using sml_field_aligned_initial=.true. and ic_resonant_modes=.true.

integer, public ic_module::ic_resonant_nmin_real =1

Minimal (real, not wedge) toroidal mode number in initial density when using sml_field_aligned_initial=.true. and ic_resonant_modes=.true.

real(8), public ic_module::ic_sigma_psi =0.5D0

Width of radial gaussian modulation.

real(8), public ic_module::ic_sigma_theta =0.784

Width of poloidal gaussian.

real(8), public ic_module::ic_theta_0 =0.D0

Center of poloidal gaussian.


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