korc_input Module


input_parameters



Uses

  • module~~korc_input~~UsesGraph module~korc_input korc_input module~korc_hpc korc_hpc module~korc_input->module~korc_hpc module~korc_types korc_types module~korc_input->module~korc_types module~korc_hpc->module~korc_types omp_lib omp_lib module~korc_hpc->omp_lib mpi mpi module~korc_hpc->mpi iso_c_binding iso_c_binding module~korc_types->iso_c_binding

Used by

  • module~~korc_input~~UsedByGraph module~korc_input korc_input module~korc_initialize korc_initialize module~korc_initialize->module~korc_input module~korc_spatial_distribution korc_spatial_distribution module~korc_initialize->module~korc_spatial_distribution module~korc_fields korc_fields module~korc_initialize->module~korc_fields module~korc_velocity_distribution korc_velocity_distribution module~korc_initialize->module~korc_velocity_distribution module~korc_avalanche korc_avalanche module~korc_avalanche->module~korc_input module~korc_profiles korc_profiles module~korc_avalanche->module~korc_profiles module~korc_avalanche->module~korc_fields module~korc_profiles->module~korc_input module~korc_interp korc_interp module~korc_profiles->module~korc_interp module~korc_fio korc_fio module~korc_fio->module~korc_input module~korc_energy_pdfs korc_energy_pdfs module~korc_energy_pdfs->module~korc_input module~korc_units korc_units module~korc_units->module~korc_input program~main main program~main->module~korc_input program~main->module~korc_initialize program~main->module~korc_profiles program~main->module~korc_fio program~main->module~korc_units module~korc_collisions korc_collisions program~main->module~korc_collisions program~main->module~korc_fields module~korc_ppusher korc_ppusher program~main->module~korc_ppusher module~korc_finalize korc_finalize program~main->module~korc_finalize program~main->module~korc_interp module~korc_simple_equilibrium_pdf korc_simple_equilibrium_pdf module~korc_simple_equilibrium_pdf->module~korc_input module~korc_collisions->module~korc_input module~korc_collisions->module~korc_profiles module~korc_collisions->module~korc_fio module~korc_collisions->module~korc_fields module~korc_collisions->module~korc_interp module~korc_experimental_pdf korc_experimental_pdf module~korc_experimental_pdf->module~korc_input module~korc_experimental_pdf->module~korc_fields module~korc_experimental_pdf->module~korc_interp module~korc_spatial_distribution->module~korc_input module~korc_spatial_distribution->module~korc_avalanche module~korc_spatial_distribution->module~korc_profiles module~korc_spatial_distribution->module~korc_experimental_pdf module~korc_spatial_distribution->module~korc_fields module~korc_fields->module~korc_input module~korc_fields->module~korc_interp module~korc_velocity_distribution->module~korc_avalanche module~korc_velocity_distribution->module~korc_energy_pdfs module~korc_velocity_distribution->module~korc_simple_equilibrium_pdf module~korc_velocity_distribution->module~korc_experimental_pdf module~korc_velocity_distribution->module~korc_fields module~korc_ppusher->module~korc_profiles module~korc_ppusher->module~korc_collisions module~korc_ppusher->module~korc_fields module~korc_ppusher->module~korc_interp module~korc_finalize->module~korc_profiles module~korc_finalize->module~korc_fields module~korc_interp->module~korc_fio

Contents

