|
integer, parameter | multispecies::ptl_nsp_max =7 |
|
integer, parameter | multispecies::electron_type =0 |
|
integer, parameter | multispecies::main_ion_type =1 |
|
integer | sml_module::sml_comm =MPI_COMM_NULL |
| Global MPI communicator within an XGC instance. More...
|
|
integer | sml_module::sml_comm_world =MPI_COMM_NULL |
| Global communicator between separate XGC instances (or XGC-GENE, XGC-GEM --> code-coupling) after MPI_COMM_WORLD split. More...
|
|
integer | sml_module::sml_comm_null =MPI_COMM_NULL |
| MPI_COMM_NULL communicator for adios posix method. More...
|
|
integer | sml_module::sml_comm_self =MPI_COMM_NULL |
| MPI_COMM_SELF communicator for single-process adios2 outputs. More...
|
|
integer | sml_module::sml_comm_color =-1 |
| Communicator color (used for mpi split/code-coupling). Set by my_mpi_init call. More...
|
|
integer | sml_module::sml_mype =-1 |
| Processor index, 0 - (# of MPI ranks -1) More...
|
|
integer | sml_module::sml_totalpe =-1 |
| Total number of processors (must be > (2*sml_grid_nrho)*sml_nphi_total) More...
|
|
integer | sml_module::sml_nthreads =-1 |
| Total number of OpenMP threads per process. More...
|
|
integer | sml_module::sml_mstep = 3000 |
| Total number of time steps for simulation. (simulation time) = dt*mstep. More...
|
|
integer | sml_module::sml_gstep = 0 |
| Global time step (counting the current + all previous runs in case of restarts) More...
|
|
logical | sml_module::sml_plane_major =.false. |
| MPI task ordering to use when mapping to 2D virtual processor grid. .true. for consecutive within plane; .false. for consecutive between planes. More...
|
|
logical | sml_module::sml_drift_on =.true. |
| Whether drifts are active in the equations of motion. Set .false. for tracing field lines or Poincare plots. More...
|
|
logical | sml_module::sml_dwdt_exb_only = .false. |
| Switch for classical delta-f weight evolution equation (i.e. not for total-f mode, must compile with DELTAF_CONV=ON): .false. to include all drifts (grad(B), curl(b),and ExB), .true. for ExB only. More...
|
|
logical | sml_module::sml_dwdt_fix_bg = .false. |
| Switch for classical delta-f weight evolution equation (i.e. not for total-f mode, must compile with DELTAF_CONV=ON): .false. for (1-w) pre-factor, .true. for (1) pre-factor. default is .false. More...
|
|
real(8) | sml_module::sml_marker_temp_factor = 1D0 |
| Initial loading with Maxwellian marker distribution with virtual temperature \(T_{marker} = \alpha*T_{plasma}\) (only if sml_flat_marker=.false.). More...
|
|
real(8) | sml_module::sml_marker_min_temp = 1D1 |
| minimum temperature of markers (only if sml_flat_marker=.false.) More...
|
|
real(8) | sml_module::sml_marker_temp_factor2 =1D0 |
| perp temperature factor (only if sml_flat_marker=.false.) More...
|
|
real(8) | sml_module::sml_low_mu_fill_population = 0D0 |
| Used for filling the low-mu range of velocity space if sml_marker_temp_factor3>1 0.0 --> all markers in low-mu range, 1.0 --> no low-mu filling (only if sml_flat_marker=.false.) More...
|
|
logical | sml_module::sml_flat_marker = .true. |
| Use flat marker distribution function when set to .true. Marker distribution g is constant up to v<= sml_flat_marker_decay_start[1/2] and decays exponentially from there up to v<= sml_flat_marker_cutoff. The decay length is sml_flat_marker_width. More...
|
|
real(8) | sml_module::sml_flat_marker_decay_start1 =3.5D0 |
| Normalized (to \(v_{th}\)) velocity at which the marker distribution decays exponentially. More...
|
|
real(8) | sml_module::sml_flat_marker_cutoff1 =4D0 |
| Normalized (to \(v_{th}\)) parallel velocity cutoff of flat marker distribution. More...
|
|
real(8) | sml_module::sml_flat_marker_width1 =0.5D0 |
| Decay length of flat marker distribution in the normalized (to \(v_{th}\)) parallel velocity. More...
|
|
real(8) | sml_module::sml_flat_marker_decay_start2 =3.5D0 |
| Like sml_flat_marker_decay_start1 but for the perpendicular velocity. More...
|
|
real(8) | sml_module::sml_flat_marker_cutoff2 =4D0 |
| Like sml_flat_marker_cutoff1 but for the perpendicular velocity. More...
|
|
real(8) | sml_module::sml_flat_marker_width2 =0.5D0 |
| Like sml_flat_marker_width1 but for the perpendicular velocity. More...
|
|
logical | sml_module::sml_use_loading_factor =.false. |
| Marker particle distribution taking into account the local (configuration space) node volume, i.e. aim for uniform number of ptl/mesh vertex. Set .true. when using a mesh with very non-uniform resolution. More...
|
|
real(kind=8) | sml_module::sml_min_loading_factor =1D-1 |
| Lower limit for loading factor (default is conservative, might need lower value; lower values increase time for loading) More...
|
|
real(kind=8) | sml_module::sml_max_loading_factor =1D1 |
| Upper limit for loading factor (default is conservative, might need higher value) More...
|
|
real(kind=8) | sml_module::sml_load_nptl =-1D0 |
| Avg. number of ptl/vertex. More...
|
|
real(kind=8) | sml_module::sml_load_den_uni =-1D0 |
| Marker density for uniform loading. More...
|
|
logical | sml_module::sml_limit_marker_den =.false. |
| Switch for limiting the marker density in the private region to sml_limit_marker_den_fac of the target number of markers/vertex (mainly for RMP!) More...
|
|
real(kind=8) | sml_module::sml_limit_marker_den_fac =5D0 |
| Threshold for removing excess particles in multiples of the target # of ptl/vertex when sml_limit_marker_den=.true. More...
|
|
logical | sml_module::sml_concentric =.false. |
| (Partially obsolete) Simulation for concentric circular geometry --> would only control behavior of bounce boundary condition in XGC_core/bounce.F90, but that part is commented out at this time More...
|
|
logical | sml_module::sml_read_eq =.true. |
| Read B-field profile from an eqd-file. More...
|
|
logical | sml_module::sml_read_eq_m3dc1 =.false. |
| Read B-field profile from M3D-C1 output file --> overrides sml_read_eq. More...
|
|
logical | sml_module::sml_field_aligned_initial =.false. |
| Use field aligned initial condition. More...
|
|
real(8), parameter | sml_module::sml_2pi = 6.2831853071795862D0 |
| 2 Pi More...
|
|
real(8), parameter | sml_module::sml_pi = 3.1415926535897931D0 |
| Pi. More...
|
|
real(8), parameter | sml_module::sml_sqrtpi = 1.7724538509055158D0 |
| Sqrt(Pi) More...
|
|
real(8), parameter | sml_module::sml_sqrt2pi = 2.5066282746310002D0 |
| Sqrt(2Pi) More...
|
|
real(8) | sml_module::sml_2pi_wedge_n =sml_2pi |
| Toroidal angle spanned by the wedge simulated by the code --> \(\text{sml_2pi_wedge_n}=2\pi/\text{sml_wedge_n}\). More...
|
|
real(8), parameter | sml_module::sml_e_charge =1.6022D-19 |
| elementary charge in C (MKS) More...
|
|
real(8), parameter | sml_module::sml_epsilon0 =8.8542D-12 |
| permittivity of free space in F/m (MKS) More...
|
|
real(8), parameter | sml_module::sml_prot_mass =1.6720D-27 |
| proton mass in kg (MKS) More...
|
|
real(8), parameter | sml_module::sml_elec_mass =9.1094D-31 |
| electron mass in kg (MKS) More...
|
|
real(8), parameter | sml_module::sml_mu0 =1.2566370614D-6 |
| Magnetic vacuum permeability in H/m (MKS) More...
|
|
real(8), parameter | sml_module::sml_ev2j =sml_e_charge |
| Conversion factor from eV to J. More...
|
|
real(8), parameter | sml_module::sml_j2ev =1D0/sml_e_charge |
| Conversion factor from J to eV. More...
|
|
integer, parameter | sml_module::sml_nrk = 2 |
| Order of Runge-Kutta time integration of particles + fields. More...
|
|
logical | sml_module::sml_restart =.false. |
|
logical | sml_module::restarting |
|
logical | sml_module::simulation |
|
logical | sml_module::switch |
|
logical | sml_module::false |
|
logical | sml_module::for |
|
logical | sml_module::new |
|
logical | sml_module::run |
|
logical | sml_module::true |
|
logical | sml_module::restart |
|
real(8) | sml_module::sml_bp_sign =1D0 |
| sml_bp_sign is opposite of sign of poloidal current Ip. sml_bp_sign=-1 for Ip // phi, sml_bp_sign=+1 for Ip // (-phi) The direction of Bp and Ip are following right hand rule. phi is from the (R,phi,Z) cylindrical coordinate system. The direction of phi is counter-clockwise looking on the torus from above. More...
|
|
real(8) | sml_module::sml_bt_sign =-1D0 |
| 1 for Bt // phi, -1 for Bt // (-phi) The direction of phi is described in the comments of sml_bp_sign. The default is bp_sign = 1 and bt_sign = -1 -> both Ip and Bt are -phi direction. (co-current Bt) More...
|
|
real(8) | sml_module::sml_bd_min_r =1D-4 |
| Simulation boundary in R-Z space (in m) More...
|
|
real(8) | sml_module::sml_bd_max_r =1D3 |
| Simulation boundary in R-Z space (in m) More...
|
|
real(8) | sml_module::sml_bd_min_z =-1D3 |
| Simulation boundary in R-Z space (in m) More...
|
|
real(8) | sml_module::sml_bd_max_z =1D3 |
| Simulation boundary in R-Z space (in m) More...
|
|
real(8) | sml_module::sml_marker_den =-1D0 |
| Marker density. Used for (uniform) loading and initial weight calculation. More...
|
|
real(8), dimension(:,:), allocatable | sml_module::sml_marker_den2 |
| Triangle based marker density. More...
|
|
real(8) | sml_module::sml_inpsi =0D0 |
| Inner boundary for initial loading and other routines (e.g. solvers, bounce, ...); normalized poloidal flux (0 on axis, 1 on separatrix) More...
|
|
real(8) | sml_module::sml_outpsi =1.05D0 |
| Outer boundary for initial loading and other routines (e.g. solvers, bounce, ...); normalized poloidal flux (0 on axis, 1 on separatrix) More...
|
|
real(8) | sml_module::sml_outpsi_priv1 =0.97D0 |
| Outer boundary (for Poisson solver), normalized poloidal flux. More...
|
|
real(8) | sml_module::sml_en_order_kev =0.2D0 |
| Characteristic ion energy (keV) --> controls reference time (toroidal ion transit time) More...
|
|
real(8) | sml_module::sml_en_order =3.2044D-17 |
| (not an input) Characteristic ion energy in normalized unit More...
|
|
integer | sml_module::sml_machine = -99 |
| Not used anymore. Left only for input file compatibility. Will be removed near future. More...
|
|
integer | sml_module::sml_special =0 |
| Switch for special simulation: (0) normal, (1) single particle simulation, (2) undefined, (3) undefined, (4) Poincare plot. More...
|
|
real(8) | sml_module::sml_bp_mult =1D0 |
| Artificial multiplication of poloidal B-field. More...
|
|
real(8) | sml_module::sml_bt_mult =1D0 |
| Artificial multiplication of toroidal B-field. More...
|
|
integer, parameter | sml_module::sml_nlarmor =4 |
| Number of points used in gyroaverage. This is used only for calculating the electron background density in simulations with adiabatic electrons and in the direct evaluation of the (obsolete) flux-surface averaged ion gyrocenter and electron charge density. More...
|
|
integer | sml_module::sml_nphi_total =16 |
| Number of poloidal planes (= toroidal grid size) More...
|
|
integer | sml_module::sml_wedge_n =1 |
| Simulate a wedge of 2pi/sml_wedge_n of the full torus. More...
|
|
integer | sml_module::sml_nphi_2pi =1 |
| In wedge simulations (sml_wegde_n>1): Number of poloidal planes in full torus - set to sml_nphi_total*sml_wedge_n in setup.F90 subroutine read_input after reading input file. More...
|
|
integer | sml_module::sml_ff_step =2 |
| Number of steps for field-following search/mapping (default=2) (default: 2, set to 0 to let XGC decide) More...
|
|
integer | sml_module::sml_ff_order =4 |
| Order of RK method used for field-following search/mapping (default=4) (2 or 4, default: 4, set 0 to let XGC decide)) More...
|
|
logical | sml_module::sml_no_turb =.false. |
| Set all non-axisymmetric field perturbations to zero (electromagnetic version only) More...
|
|
logical | sml_module::sml_turb_efield =.true. |
| E-field calculated only with \(<\phi>\) if .false. psndpot will still contain all (n=0,|m|>0) and (|n|>0,m) modes. More...
|
|
logical | sml_module::sml_00_efield =.true. |
| Flux-surface averaged potential not used for calculating the electric field if .false. More...
|
|
logical | sml_module::sml_0m_efield =.true. |
| The axisymmetric potential variation \(\langle \phi-\langle\phi\rangle\rangle_T\) is set to zero if .false. More...
|
|
logical | sml_module::sml_loop_voltage_on =.false. |
| Switches the loop voltage current drive on/off. More...
|
|
real(8) | sml_module::sml_gradpsi_limit =1D-3 |
| If \(|\nabla\psi|\) is smaller than this threshold, \(\nabla\psi\) is computed \((R,Z)\) coordinates instead of \((\hat{\boldsymbol{\psi}}\cdot\nabla,\hat{\boldsymbol{\theta}}^\ast)\cdot\nabla\) even if sml_grad_psitheta is .true. More...
|
|
integer, dimension(0:ptl_nsp_max) | sml_module::sml_grid_nrho =-1 |
| Size of the gyroradius grid (should be such that the resolution is >= 0.5 rho_i) Set this to check whether the rho inputs use the new multispecies format. More...
|
|
real(8), dimension(0:ptl_nsp_max) | sml_module::sml_rhomax =1D-2 |
| Upper cutoff of the gyroradius grid (should be the gyroradius of the fastest ions of interest) More...
|
|
logical | sml_module::sml_grad_psitheta =.true. |
| If .true., gradiant operator is calculated as \((\hat{\boldsymbol{\psi}}\cdot\nabla,\hat{\boldsymbol{\theta}}^\ast)\cdot\nabla\) instead of \((R,Z)\) coordinates. More...
|
|
logical | sml_module::sml_tri_psi_weighting =.false. |
| Use modified triangle shape functions (Useful for coarse meshes in XGCa when straight element edges do not represent the curved flux-surfaces well. More...
|
|
integer, parameter | sml_module::sml_nhybrid =2 |
| Number of iterations in electrostatic electron weight evolution scheme This used to be an input variable but is now a parameter (sml_nhybrid=2) because a value of 2 was the only workable value. It implies a two-step Poisson solve (adiabatic electron solve -> electron weight update -> kinetic electron solve) More...
|
|
integer | sml_module::sml_f0_grid_lbal_period =0 |
| Force periodic update of the domain decomposition every sml_f0_grid_lbal_period time steps. When set to zero, the domain decomposition is adjusted only when the load imbalance exceeds its thresholds. More...
|
|
real(8) | sml_module::sml_f0_grid_max_ptl_imbal =2D0 |
| Upper threshold for the particle load imbalance (typically ~1.3). More...
|
|
real(8) | sml_module::sml_f0_grid_min_ptl_imbal =1D0 |
| Lower threshold for the particle load imbalance. More...
|
|
real(8) | sml_module::sml_f0_grid_init_ptl_imbal =-1D0 |
| Initial particle load imbalance. More...
|
|
integer | sml_module::sml_f0_nmu_decomp =1 |
| (Not operational!) Parameter to control the decomposition of the velocity space grid in the \(v_\perp\) direction. 1 means no decomposition. More...
|
|
logical | sml_module::sml_symmetric_f0g =.false. |
| Enforce axisymmetry only in f0g (used only in XGC1 fluid-kinetic hybrid method; -DHYB_EM=ON) More...
|
|
integer | sml_module::sml_f_source_period =1 |
| Run source routines (collisions, neutral recycling, etc.) every sml_f_source_period time steps. More...
|
|
real(8) | sml_module::sml_inv_f_source_period =1 |
| (Not an input) Inverse of sml_f_source_period More...
|
|
logical | sml_module::sml_no_fp_in_f =.false. |
| If .true. the distribution function used for the source routines will not include particle information (only for testing) More...
|
|
character(len=65) | sml_module::sml_node_file ="neo10.1.node" |
| Unstructured mesh data: node-file. More...
|
|
character(len=65) | sml_module::sml_ele_file ="neo10.1.ele" |
| Unstructured mesh data: ele-file. More...
|
|
character(len=65) | sml_module::sml_surf_file ="dummy.flx.aif" |
| Unstructured mesh data: flx-file. More...
|
|
integer | sml_module::sml_sep_surf_index =99999 |
| Index of the inner separatrix surface in the flux-surface data (from sml_surf_file if compiled with -DNEW_FLX_AIF=ON) More...
|
|
integer | sml_module::sml_sep2_surf_index =99999 |
| Index of the outer separatrix surface in the flux-surface data (from sml_surf_file if compiled with -DNEW_FLX_AIF=ON) More...
|
|
integer | sml_module::sml_nsurf3 =0 |
| Number of flux-surfaces in the private flux region (from sml_surf_file if compiled with -DNEW_FLX_AIF=ON) More...
|
|
integer | sml_module::sml_nsurf3_2 =0 |
| Number of flux-surfaces in the second private flux region (from sml_surf_file if compiled with -DNEW_FLX_AIF=ON) More...
|
|
integer | sml_module::sml_plane_per_pe =0 |
| Number of poloidal planes per MPI rank (typically 1) More...
|
|
integer | sml_module::sml_pe_per_plane =0 |
| Number of MPI ranks per poloidal plane (>=2*sml_grid_nrho) More...
|
|
integer | sml_module::sml_adios_group =MPI_GROUP_EMPTY |
| Adios MPI group. More...
|
|
integer | sml_module::sml_adios_comm =MPI_COMM_NULL |
| Adios communicator. More...
|
|
logical | sml_module::adios_stage_restart = .FALSE. |
| Enable/disable Adios stage mode for xgc.restart. More...
|
|
logical | sml_module::adios_stage_restartf0 = .FALSE. |
| Enable/disable Adios stage mode for xgc.restartf0. More...
|
|
logical | sml_module::adios_stage_f0 = .TRUE. |
| Enable/disable Adios stage mode for xgc.f0. More...
|
|
integer | sml_module::adios_stage_f0_max = 10 |
| Maximum numbrer of steps for Adios xgc.f0 stage write. More...
|
|
logical | sml_module::adios_stage_f3d = .FALSE. |
| Enable/disable Adios stage mode for xgc.f3d. More...
|
|
integer | sml_module::adios_stage_f3d_max = 10 |
| Maximum numbrer of steps for Adios xgc.f3d stage write. More...
|
|
logical | sml_module::adios_stage_escaped_ptls = .FALSE. |
| Enable/disable Adios stage mode for xgc.escaped_ptls. More...
|
|
integer | sml_module::sml_plane_group =MPI_GROUP_EMPTY |
| MPI group for all MPI ranks assigned to the same poloidal plane. More...
|
|
integer | sml_module::sml_plane_comm =MPI_COMM_NULL |
| Communicator for all MPI ranks assigned to the same poloidal plane. More...
|
|
integer | sml_module::sml_plane_totalpe =0 |
| Total number of MPI ranks assigned to a poloidal plane. More...
|
|
integer | sml_module::sml_plane_mype =0 |
| MPI rank index within sml_plane_comm. More...
|
|
integer | sml_module::sml_plane_index =-1 |
| Index of the poloidal plane to which an MPI rank is assigned (0...sml_nphi_total-1) More...
|
|
integer | sml_module::sml_intpl_group =MPI_GROUP_EMPTY |
| MPI group for all MPI ranks assigned to the same (R,Z) patch. More...
|
|
integer | sml_module::sml_intpl_comm =MPI_COMM_NULL |
| Communicator for all MPI ranks assigned to the same (R,Z) patch (toroidal communication) More...
|
|
integer | sml_module::sml_intpl_totalpe =0 |
| Total number of MPI ranks within sml_intpl_comm. More...
|
|
integer | sml_module::sml_intpl_mype =0 |
| MPI rank index within sml_intpl_comm. More...
|
|
integer, dimension(:), allocatable | sml_module::sml_ksp_group |
| MPI group for a subset of ranks on a plane used for PETSc KSP solves. More...
|
|
integer, dimension(:), allocatable | sml_module::sml_ksp_comm |
| MPI communicator for a subset of ranks on a plane used for PETSc KSP solves. More...
|
|
integer, dimension(:), allocatable | sml_module::sml_ksp_root |
| MPI root rank of plane, will broadcast solutions of KSP solves. More...
|
|
integer | sml_module::sml_num_ksp = 1 |
| Number of communicators per plane for PETSc KSP solves. More...
|
|
integer | sml_module::sml_ksp_mype = -1 |
| MPI rank index within sml_ksp_comm. More...
|
|
integer | sml_module::sml_pe_per_ksp = 0 |
| Number of MPI ranks used for PETSc KSP solves. More...
|
|
logical | sml_module::sml_electron_on =.false. |
| Whether to run with adiabatic (.false.) or kinetic (.true.) electrons. More...
|
|
real(8) | sml_module::sml_initial_deltaf_noise =1D-3 |
| Delta-f particle weights are initialized with this level of noise. More...
|
|
logical | sml_module::sml_zero_inner_bd =.false. |
| If .true., use Dirichlet boundary condition \(\phi=0\) for axisymmetric Poisson solver. More...
|
|
integer | sml_module::sml_mode_select_mode = 0 |
| Fourier filter mode: 0) No filter, 1) single-n, 4) m_range (mmin..mmax) 2 or 5) n range + resonant m 3 or 6) n range + m range. More...
|
|
integer | sml_module::sml_mode_select_mmin = 0 |
| Lowest pol. mode number for Fourier filter. More...
|
|
integer | sml_module::sml_mode_select_mmax = 25 |
| Highest pol. mode number for Fourier filter. More...
|
|
integer | sml_module::sml_mode_select_mres_q = 3 |
| number of pol. mode numbers around the resonant mode divided by q; --> |m/q - n| <= mres_q or |m -n*q| <= mres_q*q More...
|
|
integer | sml_module::sml_mode_select_cutoff = 2 |
| Factor for cutoff in Fourier space, determines gridm_max_surf(i) The default is the Nyquist limit sml_mode_select_cutoff=2. More...
|
|
integer | sml_module::sml_mode_select_cutoff_mode = 1 |
| (1) Default: calculate max. pol. mode number using \(\max(\Delta\theta^\ast)\); (2) use \(\Delta\theta^\ast\) at \(B=B_{max}\) on the flux-surface. More...
|
|
real(kind=8) | sml_module::sml_mode_select_inpsi = -0.1D0 |
| inner boundary for mode selection More...
|
|
real(kind=8) | sml_module::sml_mode_select_outpsi = 10.0D0 |
| outer boundary for mode selection More...
|
|
real(kind=8) | sml_module::sml_mode_select_bd_width = 0.01D0 |
| width of boundary envelope More...
|
|
real(kind=8) | sml_module::sml_mode_select_psitol = 5D-5 |
| psi tolerance (in SI-units --> Wb) for the identification of flux-surfaces More...
|
|
real(kind=8) | sml_module::sml_mode_select_max_kth_rho = 1.0D0 |
| Max. k_theta*rhoi retained in poloidal Fourier filter. More...
|
|
logical | sml_module::sml_mode_select_bands_on = .false. |
| Determine the number of side bands to include by using gridm_max_surf(i) More...
|
|
logical | sml_module::sml_mode_select_no_m0 = .true. |
| filter out m=0 mode while field-following FFT filtering. (fourier_filter_n_m_range_parallel) More...
|
|
logical | sml_module::sml_mode_select_use_minm = .false. |
| Restrict poloidal mode number m to m>1 in field aligned filter (sml_mode_select_mode=5) More...
|
|
integer | sml_module::sml_mode_select_sol_mode = 0 |
| 0: Retain sine and cosine modes in SOL but use a window function 1: Retain only sine modes in SOL and don't use a window function 2: Retain sine and cosine modes and DO NOT use a window function (Applies only to filter modes sml_mode_select_mode={5,6}!) More...
|
|
integer | sml_module::sml_mode_select_num_m_damp = 0 |
| Pad the rectangular mode filter with |m/q-n|<=N with sml_mode_select_num_m_damp modes left and right and damp those modes exponentially. The damping factor is given by exp(-(x/w)^2) where x=max(0,|m-n*q|-sml_mode_select_mres_q) and w=sml_mode_select_damp_width. The default is sml_mode_select_num_m_damp=0, i.e., a sharp cutoff in the filter. More...
|
|
real(kind=8) | sml_module::sml_mode_select_damp_width = 2D0 |
| Width (in terms of poloidal mode numbers of the smooth exponential cutoff in the poloidal part of the field-aligned Fourier filter (see sml_mode_select_num_m_damp). More...
|
|
logical | sml_module::sml_mode_select_keep_axisym = .false. |
| Whether to retain -sml_mode_select_mres_q*1 < m < sml_mode_select_mres_q*q (i.e. the axisymmetric mode) (used if FFT_NTOR_NUM_ZERO=On) More...
|
|
real(8) | sml_module::sml_bd_ext_delta_ai = 0D0 |
| Shift of inner boundary of n!=0 Ampere solver (LHS) outwards relative to sml_inpsi. More...
|
|
real(8) | sml_module::sml_bd_ext_delta_ao = 0D0 |
| Shift of outer boundary of n!=0 Ampere solver (LHS) inwards relative to sml_outpsi. More...
|
|
real(8) | sml_module::sml_bd_ext_delta_ji = 0D0 |
| Shift of inner boundary of n!=0 Ampere solver (RHS=current density) outwards relative to sml_inpsi. More...
|
|
real(8) | sml_module::sml_bd_ext_delta_jo = 0D0 |
| Shift of outer boundary of n!=0 Ampere solver (RHS) inwards relative to sml_outpsi. More...
|
|
real(8) | sml_module::sml_dpot_bd_width = 0.02D0 |
| Decay length (normalized flux) for (n=0,m>0) potential towards the magnetic axis. More...
|
|
logical | sml_module::sml_dpot_bd_apply = .false. |
| Damp (n=0,m>0) potential towards the magnetic axis. More...
|
|
character(len=65) | sml_module::sml_input_file_dir ='./' |
| Path to the magnetic equilibrium, mesh and profile files (max. 65 characters) More...
|
|
logical | sml_module::sml_update_poisson_solver =.false. |
| If .true. density and temperature in the Poisson solver operators will be updated every sml_update_poisson_solver_nstep time steps. More...
|
|
logical | sml_module::sml_update_poisson_turb =.false. |
| Update the n != 0 Poisson solver, too (energy conservation?) More...
|
|
integer | sml_module::sml_update_poisson_solver_nstep =1 |
| Number of time steps between subsequent updates of the Poisson solver operators. More...
|
|
logical | sml_module::sml_update_ampere_solver =.false. |
| If .true. density and temperature in the Ampere's law solver operators will be updated every sml_update_ampere_solver_nstep time steps. More...
|
|
integer | sml_module::sml_update_ampere_solver_nstep =1 |
| Number of time steps between subsequent updates of the Ampere's law solver operators. More...
|
|
logical | sml_module::sml_poisson_use_bc =.false. |
| (XGCa only) False: 00-bc is phi=0 everywhere; true: 00-boundary is the wall with bc phi_bd=phi_sheath More...
|
|
logical | sml_module::sml_poisson_0m_full_geo =.false. |
| Whether to use full toroidal geometry in the axisymmetric Poisson solver (w/o approximation B_R<<B, and B_Z<<B) More...
|
|
logical | sml_module::sml_use_pade =.false. |
| Use Pade approximation for short wavelengths. More...
|
|
logical | sml_module::sml_em_use_dpot_te_limit =.false. |
| In EM simulation: whether to force usage of the min-max limiter on the turbulent potential fluctuation. More...
|
|
real(8) | sml_module::sml_dpot_te_limit = 64D0 |
| Limits the magnitude of the normalized turbulent potential e*dphi/T_e in order to, e.g., prevent an overflow in the Boltzmann term, exp(e*dphi/T_e) for concentric circular, 00-mode poission equation is solved analytically when we use poisson_two_solvers. More...
|
|
logical | sml_module::sml_use_simple00 =.false. |
| Use simple 1D solver for the flux-surface averaged potential instead of PETSc. More...
|
|
logical | sml_module::sml_iter_solver =.true. |
| Split Poisson equation into axisymmetric and non-axisymmetric parts. The axisymmetric part has the flux-surface averaged potential on the RHS. Solve iteratively by lagging the RHS potential by one iteration. Stop after sml_iter_solver_niter iterations. If .false., split Poisson equation into flux-surface averaged part and rest (assuming that the polarization term commutes with the flux-surface average) and the rest; solve in two steps. More...
|
|
integer | sml_module::sml_iter_solver_niter =10 |
| Number of iterations for the iterative axisymmetric Poisson solver when sml_iter_solver_converge=.false. More...
|
|
logical | sml_module::sml_iter_solver_converge =.false. |
| If .true., keep taking iterations in PETSc until termination criteria is met, i.e. until a residual tolerance is reached or it is determined that the iterations have diverged or exceeded sml_iter_solver_max_it. If .false., take a fixed number of iterations set from sml_iter_solver_niter. More...
|
|
integer | sml_module::sml_iter_solver_precond_type =0 |
| Set the preconditioner type for the iterative axisymmetric poisson solver (0) poisson operator without the flux surface average term (i.e. Amat). This is used to reproduce the old iterative method. (1) Amat in addition to an approximate 1D solve for the flux surface averaged part. This option should be used when sml_iter_solver_converge is set to .true. as it is a much more effective preconditioner. More...
|
|
real(8) | sml_module::sml_iter_solver_rtol =1.0D-5 |
| Relative tolerance for residual. Used to determine convergence when sml_iter_solver_converge=.true. See PETSc manual for details. More...
|
|
real(8) | sml_module::sml_iter_solver_atol =1.0D-50 |
| Absolute tolerance for residual. Used to determine convergence when sml_iter_solver_converge=.true. See PETSc manual for details. More...
|
|
integer | sml_module::sml_iter_solver_max_it =10 |
| Maximum number of iterations allowed when sml_iter_solver_converge=.true. More...
|
|
logical | sml_module::sml_mod_adiabatic =.false. |
| If .true., a psi-dependent weight is assigned to the FSA term in the adiabatic response. The weights are assigned according to a piecewise blending function in region 1: w = 1 if psi < psi_in w = (psi_out - psi)/(psi_out - psi_in) if psi_in < psi < psi_out w = 0 if psi > psi_out Outside of region 1, w = 0. The parameter sml_mod_adiabatic_psi_in sets psi_in and sml_mod_adiabatic_psi_out sets psi_out. More...
|
|
real(8) | sml_module::sml_mod_adiabatic_psi_in = 0.99 |
| Inner boundary for psi-dependent weighting function when sml_mod_adiabatic=.true. More...
|
|
real(8) | sml_module::sml_mod_adiabatic_psi_out = 1.00 |
| Outer boundary for psi-dependent weighting function when sml_mod_adiabatic=.true. More...
|
|
logical | sml_module::sml_adiabatic_from_poisson =.false. |
| If .true., the adiabatic density used in the weight update comes directly from the corresponding term in the gyrokinetic Poisson equation. More...
|
|
logical | sml_module::sml_helmholtz_spectral =.false. |
| Whether to solve Helmholtz-type equations with toroidally spectral solver. More...
|
|
integer | sml_module::sml_add_pot0 =0 |
| Additional electrostatic potential: (0) for off, (1) for reading data from file (2) for simple neoclassical axisymmetric field (not operational) More...
|
|
logical | sml_module::sml_replace_pot0 =.false. |
| If .true., replace Poisson solution with external data, if .false., add external potential to Poisson solution. More...
|
|
integer | sml_module::sml_add_pot0_mixing_time = 1 |
| With sml_replace_pot0=.true. this option allows mixing the consistent solution with the imposed potential. At t=0 only the imposed field is used, over sml_add_pot0_mixing_time times steps the mixing factor is ramped down linearly to zero (only consistent field is used) More...
|
|
character(len=256) | sml_module::sml_add_pot0_file ='pot0.dat' |
| Name of the file containing the potential data to replace the consistent solution of the Poisson equation. More...
|
|
logical | sml_module::sml_heuristic_priv_pot = .false. |
| Override the Poisson solver in the private region and replace the solution by the separatrix potential scaled with the initial electron temperature. More...
|
|
logical | sml_module::sml_poisson_adia_wall = .false. |
| EXPERIMENTAL! DON'T USE UNLESS ADVISED BY AN EXPERT If true, an adiabatic wall condition is used (no polarization, n_i=0, n_e!=0) in the axisymmetric solver; this is an experimental option and should be used together with sml_sheath_mode=1 and sml_sheath_init_pot_factor=0. More...
|
|
logical | sml_module::sml_poisson_natural_boundary = .false. |
| Set the potential on the solver boundary equal to the flux-surface averaged potential (implies \(\delta\phi_wall=0\)). This is supposed to prevent a sheath-like potential drop at the mesh boundary and make sure that the logical sheath model takes care of the sheath physics. Also, it should prevent \(\delta\phi/\phi\sim1\). More...
|
|
logical | sml_module::sml_ampere_natural_boundary = .false. |
| Ampere counterpart of sml_poisson_natural_boundary. When using this option .true., should we force sml_poisson_natural_boundary to .true.? More...
|
|
logical | sml_module::sml_exclude_private =.false. |
| If .true. the private-flux region is excluded from several aspects of the simulation (e.g., Poisson solver, collisions,...) More...
|
|
logical | sml_module::sml_exclude_private_turb = .true. |
| If .true. the private-flux region has no turbulence. More...
|
|
integer | sml_module::sml_sheath_mode =0 |
| Mode of operation of the logical sheath boundary condition (0) off (1) The value of the logical sheath potential is adjusted locally reactively based on the number of ions and electrons that hit the wall in the previous time step. Can use sml_sheath_adjust_factor<1 to reduce noise. (2) Actual logical sheath mode: the number of ions and electrons hitting the wall is recorded, then the sheath potential required to balance ion and electron losses is determined, and only then is decided which electrons actually hit the wall and which were reflected by the sheath potential. The algorithm also tries to achieve a global balance if local balance cannot be achieved. (might need some debugging) More...
|
|
real(8) | sml_module::sml_sheath_init_pot_factor =2D0 |
| Initial value of the sheath potential relative to the electron temperature. (for sml_sheath_mode=1) More...
|
|
logical | sml_module::sml_sheath_init_pot_auto =.false. |
| Set initial sheath potential to eq. based on Ti,Te, Maxwellian assumption. More...
|
|
logical | sml_module::sml_sheath_adjust =.false. |
| Constant (.false.) or dynamic (.true.) sheath potential (for sml_sheath_mode=1) More...
|
|
real(8) | sml_module::sml_sheath_adjust_factor =0.25D0 |
| Damping factor for slower adjustment of the sheath potential if sml_sheath_mode=1. More...
|
|
logical | sml_module::sml_source =.false. |
| Switch for heat and torque sources (sources must be configured separately with the parameters in the src_param namelist. More...
|
|
logical | sml_module::sml_radiation =.false. |
| Switch for a simple radiation module using part of the ADAS data base (must be configured with the rad_param namelist) More...
|
|
logical | sml_module::sml_neutral =.false. |
| Switch for neutral recycling module (must be configured with the neu_param namelist) More...
|
|
real(8) | sml_module::sml_max_imbalance =1.1D0 |
| Threshold of the combined particle-mesh load imbalance that triggers an update of the domain decomposition. More...
|
|
real(8) | sml_module::sml_ptl_imbal_ion =3D0 |
| Maximal load ion particle imbalance. More...
|
|
logical | sml_module::sml_00_xz_up =.false. |
| Use only \(Z>Z_{xp}\) for flux-surface average calculation (only for -DCONVERT_GRID2=OFF) More...
|
|
logical, parameter | sml_module::sml_cylindrical =.true. |
| Use straight cylinder geometry with periodic boundary conditions along the cylinder axis. More...
|
|
logical | sml_module::sml_resamp_on = .false. |
| Switch for particle resampling (must be configured with resamp_param namelist. More...
|
|
logical | sml_module::sml_3db_on = .false. |
| Switch RMP field on/off. More...
|
|
logical | sml_module::sml_verbose = .false. |
| ??? More...
|
|
logical | sml_module::sml_em_mixed_variable = .true. |
| Switch for use of mixed-variable formulation. More...
|
|
logical | sml_module::sml_em_control_variate = .false. |
| Switch for use of control variate method. More...
|
|
integer | sml_module::sml_em_control_variate_niter = 1 |
| Number of iterations for Ampere solve with control-variate method. More...
|
|
logical | sml_module::sml_em_control_variate_final_cv = .false. |
| Internal setting for control variate method. More...
|
|
logical | sml_module::sml_em_control_variate_flag = .false. |
| Internal setting for control variate method. More...
|
|
logical | sml_module::sml_em_exclude_private = .true. |
| Makes the private flux region electrostatic if .true. More...
|
|
logical | sml_module::sml_em_b_para_eff = .false. |
| Effective dB_|| via a modified grad-B drift (Joiner et al., PoP, 2010) More...
|
|
logical | sml_module::sml_em_n0 = .false. |
| Include n=0 electromagnetic mode. More...
|
|
logical | sml_module::sml_diff_on = .false. |
| Anomalous diffusion. More...
|
|
logical | sml_module::sml_reduce_core_ptl = .false. |
| Whether to reduce number of particles initialized in the core. More...
|
|
real(8) | sml_module::sml_core_ptl_fac = 1D0 |
| Factor particles in core per vertex vs in edge. More...
|
|
real(8) | sml_module::sml_core_ptl_psi = 1D0 |
| psi value where n_ptl per vertex drops off More...
|
|
logical | sml_module::sml_mms = .false. |
| Sets particle weights for P. Tranquilli's manufactured solution. More...
|
|
real(8) | sml_module::sml_mms_alpha = 7d0 |
| Parameter for factor dependent on spatial coordinate in P. Tranquilli's manufactured solution. More...
|
|
real(8) | sml_module::sml_mms_beta = 1d0 |
| Parameter for factor dependent on mu coordinate in P. Tranquilli's manufactured solution. More...
|
|
real(8) | sml_module::sml_mms_gamma = 0.5d0 |
| Parameter for factor dependent on parallel velocity coordinate in P. Tranquilli's manufactured solution. More...
|
|
character(len=80) | eq_module::eq_filename ='eq.h5' |
| eq_filename is the name of the eqd input (output for M3D-C1 input) file More...
|
|
character(len=80) | eq_module::eq_m3dc1_filename ='C1.h5' |
| Name of the M3D-C1 data file. More...
|
|
character(len=100) | eq_module::eq_g_filename = 'null.eqd' |
| gqdsk file generated from M3D-C1 data (needed for wall shape and consistency) More...
|
|
real(8) | eq_module::eq_min_r = 0D0 |
|
real(8) | eq_module::eq_max_r = 0D0 |
|
real(8) | eq_module::eq_min_z = 0D0 |
|
real(8) | eq_module::eq_max_z = 0D0 |
| Not needed anymore – can be removed. More...
|
|
real(8) | eq_module::eq_axis_r = 0D0 |
|
real(8) | eq_module::eq_axis_z = 0D0 |
| R, Z, B of magnetic axis. More...
|
|
real(8) | eq_module::eq_x_psi = 0D0 |
|
real(8) | eq_module::eq_x_z = 1D1 |
|
real(8) | eq_module::eq_x_r = 1.7D0 |
|
real(8) | eq_module::eq_x_slope = 0D0 |
| psi, R, Z of (first) X-point. eq_x_slope = dZ/dR – slope from axis More...
|
|
real(8) | eq_module::eq_psi_norm = 0D0 |
|
logical | eq_module::eq_set_x2 = .false. |
| determine if there is second (upper) X-point to consider. This will be overriden by flx.aif. More...
|
|
real(8) | eq_module::eq_x2_z = 1D1 |
| Z value of second (upper) X-point. More...
|
|
real(8) | eq_module::eq_x2_r = 1.7D0 |
| R value of second (upper) X-point. More...
|
|
real(8) | eq_module::eq_x2_slope = 0D0 |
| slope of second X-point. More...
|
|
real(8) | eq_module::eq_x2_psi = 0D0 |
| psi of second X_point More...
|
|
real(8) | eq_module::eq_out_decay_factor = 1D-1 |
| profiles decay exponentially to f(sml_outpsi)*decay_factor for psi>sml_outpsi More...
|
|
real(8) | eq_module::eq_priv_flux_decay_factor = 5D-2 |
| profiles decay exponentially to f(sml_outpsi)*decay_factor in priv. flux region More...
|
|
real(8) | eq_module::eq_out_decay_width = 3D-2 |
| width for exponential decay for psi>sml_outpsi More...
|
|
real(8) | eq_module::eq_priv_flux_decay_width = 1.5D-2 |
| width for exponential decay in private flux region More...
|
|
integer | eq_module::eq_den_rsp_index = 0 |
| Due to quasineutrality, the density of one species should be obtained from that of the others: specify its index here. More...
|
|
integer | eq_module::eq_den_rsp_sample_num = 1024 |
| Density for the reduced spcies (rsp) is constructed from this number of samples. More...
|
|
real(8) | eq_module::eq_den_rsp_xmax = 1.3D0 |
| normalized value of psi for domain setting psi_norm = [0, xmax], psi = psi_norm * eq_x_psi More...
|
|
real(8), dimension(:), allocatable | eq_module::eq_dens_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_x3 |
| Parameters defining the analytic profile functions of the species densities. More...
|
|
real(8), dimension(:), allocatable | eq_module::eq_temp_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_temp_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_temp_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_temp_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_temp_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_temp_x3 |
| Parameters defining the analytic profile functions of the species temperatures. More...
|
|
real(8), dimension(:), allocatable | eq_module::eq_flow_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_x3 |
| Parameters defining the analytic profile functions of the species toroidal flow. More...
|
|
integer, dimension(:), allocatable | eq_module::eq_dens_shape |
|
integer, dimension(:), allocatable | eq_module::eq_temp_shape |
|
integer, dimension(:), allocatable | eq_module::eq_flow_shape |
| Variable defining the type of analytic function used for density, tempeature and toroidal rotation profiles (-1 for file input) More...
|
|
integer, dimension(:), allocatable | eq_module::eq_flow_type |
| Type ID of parallel flow/toroidal rotation (u_||, u_||/R, omega_tor) 0: parallel flow (m/s) is flux function. 1: u_parallel/R is flux function 2: Omega_tor is flux function (rigid body rotation),. More...
|
|
integer, dimension(:), allocatable | eq_module::eq_dens_diff_shape |
|
integer, dimension(:), allocatable | eq_module::eq_flow_diff_shape |
|
integer, dimension(:), allocatable | eq_module::eq_t_diff_shape |
|
integer, dimension(:), allocatable | eq_module::eq_pinch_v_shape |
| Variable defining the type of analytic function used for profiles of particle diffusivity, momentum diffusivity, heat conductivity and particle pinch velocity (-1 for file input) More...
|
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_v4 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_x4 |
|
real(8), dimension(:), allocatable | eq_module::eq_dens_diff_x5 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_v4 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_x4 |
|
real(8), dimension(:), allocatable | eq_module::eq_flow_diff_x5 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_v4 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_x4 |
|
real(8), dimension(:), allocatable | eq_module::eq_t_diff_x5 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_v4 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_x4 |
|
real(8), dimension(:), allocatable | eq_module::eq_pinch_v_x5 |
|
character(len=100), dimension(:), allocatable | eq_module::eq_dens_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_temp_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_flow_file |
| File names for density, temperature and flow input files. More...
|
|
character(len=100), dimension(:), allocatable | eq_module::eq_dens_diff_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_flow_diff_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_t_diff_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_pinch_v_file |
| File names for particle, momentum, heat diffusivity, and particle pinch. More...
|
|
integer, dimension(:), allocatable | eq_module::eq_fg_temp_shape |
|
integer, dimension(:), allocatable | eq_module::eq_fg_flow_shape |
|
integer, dimension(:), allocatable | eq_module::eq_fg_flow_type |
|
character(len=100), dimension(:), allocatable | eq_module::eq_fg_temp_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_fg_flow_file |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_temp_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_fg_flow_x3 |
|
integer, dimension(:), allocatable | eq_module::eq_mk_temp_shape |
|
integer, dimension(:), allocatable | eq_module::eq_mk_flow_shape |
|
integer, dimension(:), allocatable | eq_module::eq_mk_flow_type |
|
character(len=100), dimension(:), allocatable | eq_module::eq_mk_temp_file |
|
character(len=100), dimension(:), allocatable | eq_module::eq_mk_flow_file |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_temp_x3 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_v1 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_v2 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_v3 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_x1 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_x2 |
|
real(8), dimension(:), allocatable | eq_module::eq_mk_flow_x3 |
|
integer, parameter | eq_module::eq_mid_r_npsi =50 |
| For poloidal flux -> midplane R function. Number of evaluation points. More...
|
|
real(8), dimension(eq_mid_r_npsi) | eq_module::eq_mid_r_psi = 0D0 |
| For poloidal flux -> midplane R function. Function data. More...
|
|
real(8) | eq_module::eq_mid_r_dp = 0D0 |
|
real(8), parameter | eq_module::epsil_psi = 1D-5 |
|
integer, parameter | eq_module::ftn_lin_n =1000 |
|
logical, parameter | eq_module::use_ftn_lin =.true. |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max), target | eq_module::eq_den |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max), target | eq_module::eq_temp |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max), target | eq_module::eq_flow |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max), target | eq_module::eq_fg_temp |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max) | eq_module::eq_dens_diff |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max) | eq_module::eq_t_diff |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max) | eq_module::eq_flow_diff |
|
type(eq_ftn_type), dimension(0:ptl_nsp_max) | eq_module::eq_pinch_v |
|
integer, parameter | ptl_module::ptl_nphase =6 |
|
integer, parameter | ptl_module::ptl_nphase2 =12 |
|
integer, parameter | ptl_module::ptl_nconst =3 |
|
integer | ptl_module::ptl_isp |
|
integer | ptl_module::ptl_nsp =1 |
|
integer, parameter | ptl_module::num_shift_ie_opts = 10 |
|
integer, parameter | ptl_module::index_shift_ie_max_nthreads = 1 |
|
integer, parameter | ptl_module::index_shift_ie_use_alltoall = 2 |
|
integer, parameter | ptl_module::index_shift_ie_use_hs_barrier0 = 3 |
|
integer, parameter | ptl_module::index_shift_ie_large_limit = 4 |
|
integer, parameter | ptl_module::index_shift_ie_handshake = 5 |
|
integer, parameter | ptl_module::index_shift_ie_use_hs_barrier1 = 6 |
|
integer, parameter | ptl_module::index_shift_ie_use_sendrecv = 7 |
|
integer, parameter | ptl_module::index_shift_ie_all_sendrecv = 8 |
|
integer, parameter | ptl_module::index_shift_ie_use_isend = 9 |
|
integer, parameter | ptl_module::index_shift_ie_use_rsend = 10 |
|
integer, parameter | ptl_module::use_def_shift_ie_opt = -2 |
|
integer, parameter | ptl_module::true_shift_ie_opt = 1 |
|
integer, parameter | ptl_module::false_shift_ie_opt = 0 |
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_mass = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_charge = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_c_m = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_c2_2m = 0D0 |
|
type(species_type), dimension(0:ptl_nsp_max), target | ptl_module::spall_global |
|
integer | ptl_module::ptl_enum_save |
|
integer | ptl_module::ptl_tracer_n_save = 0 |
|
type(ptl_type_aosoa), dimension(:), allocatable | ptl_module::ptl_iphase_save |
|
integer | ptl_module::ptl_inum_save = 0 |
|
real(8) | ptl_module::ptl_special_r = 1.95D0 |
| Start R for particle in single particle sim. (sml_special==1) More...
|
|
real(8) | ptl_module::ptl_special_z = 0D0 |
| Start Z for particle in single particle sim. (sml_special==1) More...
|
|
real(8) | ptl_module::ptl_special_phi = 0D0 |
| Start phi for particles in single particle sim. (sml_special==1 and 4) More...
|
|
real(8) | ptl_module::ptl_special_en_ev = 7205 |
| Energy of particles with sml_special==(1,4) More...
|
|
real(8) | ptl_module::ptl_special_pitch = 1D0 |
| Pitch v_parallel/v of particles with sml_special==(1,4) (at B=B_min with sml_special=4) More...
|
|
real(8) | ptl_module::ptl_special_poin_phi = 0D0 |
| Toroidal angle for Poincare plot (sml_special==4) More...
|
|
integer | ptl_module::ptl_special_npsi = 6 |
| Number of flux-surfaces on which to load particles (ptl_special==4) More...
|
|
real(8) | ptl_module::ptl_special_psi_min = 0.94D0 |
| Min. psi of flux-surface on which to load particles (ptl_special==4) More...
|
|
real(8) | ptl_module::ptl_special_psi_max = 0.99D0 |
| Max. psi of flux-surface on which to load particles (ptl_special==4) More...
|
|
integer | ptl_module::ptl_special_n = 100 |
| sml_special==3 More...
|
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_mass_au =2D0 |
|
real(8), dimension(0:ptl_nsp_max) | ptl_module::ptl_charge_eu =1D0 |
|
integer, parameter | ptl_module::pir =1 |
|
integer, parameter | ptl_module::piz =2 |
|
integer, parameter | ptl_module::pip =3 |
|
integer, parameter | ptl_module::pirho =4 |
|
integer, parameter | ptl_module::pim =1 |
|
integer, parameter | ptl_module::piw1 =5 |
|
integer, parameter | ptl_module::piw2 =6 |
|
integer, parameter | ptl_module::piw0 =2 |
|
integer, parameter | ptl_module::pif0 =3 |
|
integer, parameter | ptl_module::pig2 =4 |
|
character(len=20), dimension(0:ptl_nsp_max) | ptl_module::ptl_marker_type |
|
character(len=20), dimension(0:ptl_nsp_max) | ptl_module::ptl_f_analytic_shape |
|
character(len=20), dimension(0:ptl_nsp_max) | ptl_module::ptl_weight_evo_eq |
|
logical, dimension(0:ptl_nsp_max) | ptl_module::ptl_dynamic_f0 |
|
integer | diag_module::diag_tracer_period = 100 |
|
integer | diag_module::diag_tracer_n = 1 |
|
integer | diag_module::diag_tracer_sp = 1 |
|
logical | diag_module::diag_1d_on = .true. |
|
integer | diag_module::diag_1d_period = 10 |
|
integer | diag_module::diag_neutral_period = 100 |
| The number of discrete timesteps between writing the neutral output files. Should generally be equal to neu_background_period. More...
|
|
integer | diag_module::diag_ps_reset_period =10 |
|
real(8) | diag_module::diag_ps_pin =0.8 |
|
real(8) | diag_module::diag_ps_pout =0.81 |
|
logical | smooth_module::smooth_pol_efield = .false. |
|
integer | smooth_module::smooth_pol_width = 3 |
|
real(kind=8) | smooth_module::smooth_pol_d0 = 0.1 |
|
logical | smooth_module::smooth_fourier_filt_on = .false. |
| Switch for additional SOL Fourier filter. More...
|
|
real(kind=8) | smooth_module::smooth_sol_filt_lp0 = 0.20D0 |
| Poloidal Fourier filter for SOL: Window function --> distance from divertor plate in m. More...
|
|
real(kind=8) | smooth_module::smooth_sol_filt_width = 0.05D0 |
| Poloidal Fourier filter for SOL: Window function --> decay length in m. More...
|
|
integer | smooth_module::smooth_fourier_filt_maxm = 30 |
| Maximal poloidal mode number for SOL Fourier filter. More...
|
|
integer | smooth_module::smooth_fourier_filt_minm = 0 |
| Maximal poloidal mode number for SOL Fourier filter. More...
|
|
logical | smooth_module::smooth_hyp_vis_rad_on = .false. |
| Switch for 2nd order accurate 4th derivative radial (grad(psi)) hyperviscosity. More...
|
|
real(kind=8) | smooth_module::smooth_hyp_vis_rad = 0.1D0 |
| Strength of the radial hyperviscosity; sml_dt/smooth_hyp_vis_rad corresponds to the decay time of a mode with k_x=pi/dx, where dx is the local mesh size. More...
|
|
real(kind=8) | smooth_module::smooth_hyp_vis_rad_priv = 1.0D0 |
| Strength of the radial hyperviscosity in the private region; sml_dt/smooth_hyp_vis_rad corresponds to the decay time of a mode with k_x=pi/dx, where dx is the local mesh size. More...
|
|
logical | smooth_module::smooth_hyp_vis_parallel_on = .false. |
| Switch for 2nd order accurate 4th derivative field-aligned hyperviscosity. More...
|
|
real(kind=8) | smooth_module::smooth_hyp_vis_parallel = 1.0D0 |
| Strength of the parallel hyperviscosity; sml_dt/smooth_hyp_vis_parallel corresponds to the decay time of a mode with k_x=pi/dx, where dx is the local mesh size. More...
|
|
integer, parameter | src_module::src_nmax =4 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_narea = 1 |
|
integer | src_module::src_niter = 10 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_pin = 0D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_pout = -1D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_decay_width = 0.01 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_heat_power = 0D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_torque = 0D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_z_begin = 0D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_r_begin = 0D0 |
|
real(8), dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_radius =0.1 |
|
integer, dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_special_mode = -1 |
|
integer, dimension(src_nmax, 0:ptl_nsp_max) | src_module::src_ishape = -1 |
|
integer | src_module::src_period = 10 |
|
integer | src_module::src_nsubsection = 10 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pin1 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pout1 = 0.01 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_decay_width1 = 0.01 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_heat_power1 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_torque1 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_z_begin1 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_r_begin1 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_radius1 =0.1 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pin2 = 1.04 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pout2 = 1.05 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_decay_width2 = 0.01 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_heat_power2 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_torque2 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_z_begin2 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_r_begin2 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_radius2 =0.1 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pin3 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pout3 = -1D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_decay_width3 = 0.01 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_heat_power3 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_torque3 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_z_begin3 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_r_begin3 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_radius3 =0.1 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pin4 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_pout4 = -1D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_decay_width4 = 0.01 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_heat_power4 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_torque4 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_z_begin4 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_r_begin4 = 0D0 |
|
real(8), dimension(0:ptl_nsp_max) | src_module::src_radius4 =0.1 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_special_mode1 =0 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_ishape1 =1 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_special_mode2 =0 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_ishape2 =1 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_special_mode3 =0 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_ishape3 =1 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_special_mode4 =0 |
|
integer, dimension(0:ptl_nsp_max) | src_module::src_ishape4 =1 |
|
integer | src_module::src_narea_e = 0 |
|
real(8) | src_module::src_pin1_e = 0D0 |
|
real(8) | src_module::src_pout1_e = 0.01 |
|
real(8) | src_module::src_decay_width1_e = 0.01 |
|
real(8) | src_module::src_heat_power1_e = 0D0 |
|
real(8) | src_module::src_torque1_e = 0D0 |
|
real(8) | src_module::src_z_begin1_e = 0D0 |
|
real(8) | src_module::src_r_begin1_e = 0D0 |
|
real(8) | src_module::src_pin2_e = 1.04 |
|
real(8) | src_module::src_pout2_e = 1.05 |
|
real(8) | src_module::src_decay_width2_e = 0.01 |
|
real(8) | src_module::src_heat_power2_e = 0D0 |
|
real(8) | src_module::src_torque2_e = 0D0 |
|
real(8) | src_module::src_z_begin2_e = 0D0 |
|
real(8) | src_module::src_r_begin2_e = 0D0 |
|
real(8) | src_module::src_pin3_e = 0D0 |
|
real(8) | src_module::src_pout3_e = -1D0 |
|
real(8) | src_module::src_decay_width3_e = 0.01 |
|
real(8) | src_module::src_heat_power3_e = 0D0 |
|
real(8) | src_module::src_torque3_e = 0D0 |
|
real(8) | src_module::src_z_begin3_e = 0D0 |
|
real(8) | src_module::src_r_begin3_e = 0D0 |
|
real(8) | src_module::src_pin4_e = 0D0 |
|
real(8) | src_module::src_pout4_e = -1D0 |
|
real(8) | src_module::src_decay_width4_e = 0.01 |
|
real(8) | src_module::src_heat_power4_e = 0D0 |
|
real(8) | src_module::src_torque4_e = 0D0 |
|
real(8) | src_module::src_z_begin4_e = 0D0 |
|
real(8) | src_module::src_r_begin4_e = 0D0 |
|
integer | src_module::src_special_mode1_e =0 |
|
integer | src_module::src_ishape1_e =1 |
|
integer | src_module::src_special_mode2_e =0 |
|
integer | src_module::src_ishape2_e =1 |
|
integer | src_module::src_special_mode3_e =0 |
|
integer | src_module::src_ishape3_e =1 |
|
integer | src_module::src_special_mode4_e =0 |
|
integer | src_module::src_ishape4_e =1 |
|
logical | src_module::src_pellet_on = .false. |
| On/off switch for pellet ablation. More...
|
|
integer, parameter | ecuyer_random::dp = SELECTED_REAL_KIND(14, 60) |
|
integer, save | ecuyer_random::s1 = 1234 |
|
integer, save | ecuyer_random::s2 = -4567 |
|
integer, save | ecuyer_random::s3 = 7890 |
|
type(seeds_type), dimension(:), allocatable | random_xgc::sv |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_r |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_z |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_weight |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_en |
|
real(kind=8), dimension(:), allocatable | lim_module::lim_org_r |
|
real(kind=8), dimension(:), allocatable | lim_module::lim_org_z |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_ds |
|
real(kind=8), dimension(:,:), allocatable | lim_module::lim_psi |
|
real(kind=8) | lim_module::lim_dz |
|
real(kind=8) | lim_module::lim_zmin |
|
real(kind=8) | lim_module::lim_zmax |
|
real(kind=8) | lim_module::lim_r0_down |
|
real(kind=8) | lim_module::lim_r0_up |
|
real(kind=8) | lim_module::lim_psi_min |
|
integer, dimension(2) | lim_module::lim_zindex |
|
integer | lim_module::lim_store_mz |
|
integer | lim_module::lim_mdata |
|
integer, dimension(2) | lim_module::lim_store_mz_rl |
|
integer | neu_module::neu_num =10000 |
| Number of neutral particles per thread per wall segment. If neu_degas2=.true., this is the number of neutral particles per thread. More...
|
|
integer | neu_module::neu_istep_max =20000 |
| Maximum number of neutral push time steps. More...
|
|
integer | neu_module::neu_accum_time =0 |
| Integer number of timesteps over which the total number of recycling ions have been building up on the wall as neu_weight_sum_lost. More...
|
|
integer | neu_module::neu_tot_accum_time =0 |
| Integer number of timesteps over which the recycling profile has been building over neu_background_period timesteps. More...
|
|
logical | neu_module::neu_enforce_no_neutral =.false. |
| Forced off-switch for the neutral recycling routine (needed for radiation cooling!) More...
|
|
logical | neu_module::neu_adjust_n0 =.true. |
| whether to update the base neutral density. If true, a provisional ionization rate (everywhere proportional to the local neutral density) is rescaled to match the global particle sink from the sheath module times neu_recycle_rate. .false. fixed n0, .true. varying n0 - neu_recycle_rate should be specified. More...
|
|
real(kind=8) | neu_module::neu_n0 =5.0D17 |
| m^-3 -> nomalized unit, Realistic initial value for neu_base_den (=base neutral density). For cases where neu_adjust_n0=false, this provides a baseline density to use. When neu_adjust_n0=true, neu_base_den is still calculated and reported in the stdout log, but has no effect on the physics. More...
|
|
real(kind=8) | neu_module::neu_temp0 =3D0 |
| Neutral temperature boundary condition. More...
|
|
real(kind=8) | neu_module::neu_dt |
| Timestep size for the neutral Monte Carlo steps. If not provided, a default value of 2e-3*sml_dt/sqrt(neu_temp0*1e-3) is used. More...
|
|
real(kind=8) | neu_module::neu_base_den |
| Base multiplier for the neutral density. Uses neu_n0. More...
|
|
logical | neu_module::neu_degas2 =.false. |
| Use DEGAS2 for the neutral Monte Carlo calculation. More...
|
|
integer | neu_module::neu_ebin_num =10 |
| Number of energy bins to use for neutral source. More...
|
|
real(kind=8) | neu_module::neu_ebin_min =3.0 |
| Lower bound of the smallest energy bin (in eV) More...
|
|
real(kind=8) | neu_module::neu_ebin_max =13.0 |
| Lower bound of the smallest energy bin (in eV) More...
|
|
logical | neu_module::neu_ebin_log = .false. |
| Whether recycling energy bins are logarithmcially spaced. More...
|
|
real(kind=8) | neu_module::neu_ebin_delta |
| Number of energy bins to use for neutral source. More...
|
|
integer | neu_module::neu_d2_ran_k =100 |
| The ran_k parameter from DEGAS2's random.hweb. Unlikely to change. More...
|
|
integer | neu_module::neu_d2_nsp_plas = 2 |
| Number of plasma species in the DEGAS2 problem file. Unlikely to change without more data. More...
|
|
integer | neu_module::neu_d2_nsp_neut = 1 |
| Number of neutral species in the DEGAS2 problem file, including the geometric dummy species '0'. The first nontrivial species is the one whose density and temperature will be calculated. More...
|
|
integer, dimension(:), allocatable | neu_module::neu_d2_sp_map |
| Mapping of species indexing between XGC and DEGAS2. More...
|
|
integer | neu_module::neu_d2_first_wall_idx |
| Index of wall_nodes_ordered that the DEGAS2 setup uses as the first one. More...
|
|
real(kind=8) | neu_module::neu_gas_puff_source = -1.0 |
| Source of additional neutrals in particles/s. Disables neu_adjust_n0. Also, puffed neutrals enter at the lowest energy bin. More...
|
|
integer | neu_module::neu_gas_puff_segment = -1 |
| Index of wall_nodes_ordered from which neu_gas_puff_source is produced. More...
|
|
real(kind=8), dimension(:), pointer | neu_module::neu_weight_sum_lost |
| Global number of ions lost to the wall. More...
|
|
real(kind=8) | neu_module::neu_weight_lost_max = 5D23 |
| upper cutoff on the number of lost particles More...
|
|
real(kind=8) | neu_module::neu_lost_rate_max =5D23 |
| upper cutoff on the particle loss rate (particles/sec) More...
|
|
real(kind=8) | neu_module::neu_recycle_rate =0.9D0 |
| Fraction of lost ions that are recycled as neutrals. The ions lost to the wall as calculated in the sheath module are used to determine the global particle sink. Neutrals are produced at a rate of neu_recycle_rate*neu_sum_weight_lost (in particles per second). Has no effect if neu_adjust_n0=false. More...
|
|
real(kind=8) | neu_module::neu_theta_x = -99D0 |
|
real(kind=8) | neu_module::neu_peak_theta =-99D0 |
| Poloidal angle at which the neutral source is peak for neu_source_match_flux=.false. More...
|
|
real(kind=8) | neu_module::neu_delta_n =10D0 |
| Multiple of base neutral density at the peak position. When neu_source_match_flux=.false., determines the shape of the poloidal neutral source distribution. At large neu_delta_n, it approaches a Gaussian. neu_delta_n=1.0 corresponds to a uniform neutral source. More...
|
|
real(kind=8) | neu_module::neu_delta_theta =0.5235987756 |
| Width of the peak of the neutral source for neu_source_match_flux=.false. - 30/180 * pi. More...
|
|
real(kind=8) | neu_module::neu_inpsi =0.7D0 |
| Inner boundary for neutral fueling calculation (normalized pol. flux) More...
|
|
integer | neu_module::neu_background_period =500 |
| Period between subsequent updates of the background neutral distribution function in ion time steps. In any case, the density renormalization and source rates are recalculated every timestep for a fixed normalized neutral profile. More...
|
|
logical | neu_module::neu_exclude_private =.false. |
| Exclude the privat region from neutral recycling. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_ebins |
|
real(kind=8), dimension(:), allocatable | neu_module::neu_wall_source |
| Source of neutrals around limiter. More...
|
|
real(kind=8), dimension(:,:), allocatable | neu_module::neu_wall_source_ebins |
| Source of neutrals around limiter. More...
|
|
real(kind=8), dimension(:), pointer | neu_module::neu_weight_wall_lost |
| Local number of ions lost to the wall. More...
|
|
real(kind=8), dimension(:,:), pointer | neu_module::neu_weight_lost_ebins |
| Local number of ions lost to the wall. More...
|
|
real(kind=8), dimension(:,:), allocatable | neu_module::neu_norm_baseden_ebins |
| Holds normalized neutral density from ion flux to wall, energy binned. More...
|
|
real(kind=8), dimension(:,:), allocatable | neu_module::neu_d2_n0 |
| DEGAS2-predicted neutral density. More...
|
|
real(kind=8), dimension(:,:,:), allocatable | neu_module::neu_d2_v0 |
| DEGAS2-predicted neutral velocity. More...
|
|
real(kind=8), dimension(:,:), allocatable | neu_module::neu_d2_t0 |
| DEGAS2-predicted neutral temperature. More...
|
|
real(kind=8), dimension(:,:,:), allocatable | neu_module::neu_d2_sources |
| DEGAS2-predicted sources for each species from neutral interactions. More...
|
|
real(kind=8), dimension(:,:), allocatable | neu_module::neu_d2_sourcetot |
| DEGAS2-predicted sources integrated over whole volume. More...
|
|
integer | neu_module::neu_d2_ran_idx |
|
real(kind=8), dimension(:), allocatable | neu_module::neu_d2_rand_array |
| An array for random numbers in DEGAS2. More...
|
|
integer | neu_module::neu_nnode |
| Number of nodes in neutral solution volume. Currently gridnnode. More...
|
|
integer | neu_module::neu_nbirth |
| Number of birth locations. Currently gridnwall. More...
|
|
logical | neu_module::neu_source_match_flux =.true. |
| If true, the neutral source around the limiter is determined from the local ion sink. If false, the neutral source is given an analytic poloidal dependence. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_rbirth |
|
real(kind=8), dimension(:), allocatable | neu_module::neu_zbirth |
| (R,Z) coordinates of the neutral birth surface More...
|
|
real(kind=8), dimension(:), pointer | neu_module::neu_node_dens |
| Normalized neutral density. More...
|
|
real(kind=8), dimension(:), pointer | neu_module::neu_node_temp |
| Neutral temperature. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_wsum |
| Weight sum for neutral density calculation. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_esum |
| Weight sum for avg. neutral energy calculation. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_varsum |
| Weight sum for weight variance calculation. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_numsum |
| Weight sum for neutral number calculation. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_vol |
| Neutral cell volume. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_flow |
| Neutral bulk flow. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_vsum |
| Weight sum for neutral bulk flow calculation. More...
|
|
real(kind=8), dimension(:), allocatable | neu_module::neu_node_relstd |
| Neutral weight standard deviation. More...
|
|
character(len=:), allocatable, public | input_module::input_string |
|
logical | cpp_input_module::f0_upsample = .false. |
| Whether to upsample empty velocity cells before grid operations. More...
|
|
logical | cpp_input_module::f0_upsample_skip_full_bins = .false. |
| Whether to skip upsampling bins that are already filled enough to do the pseudo-inverse interpolation, only used if f0_upsample = .true. More...
|
|
integer | cpp_input_module::f0_upsample_rate = 1 |
| Timesteps between subsequent upsamples, only used if f0_upsample = .true. More...
|
|
integer | cpp_input_module::f0_upsample_tile_size = 2 |
| Bin size on the velocity space grid in cells for f0 upsampling, only used if f0_upsample = .true. More...
|
|
integer | cpp_input_module::f0_upsample_cell_target = 1 |
| Target minimum # of ptl of all velocity cells for f0 upsampling, only used if f0_upsample = .true. More...
|
|
integer | cpp_input_module::f0_upsample_corner_cell_target = 3 |
| Target minimum # of ptl of all corner velocity cells for f0 upsampling, only used if f0_upsample = .true. More...
|
|
logical | cpp_input_module::f0_velocity_interp_use_pseudo_inv = .false. |
| Whether to use pseudo-inverse interpolation between particles and velocity grid. More...
|
|
logical | cpp_input_module::f0_velocity_interp_force_pseudo_inv = .false. |
| Whether to use pseudo-inverse velocity interpolation even for nodes where the velocity grid is not filled, only used if f0_velocity_interp_use_pseudo_inv = .true. More...
|
|
integer | cpp_input_module::f0_velocity_interp_pseudo_inv_order = 2 |
| 1 (linear) or 2 (quadratic) pseudo-inverse interpolation, only used if f0_velocity_interp_use_pseudo_inv = .true. More...
|
|
logical | cpp_input_module::f0_velocity_interp_pseudo_inv_particles_to_grid_petsc = .false. |
| Whether the particles -> velocity grid interpolation should be done without or with (probably slower) PETSc, only used if f0_velocity_interp_use_pseudo_inv = .true. More...
|
|
logical | cpp_input_module::f0_velocity_interp_pseudo_inv_delta_grid = .true. |
| Whether to only map delta-grid weights delta_w1(f_new-f_old) [if .true.] or full weights w1_new(f_new) [if .false.] with pseudo-inverse velocity interpolation, only used if f0_velocity_interp_use_pseudo_inv = .true.. If using the pseudo-inverse for coarse-graining it should be set to .false., otherwise the mapping has no effect. More...
|
|