Contains all global variables.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | public, | target | :: | betap |
Reference Species Parallel Thermal-to-Magnetic Pressure Ratio. 8 pi n_ref T_ref,par/B^2 |
||
real, | public, | target | :: | kperp |
Wavenumber perpendicular to B0, normalized to reference gyroradius. k_perp rho_ref = k_perp w_perp,ref/Omega_ref |
||
real, | public, | target | :: | kpar |
Wavenumber parallel to B0, normalized to reference gyroradius. k_perp rho_ref = k_perp w_t,ref,perp/Omega_ref |
||
real, | public, | target | :: | vtp |
Parallel reference thermal velocity normalized to the speed of light. v_t,ref,par/c |
||
integer, | public | :: | nspec |
Number of species/components to be included in calculation. |
|||
integer, | public | :: | nscan | = | 0 |
Number of parameter scans. |
|
type(specie), | public, | dimension(:), allocatable, target | :: | spec |
Dimensionless Species/Component Parameters. |
||
type(specie), | public, | dimension(:, :), allocatable, target | :: | rad_spec |
Array for Varying Species/Component Parameters (under development). |
||
type(scanner), | public, | dimension(:), allocatable | :: | scan |
Array of scan parameters for all scans to be calculated. |
||
type(scanner), | public, | dimension(:), allocatable | :: | rad_scan |
Array of scan parameters for extended parameter scans (under development). |
||
real, | public, | pointer | :: | sw |
Parameter Sweep parameter values. |
||
real, | public, | pointer | :: | sw2 |
Parameter Sweep parameter values. |
||
real, | public, | pointer | :: | sw3 |
Parameter Sweep parameter values. |
||
real, | public, | pointer | :: | sw4 |
Parameter Sweep parameter values. |
||
complex, | public, | dimension(:, :, :), allocatable | :: | susc |
Susceptibility tensor. (1:nspec,1:3,1:3) with the 3x3 subarray arranged as: (1,1) xx; (1,2) xy; (1,3) xz; (2,1) yx; (2,2) yy; (2,3) yz; (3,1) zx; (3,2) zy; (3,3) zz; |
||
complex, | public, | dimension(:, :, :, :), allocatable | :: | susc_low |
low-n components of the susceptibility tensor. (1:nspec,1:3,1:3,0:1) with the 3x3 subarray arranged as susc. The final index contains the n=0 and n=\pm 1 contributions. |
||
logical, | public | :: | low_n | = | .true. |
Toggle on low-n susceptibility suplementary calculation. |
|
logical, | public | :: | new_low_n | = | .true. |
Flag to use Revised low_n for LD/TTD separation. This modifies the Collisionless Power Absorption Calculation! IF TRUE THEN low_n MUST BE TRUE TOO! (GGH: 1/18/23) |
|
complex, | public, | dimension(3, 3) | :: | lam |
Matrix in Wave equation. |
||
integer, | public | :: | option |
Selection for the type of dispersion calculation to be undertaken. -1: Calculate disp(om) at a single (omega, gamma) 0: Calculate Roots for input plasma parameters. 1: Calculate Roots for input plasma parameters or Reads in root value and then scan over plasma parameters, with range and type specified in .in file. 2: Calculate Roots for input plasma parameters or Reads in root value and then scan over two-dimensional plasma parameters space, with range and type specified in .in file. 3: deprecated 4: Make multiple maps of complex frequency space. 5: Find roots for parameters along a prescribed path Path is set by solar wind models, with values calculated and output by helper function (in development, the radial scan function.). |
|||
logical, | public | :: | writeOut |
Enables or suppressed output to screen. |
|||
character(len=100), | public | :: | dataName |
Data Subdirectory where output is stored. |
|||
character(len=100), | public | :: | outputName |
Common name string for output files. |
|||
character(len=100), | public | :: | print_Name |
Additional string for output files. |
|||
logical, | public | :: | use_map |
Determines method for selecting initial solutions. T-> Use map routine to determine solutions in defined regions of complex frequency space. Map parameters determined by &maps list in .in file. F-> Read nroot_max initial guesses for complex frequency solutions. Guesses determined by &guess_N lists in .in file. |
|||
logical, | public | :: | loggridw |
Set log or linear spacing for real frequency axis of the map search. |
|||
logical, | public | :: | loggridg |
Set log or linear spacing for imaginary frequency axis of the map search. |
|||
real, | public | :: | omi |
Lower bound on real frequency map search axis. |
|||
real, | public | :: | omf |
Upper bound on real frequency map search axis. |
|||
real, | public | :: | gami |
Lower bound on imaginary frequency map search axis. |
|||
real, | public | :: | gamf |
Upper bound on imaginary frequency map search axis. |
|||
logical, | public | :: | positive_roots | = | .false. |
Consider all solutions (false) or only solutions with positive real frequencies (true). |
|
integer, | public | :: | nr | = | 128 |
Number of grid points along real frequency axis Now read in by map_read |
|
integer, | public | :: | ni | = | 128 |
Number of grid points along imaginary frequency axis Now read in by map_read |
|
integer, | public, | parameter | :: | numroots | = | 500 |
Maximum number of minima to keep for a further refinement from a map search. |
integer, | public, | parameter | :: | nbesmax | = | 15 | |
integer, | public | :: | nRad |
Number of points to scan in radial models. |
|||
character(len=100), | public | :: | modelName |
Input file name for radial model |
|||
real, | public, | dimension(:), allocatable | :: | radius |
Radial distance from the Sun, in Rs. |
||
real, | public, | dimension(:), allocatable | :: | beta_rad | |||
real, | public, | dimension(:), allocatable | :: | vtp_rad | |||
logical, | public | :: | radial_heating | ||||
logical, | public | :: | radial_eigen | ||||
integer, | public | :: | k_scan |
Determines wavevector values to include in radial scan 0: single point in kperp, kpar space 1: fixed kperp, scan over kpar 2: fixed kpar, scan over kperp 3: fixed theta, scan over k 4: fixed k, scan over theta 5: plane scan over (kperp, kpar) 6: plane scan over (k, theta) |
|||
real, | public | :: | pi | ||||
real, | public | :: | vperpmin | ||||
real, | public | :: | vperpmax | ||||
real, | public | :: | vparmin | ||||
real, | public | :: | vparmax | ||||
real, | public | :: | vxmin | ||||
real, | public | :: | vxmax | ||||
real, | public | :: | vymin | ||||
real, | public | :: | vymax | ||||
real, | public | :: | vzmin | ||||
real, | public | :: | vzmax | ||||
real, | public | :: | delv | ||||
real, | public | :: | elecdircontribution | ||||
logical, | public | :: | computemoment | = | .true. |
Enables computation of fs1 moments; not recommended as it is prone to inaccuracies and is unnecessary give that analytical moments are computed. Used for verifying self consistency of the code instead. Note this integrals are very challenging numerically using our current integration scheme. It is common to be off by at least half an order of magnitude in certain domains. This is for debug only. Please use the analytic moments. |
|
real, | public | :: | EpsilonSokhotski_Plemelj | = | 0.01 |
Epsilon in the Sokhotski–Plemelj theorem, which states int f(x)/(x-a) dx can be approximated using eps->0 int f(x)/(x-a+i eps) dx to 'better' handle the singularity numerically. This value should be left as zero, only be used by advanced users, and only when the user is computing moments for comparison to the analytic form (because it requires a very small delta v to 'work') (Remember to recompile!) |
|
real, | public | :: | vxshift | = | 0.0 |
shifts grid along vx- used to test stiffness of fs1 in JETPLUME (DEBUG ONLY- keep as zero otherwise) |
|
real, | public | :: | vyshift | = | 0.0 |
shifts grid along vy- used to test stiffness of fs1 in JETPLUME (DEBUG ONLY- keep as zero otherwise) |
|
real, | public | :: | vzshift | = | 0.0 |
shifts grid along vz- used to test stiffness of fs1 in JETPLUME (DEBUG ONLY- keep as zero otherwise) |
|
logical, | private | :: | useOnlyReferenceWpar | = | .false. |
compute the reference thermal velocity for reference and then 'convert' using temperature ratios, or for each species individually. Only used for numerical moments of fs1, which are only for debug. For most users, this value is irrelevant. Choice is approximatley equivalent in domain where error in integrals of fs1 for all species are small, but those domains are rare with physical values Instead, I recommend setting this to false to allow the error to be 'absorbed' in the calculation of wparS |
|
integer, | public | :: | nroots |
Number of roots found. |
|||
real, | public, | dimension(1:2, 1:numroots) | :: | wroots |
Real and Imaginary components of each solution. |
||
complex, | public | :: | omega_val |
var used to pass omega to rtsec in fpc.f90 |
|||
integer, | public | :: | nroot_max |
Input specified nroots to follow. |
Species Input Parameters
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | public | :: | tau_s |
Relative Temperature ratio. |
|||
real, | public | :: | mu_s |
Relative Mass ratio. |
|||
real, | public | :: | alph_s |
Temperature Anisotropy. |
|||
real, | public | :: | Q_s |
Relative charge ratio. |
|||
real, | public | :: | D_s |
Density Ratio. |
|||
real, | public | :: | vv_s |
Relative Drift, normalized to reference Alfven velocity with . |
Parameters to control parameter scans.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | public | :: | range_i |
Initial value of scanned parameter. |
|||
real, | public | :: | range_f |
Final value of scanned parameter. |
|||
logical, | public | :: | log_scan |
Linear or Logarithmic scan. T-> log, F-> linear scan |
|||
logical, | public | :: | heat_s |
Controls supplementary heating calculation. T-> Heating Calculation; F-> No heating calculation. |
|||
logical, | public | :: | eigen_s |
Controls supplementary eigenfunction calculation. T-> Eigenfunction calculation; F-> No eigenfunction Calculation. |
|||
logical, | public | :: | tensor_s |
Controls supplementary output of susceptibility tensor. T-> Output tensor; F-> Supress output. |
|||
integer, | public | :: | type_s |
Defines nature of parameter scans. Style: -1- Global two component Scan: Type: 0 k_0-> k_1 1 theta_0 -> theta_1 2 k_fixed angle Style: 0- Global Scan: Type: 0 kperp 1 kpar 2 betap 3 vtp Style: 1-nspec-> Species Scan: Type: 0 tau_s 1 mu_s 2 alph_s 3 Q_s 4 D_s 5 vv_s |
|||
integer, | public | :: | style_s |
Defines nature of parameter scan. -1: Global two-component scan 0: Global one-component 1 to nspec: species specific parameter scan |
|||
integer, | public | :: | n_scan |
Number of output steps. n_scan*n_res Total steps taken. |
|||
integer, | public | :: | n_res |
Scan resolution between output steps. n_scan*n_res Total steps taken. |
|||
real, | public | :: | diff |
Step size for scanned parameter. Either (swf-swi)/(n_scann_res) or (log10(swf)-log10(swi))/(n_scann_res). |