restart proceed load_balance reinit simulation_time snapshot_frequency restart_overwrite_frequency dt num_species minimum_particle_energy radiation GC_rad_model collisions LargeCollisions collisions_model bound_electron_model field_model profile_model magnetic_field_filename magnetic_field_directory magnetic_field_list time_slice rmax rmin zmax zmin outputs_list HDF5_error_handling FO_GC_compare orbit_model field_eval FokPlan SameRandSeed SC_E SC_E_add pchunk runaway ppp pinit q m spatial_distribution Ro PHIo Zo r_inner r_outter shear_factor sigmaR sigmaZ theta_gauss psi_max falloff_rate energy_distribution pitch_distribution Eno etao Eo_lims etao_lims Xtrace Spong_b Spong_w Spong_dlam dth dgam dR dZ Eo current_direction Bo minor_radius major_radius qa qo nR nZ nPHI E_profile E_dyn E_pulse E_width Ero rmn sigmamn Bfield B1field E1field dBfield axisymmetric_fields Bflux Bflux3D Efield Dim2x1t E_2x1t t0_2x1t ind0_2x1t ReInterp_2x1t res_double dim_1D dt_E_SC Ip_exp PSIp_lim PSIp_0 psip_conv MARS_AMP_Scale AORSA_AMP_Scale AORSA_freq AORSA_nmode Analytic_IWL ntiles circumradius useLCFS axisymmetric filename radius_profile ne_profile neo n_ne n_shelf a_ne n_REr0 n_tauion n_tauin n_tauout n_shelfdelay n_lamfront n_lamback n_lamshelf psiN_0 Te_profile Teo n_Te a_Te Zeff_profile Zeffo n_Zeff a_Zeff Te_sing Ti_sing ne_sing Zeff_sing dTau_sing p_therm ConserveLA Clog_model min_secRE sample_test pmin_scale energy_diffusion LAC_gam_resolution FP_bremsstrahlung pitch_diffusion ngrid1 Clog_const num_impurity_species Te_mult ne_mult Zo_mult Zj_mult nz_mult IZj_mult neut_prof max_pitch_angle_aval min_pitch_angle_aval dth_aval dp_aval dR_aval dZ_aval max_energy_aval min_energy_aval ne_aval Zeff_aval Epar_aval Te_aval E_expt Zeff_expt max_pitch_angle_expt min_pitch_angle_expt min_energy_expt max_energy_expt k_expt t_expt Bo_expt lambda_expt A_fact_expt filename_exp filename_Hollmann rho_ind Eo_Hollmann E_Hollmann sigma_E_Hollmann Zeff_Hollmann sigma_Z_Hollmann max_pitch_angle_Hollmann min_pitch_angle_Hollmann min_energy_Hollmann max_energy_Hollmann current_direction_Hollmann Bo_Hollmann lambda_Hollmann A_fact_Hollmann gam_min_from_col min_energy_gamma max_energy_gamma k_gamma t_gamma E_simple Zeff_simple max_pitch_angle_simple min_pitch_angle_simple Bo_simple lambda_simple

Variables

TypeVisibility AttributesNameInitial
logical, public :: restart =.FALSE.
logical, public :: proceed =.FALSE.
logical, public :: load_balance =.FALSE.
logical, public :: reinit =.FALSE.
real(kind=rp), public :: simulation_time =1.E-3
real(kind=rp), public :: snapshot_frequency =1.E-5
real(kind=rp), public :: restart_overwrite_frequency =1.E-1
real(kind=rp), public :: dt =1.E0
integer, public :: num_species =1
real(kind=rp), public :: minimum_particle_energy =1.0E5
logical, public :: radiation =.FALSE.
character(len=30), public :: GC_rad_model ='SDE'
logical, public :: collisions =.FALSE.
logical, public :: LargeCollisions =.FALSE.
character(len=30), public :: collisions_model ='SINGLE_SPECIES'
character(len=30), public :: bound_electron_model ='HESSLOW'
character(len=30), public :: field_model ='M3D_C1'
character(len=30), public :: profile_model ='M3D_C1'
character(len=150), public :: magnetic_field_filename ='C1.h5'
character(len=150), public :: magnetic_field_directory
character(len=150), public :: magnetic_field_list
integer, public :: time_slice =000
real(kind=rp), public :: rmax =1.60
real(kind=rp), public :: rmin =0.15
real(kind=rp), public :: zmax =1.65
real(kind=rp), public :: zmin =-1.65
character(len=75), public :: outputs_list ='{X,Y,V,B,E,g,eta,flagCon,flagCol,PSIp,ne}'
logical, public :: HDF5_error_handling =.TRUE.
logical, public :: FO_GC_compare =.FALSE.
character(len=30), public :: orbit_model ='GC'
character(len=30), public :: field_eval ='interp'
logical, public :: FokPlan =.FALSE.
logical, public :: SameRandSeed =.FALSE.
logical, public :: SC_E =.FALSE.
logical, public :: SC_E_add =.FALSE.
integer, public :: pchunk =1

plasma_species As these inputs are vectors with dimension given by the number of species indicate default values for num_species=1 below, after the input_parameter namelist is read


logical, public, DIMENSION(:), ALLOCATABLE:: runaway

Flag to decide whether a given electron is a runaway (runaway=T) or not (runaway=F).

integer, public, DIMENSION(:), ALLOCATABLE:: ppp
integer, public, DIMENSION(:), ALLOCATABLE:: pinit
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: q
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: m
character(len=30), public, DIMENSION(:), ALLOCATABLE:: spatial_distribution

String describing the type of initial spatial distribution for each electron species.

real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Ro

Radial position of the center of the electrons' initial spatial distribution.

real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: PHIo

Azimuthal position of the electrons' initial spatial distribution, in case of using a disk at a certain poloidal section.

real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Zo

Height of the center of the electrons' initial spatial distribution.

real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: r_inner
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: r_outter
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: shear_factor
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: sigmaR
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: sigmaZ
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: theta_gauss
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: psi_max

Maximum value of the argument of the 2D gaussian exponential, used for an indicator function that limits the region of MH sampling

real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: falloff_rate
character(len=30), public, DIMENSION(:), ALLOCATABLE:: energy_distribution
character(len=30), public, DIMENSION(:), ALLOCATABLE:: pitch_distribution
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Eno
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: etao
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Eo_lims
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: etao_lims
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Xtrace
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Spong_b
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Spong_w
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: Spong_dlam
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: dth
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: dgam
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: dR
real(kind=rp), public, DIMENSION(:), ALLOCATABLE:: dZ

analytical_fields_params


real(kind=rp), public :: Eo =0.
character(len=30), public :: current_direction ='ANTI-PARALLEL'
real(kind=rp), public :: Bo =2.2
real(kind=rp), public :: minor_radius =0.7
real(kind=rp), public :: major_radius =1.7
real(kind=rp), public :: qa =5
real(kind=rp), public :: qo =1.5
real(kind=rp), public :: nR =50
real(kind=rp), public :: nZ =50
real(kind=rp), public :: nPHI =50
character(len=30), public :: E_profile =''
real(kind=rp), public :: E_dyn =0.
real(kind=rp), public :: E_pulse =5.E-2
real(kind=rp), public :: E_width =2.5E-2
real(kind=rp), public :: Ero =0
real(kind=rp), public :: rmn =0.6
real(kind=rp), public :: sigmamn =1.E-2

externalPlasmaModel


logical, public :: Bfield =.FALSE.
logical, public :: B1field =.FALSE.
logical, public :: E1field =.FALSE.
logical, public :: dBfield =.FALSE.
logical, public :: axisymmetric_fields =.FALSE.
logical, public :: Bflux =.FALSE.
logical, public :: Bflux3D =.FALSE.
logical, public :: Efield =.FALSE.
logical, public :: Dim2x1t =.FALSE.
logical, public :: E_2x1t =.FALSE.
real(kind=rp), public :: t0_2x1t =1.405
integer, public :: ind0_2x1t =11
logical, public :: ReInterp_2x1t =.FALSE.
integer, public :: res_double =0
integer, public :: dim_1D =50
real(kind=rp), public :: dt_E_SC =1.E-7
real(kind=rp), public :: Ip_exp =2E5
real(kind=rp), public :: PSIp_lim =0.8446
real(kind=rp), public :: PSIp_0 =0.6
real(kind=rp), public :: psip_conv =1.0
real(kind=rp), public :: MARS_AMP_Scale =1.0
real(kind=rp), public :: AORSA_AMP_Scale =1.0
real(kind=rp), public :: AORSA_freq =0.0
real(kind=rp), public :: AORSA_nmode =0.0
character(len=30), public :: Analytic_IWL ='NONE'
integer, public :: ntiles =42
real(kind=rp), public :: circumradius =1.016
logical, public :: useLCFS =.FALSE.

plasmaProfiles


logical, public :: axisymmetric =.TRUE.
character(len=30), public :: filename ='JFIT_D3D_157576_t1580_1.h5'
real(kind=rp), public :: radius_profile =0.6
character(len=30), public :: ne_profile ='RE-EVO-PSIP-G'
real(kind=rp), public :: neo =4.E20
real(kind=rp), public :: n_ne =2.5E19
real(kind=rp), public :: n_shelf =2.5E19
real(kind=rp), public, DIMENSION(4):: a_ne =(/0.99713, 0.047037, 0.40023, -1.0466/)
real(kind=rp), public :: n_REr0 =0.4
real(kind=rp), public :: n_tauion =1.5e-2
real(kind=rp), public :: n_tauin =7.5e-3
real(kind=rp), public :: n_tauout =1.25e-2
real(kind=rp), public :: n_shelfdelay =4.e-2
real(kind=rp), public :: n_lamfront =0.005
real(kind=rp), public :: n_lamback =0.005
real(kind=rp), public :: n_lamshelf =0.225
real(kind=rp), public :: psiN_0 =0.8
character(len=30), public :: Te_profile ='FLAT'
real(kind=rp), public :: Teo =1.5
real(kind=rp), public :: n_Te =0.1
real(kind=rp), public, DIMENSION(4):: a_Te =(/1.0046, -0.076652, -2.6429, 1.7415/)
character(len=30), public :: Zeff_profile ='FLAT'
real(kind=rp), public :: Zeffo =1.
real(kind=rp), public :: n_Zeff =3.0
real(kind=rp), public, DIMENSION(4):: a_Zeff =(/1.0065, -0.12081, 0.02834, -0.11796/)

CollisionParamsSingleSpecies


real(kind=rp), public :: Te_sing =2.0
real(kind=rp), public :: Ti_sing =2.0
real(kind=rp), public :: ne_sing =4.E20
real(kind=rp), public :: Zeff_sing =1.
real(kind=rp), public :: dTau_sing =5.E-2
real(kind=rp), public :: p_therm =1._rp
logical, public :: ConserveLA =.TRUE.
character(len=30), public :: Clog_model ='HESSLOW'
character(len=30), public :: min_secRE ='CRIT'
logical, public :: sample_test =.FALSE.
real(kind=rp), public :: pmin_scale =1._rp
logical, public :: energy_diffusion =.TRUE.
character(len=30), public :: LAC_gam_resolution ='2EXP'
logical, public :: FP_bremsstrahlung =.TRUE.
logical, public :: pitch_diffusion =.TRUE.
integer, public :: ngrid1 =100
real(kind=rp), public :: Clog_const =20._rp

CollisionParamsMultipleSpecies


integer, public :: num_impurity_species =1
real(kind=rp), public :: Te_mult =2.0
real(kind=rp), public :: ne_mult =4.E20
real(kind=rp), public, DIMENSION(10):: Zo_mult =10.0
real(kind=rp), public, DIMENSION(10):: Zj_mult =1.0
real(kind=rp), public, DIMENSION(10):: nz_mult =4.E20
real(kind=rp), public, DIMENSION(10):: IZj_mult =15.7596
character(len=20), public :: neut_prof ='UNIFORM'

AvalancheGenerationPDF


real(kind=rp), public :: max_pitch_angle_aval =10.0
real(kind=rp), public :: min_pitch_angle_aval =0.0
real(kind=rp), public :: dth_aval =1.0
real(kind=rp), public :: dp_aval =10.0
real(kind=rp), public :: dR_aval =0.05
real(kind=rp), public :: dZ_aval =0.05
real(kind=rp), public :: max_energy_aval =60E6
real(kind=rp), public :: min_energy_aval =7.0E6
real(kind=rp), public :: ne_aval =8.5E18
real(kind=rp), public :: Zeff_aval =1.0
real(kind=rp), public :: Epar_aval =0.7427
real(kind=rp), public :: Te_aval =1.0

ExperimentalPDF


real(kind=rp), public :: E_expt =7.67042
real(kind=rp), public :: Zeff_expt =1.36632
real(kind=rp), public :: max_pitch_angle_expt =176.257
real(kind=rp), public :: min_pitch_angle_expt =158.25
real(kind=rp), public :: min_energy_expt =9.54997E6
real(kind=rp), public :: max_energy_expt =44.3241E6
real(kind=rp), public :: k_expt =11.89
real(kind=rp), public :: t_expt =0.65
real(kind=rp), public :: Bo_expt =2.2
real(kind=rp), public :: lambda_expt =4.0E-6
real(kind=rp), public :: A_fact_expt =1.
character(len=30), public :: filename_exp ='Exp_PDF.h5'

HollmannPDF


character(len=30), public :: filename_Hollmann ='Hollmann_PDF_HR.h5'
integer, public :: rho_ind =7
real(kind=rp), public :: Eo_Hollmann =24.56
real(kind=rp), public :: E_Hollmann =11.
real(kind=rp), public :: sigma_E_Hollmann =.2
real(kind=rp), public :: Zeff_Hollmann =5.
real(kind=rp), public :: sigma_Z_Hollmann =10.
real(kind=rp), public :: max_pitch_angle_Hollmann =40.
real(kind=rp), public :: min_pitch_angle_Hollmann =0.
real(kind=rp), public :: min_energy_Hollmann =1.E6
real(kind=rp), public :: max_energy_Hollmann =60.E6
character(len=30), public :: current_direction_Hollmann ='ANTICLOCKWISE'
real(kind=rp), public :: Bo_Hollmann =2.2
real(kind=rp), public :: lambda_Hollmann =4.0E-6
real(kind=rp), public :: A_fact_Hollmann =1.
logical, public :: gam_min_from_col =.FALSE.

EnergyGammaPDF


real(kind=rp), public :: min_energy_gamma =1.0E6
real(kind=rp), public :: max_energy_gamma =30.0E6
real(kind=rp), public :: k_gamma =11.89
real(kind=rp), public :: t_gamma =0.65

SimpleEquilibriumPDF


real(kind=rp), public :: E_simple =4.5
real(kind=rp), public :: Zeff_simple =4.0
real(kind=rp), public :: max_pitch_angle_simple =60.0
real(kind=rp), public :: min_pitch_angle_simple =0.0
real(kind=rp), public :: Bo_simple =2.0
real(kind=rp), public :: lambda_simple =890.0E-9

Subroutines

public subroutine read_namelist(params, infile, echo_in, outdir)

Read more…

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params
character(len=*), intent(in) :: infile
logical, intent(in) :: echo_in
character(len=*), intent(in) :: outdir

public subroutine rmcoment(fileold, filenew)

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: fileold
character(len=*), intent(in) :: filenew