Module containing the definition of KORC derived types and KORC variables, the building blocks of the code.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | is | = | KIND(INT(1, 1)) | Definition of 1 Byte (8 bits) Fortran KORC integer type. |
integer, | public, | parameter | :: | ip | = | KIND(INT(1, 8)) | Definition of 8 Bytes (64 bits) Fortran KORC integer type. |
integer, | public, | parameter | :: | idef | = | KIND(1) | Definition of the default KORC integer type on the system where KORC is compiled. |
integer, | public, | parameter | :: | rdef | = | KIND(1.0) | Definition of the default KORC real type on the system where KORC is compiled. |
integer, | public, | parameter | :: | rp | = | KIND(0.d0) | Definition of the KORC double precision real type. |
integer, | public, | parameter | :: | rp | = | KIND(1.0) | Definition of the KORC single precision real type. |
real(kind=rp), | public, | parameter | :: | korc_zero | = | 1.0E-15 | Definition of the zero in KORC. |
integer, | public, | parameter | :: | MAX_STRING_LENGTH | = | 1000 | Default length of a KORC_STRING variable. |
integer, | public, | parameter | :: | default_unit_open | = | 101 | Default file unit for opening and reading from an external text file. |
integer, | public, | parameter | :: | default_unit_write | = | 201 | Default file unit for opening and writing to external an external text file. |
integer, | public, | parameter | :: | output_unit_write | = | 202 | Default file unit for opening and writing to external an external text file. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MAX_STRING_LENGTH), | public | :: | str |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | R | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | PHI | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | Z | component of the vector field variable. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | X | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Y | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Z | component of the vector field variable. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | R | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | PHI | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Z | component of the vector field variable. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | R | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | PHI | component of the vector field variable. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Z | component of the vector field variable. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nmpi | Number of MPI processes. |
|||
integer, | public | :: | nmpi_prev | ||||
integer, | public | :: | rank | Rank in WORLD COMMON communicator. |
|||
integer, | public | :: | rank_topo | Rank in mpi_topo communicator |
|||
integer, | public | :: | mpi_topo | MPI communicator for a certain topology. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public | :: | time | ||||
real(kind=rp), | public | :: | time_r | ||||
real(kind=rp), | public | :: | velocity | Characteristic velocity. This is fixed to the speed of . |
|||
real(kind=rp), | public | :: | length | Characteristic length scale calculated as times the relativistic time scale. |
|||
real(kind=rp), | public | :: | mass | Characteristic particle mass. This is equal to the electron mass . |
|||
real(kind=rp), | public | :: | charge | Characteristic particle charge. This is equal to the electron charge . |
|||
real(kind=rp), | public | :: | density | Characteristic particle density. This is equal to , with the characteristic length. |
|||
real(kind=rp), | public | :: | Eo | Characteristic electric field . Usually at the magnetic axis. |
|||
real(kind=rp), | public | :: | Bo | Characteristic magnetic field . Usually at the magnetic axis. |
|||
real(kind=rp), | public | :: | energy | Characteristic energy. This is equal to . |
|||
real(kind=rp), | public | :: | pressure | Characteristic pressure. |
|||
real(kind=rp), | public | :: | temperature | Characteristic plasma temperature (Joules). This is equal to . |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MAX_STRING_LENGTH), | public | :: | path_to_inputs | Absolute path to KORC's input file. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | path_to_outputs | Absolute path to the outputs' folder. |
|||
integer, | public | :: | num_omp_threads | Number of open MP threads per MPI process used in the simulation. |
|||
logical, | public | :: | restart | Flag to indicate if the simulations proceeds (restart=T) or not (restart=F). Restart simulation that exited before simulation_time reached. |
|||
logical, | public | :: | proceed | Flag to indicate if the simulations continues (proceed=T) or not (proceed=F). Append simulation results after previous simulation_time reached. |
|||
logical, | public | :: | load_balance | ||||
logical, | public | :: | reinit | Flag to begin a new simulation, reinitializing from restart file state |
|||
real(kind=rp), | public | :: | simulation_time | Total simulation time in seconds. |
|||
real(kind=rp), | public | :: | snapshot_frequency | Time between snapshots in time of the simulation. |
|||
real(kind=rp), | public | :: | restart_overwrite_frequency | Time between overwrites of restart file in time of the simulation. |
|||
real(kind=rp), | public | :: | dt | Time step in the simulation as a fraction of the relativistic electron gyro-period . |
|||
real(kind=rp), | public | :: | time | = | 0.0_rp | Current physical time in the simulation. |
|
integer(kind=ip), | public | :: | ito | = | 0_ip | Initial time iteration in the simulation, this is different from zero in case is a restarting simulation. |
|
integer(kind=ip), | public | :: | it | = | 0_ip | Current time iteration in the simulation, this is different from zero in case is a restarting simulation. |
|
real(kind=rp), | public | :: | init_time | = | 0.0_rp | Time at the beginning of a run with proceed=T |
|
integer(kind=ip), | public | :: | t_steps | ||||
integer(kind=ip), | public | :: | prev_iter_2x1t | Number of time steps needed for evolving the electrons up to "simulation_time". |
|||
integer(kind=ip), | public | :: | t_skip | ||||
integer(kind=ip), | public | :: | t_it_SC | = | 1_ip | ||
integer(kind=ip), | public | :: | output_cadence | ||||
integer(kind=ip), | public | :: | coll_per_dump | ||||
integer(kind=ip), | public | :: | orbits_per_coll | ||||
real(kind=rp), | public | :: | coll_per_dump_dt | Time iteration offset used to decide when the outputs are generated. |
|||
integer(kind=ip), | public | :: | restart_output_cadence | Time iteration offset used to decide when the restart files are generated. |
|||
integer(kind=ip), | public | :: | coll_cadence | ||||
integer(kind=ip), | public | :: | num_snapshots | Number of snapshots in time for generating the output files. |
|||
integer, | public | :: | num_species | Number of different populations of simulated relativistic electrons in KORC. |
|||
real(kind=rp), | public | :: | minimum_particle_energy | Minimum allowed energy of simulated electrons. |
|||
real(kind=rp), | public | :: | minimum_particle_g | Minimum allowed relativistic factor of simulated electrons. |
|||
logical, | public | :: | radiation | Flag to indicate if synchrotron radiation losses are included (radiation=T) or not (radiation=F). |
|||
logical, | public | :: | collisions | Flag to indicate if collisionsare included (collisions=T) or not (collisions=F). |
|||
logical, | public | :: | LargeCollisions | ||||
character(len=MAX_STRING_LENGTH), | public | :: | GC_rad_model | ||||
character(len=MAX_STRING_LENGTH), | public | :: | collisions_model | String with the name of the collisions model to be used in the simulation. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | bound_electron_model | ||||
character(len=MAX_STRING_LENGTH), | public | :: | field_model | ||||
character(len=MAX_STRING_LENGTH), | public | :: | profile_model | String with the name of the model for the fields and plasma profiles. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | magnetic_field_filename | ||||
character(len=MAX_STRING_LENGTH), | public | :: | magnetic_field_directory | ||||
character(len=MAX_STRING_LENGTH), | public | :: | magnetic_field_list | ||||
character(len=MAX_STRING_LENGTH), | public, | DIMENSION(:), ALLOCATABLE | :: | magnetic_field_filenames | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | time_of_filenames | String with the name of the model for the fields and plasma profiles. |
||
character(len=MAX_STRING_LENGTH), | public, | DIMENSION(:), ALLOCATABLE | :: | outputs_list | List of electron variables to include in the outputs. |
||
integer, | public | :: | HDF5_error_handling | Flag to indicate whether we allow HDF5 to show warnings during runtime (HDF5_error_handling=1) or not (HDF5_error_handling=0) |
|||
type(KORC_MPI), | public | :: | mpi_params | An instance of the KORC_MPI derived type. |
|||
type(CHARCS_PARAMS), | public | :: | cpp | An instance of the CHARCS_PARAMS derived type. |
|||
logical, | public | :: | FO_GC_compare | ||||
character(len=MAX_STRING_LENGTH), | public | :: | orbit_model | String with the name of the orbit model ('FO' or 'GC'). |
|||
character(len=MAX_STRING_LENGTH), | public | :: | field_eval | String with the name of the field evaluation method for analytical fields ('interp' or 'eqn') |
|||
logical, | public | :: | GC_coords | Flag to get_fields to control whether cartesian to cylindrical coordinate transformation needs to be performed |
|||
logical, | public | :: | FokPlan | Flag to decouple spatial-dependence of evolution |
|||
logical, | public | :: | SameRandSeed | ||||
logical, | public | :: | SC_E | ||||
logical, | public | :: | SC_E_add | ||||
integer, | public | :: | time_slice | ||||
real(kind=rp), | public | :: | rmax | ||||
real(kind=rp), | public | :: | rmin | ||||
real(kind=rp), | public | :: | zmax | ||||
real(kind=rp), | public | :: | zmin | ||||
integer, | public | :: | pchunk | number of particles per vectorized chunk |
|||
integer, | public | :: | num_impurity_species | ||||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Zj | |||
real(kind=rp), | public | :: | gam_min |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | X | Cartesian coordinates of the electrons' position. dim(X) = (3,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | V | Cartesian components of the electrons' velocity. dim(V) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Rgc | Cartesian coordinates of the electrons' guiding-center position. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Y | Coordinates of the electrons' position in cylindrical or toroidal coordinates. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Y0 | Placeholder coordinates of the electrons' position in cylindrical coordinates for GC orbit model. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | V0 | Placeholder of the electrons' parallel momentum for the GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | E | Cartesian components of the electric field felt by each electron. dim(E) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | B | Cartesian components of the magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | PSI_P | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | BR | Cartesian components of the gradient of the R-component of the magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | BPHI | Cartesian components of the gradient of the PHI-component of the magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | BZ | Cartesian components of the gradient of the Z-component of the magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | gradB | Cylindrical components of the gradient of magnitude of magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | curlb | Cylindrical components of the curl of the magnetic field unit vector felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | RHS | RHS of equations of motion for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k1 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k2 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k3 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k4 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k5 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k6 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | ne | Electron density seen by each electron. dim(ne) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nimp | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | ni | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Te | Electron temperature seen by each electron. dim(Te) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Zeff | Zeff seen by each electron. dim(Zeff) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | g | Instantaneous relativistic factor of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | eta | Instantaneous pitch angle of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | mu | Magnetic moment of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Prad | Instantaneous radiated power by each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Pin | Instantaneous input power of each electron due to the electric field acceleration. |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagCon | Flag for each particle to decide whether it is contained |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagCol | Flag for each particle to decide whether it is part of the high energy population |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagRE | Flag for each particle to decide whether it is initialized |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | AUX | An auxiliary scalar variable for each electron. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | wt | Weight of each electron. This is used when sampling weighted PDFs and in the synthetic camera diagnostic. |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | initLCFS | |||
type(C_PTR), | public, | DIMENSION(:), ALLOCATABLE | :: | hint | Hint for M3D_C1 interpolation. |
||
logical, | public | :: | cart |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(PARTICLES), | public | :: | vars | An instance of the PARTICLES derived type. |
|||
logical, | public | :: | runaway | Flag to decide whether a given electron is a runaway (runaway=T) or not (runaway=F). |
|||
character(len=MAX_STRING_LENGTH), | public | :: | spatial_distribution | String describing the type of initial spatial distribution for each electron species. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | energy_distribution | String describing the type of initial energy distribution for each electron species. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | pitch_distribution | String describing the type of initial pitch-angle distribution for each electron species. |
|||
real(kind=rp), | public | :: | Eo | Initial energy of each electron species in case of using an initial mono-energetic distribution. |
|||
real(kind=rp), | public | :: | go | Corresponding relativisitc factor of each electron species in case of using an initial mono-energetic distribution. |
|||
real(kind=rp), | public | :: | etao | Initial pitch-angle of each electron species in case of using an initial mono-pitch-angle distribution. |
|||
real(kind=rp), | public, | DIMENSION(2) | :: | Eo_lims | Minimum and maximum energy limits of a given initial non-mono-energetic distribution. |
||
real(kind=rp), | public, | DIMENSION(2) | :: | etao_lims | Minimum and maximum pitch-angle limits of a given initial non-mono-pitch-angle distribution. |
||
real(kind=rp), | public | :: | wc | The mean electron cyclotron frequency of each electron species. |
|||
real(kind=rp), | public | :: | wc_r | The mean relativistic electron cyclotron frequency of each electron species. |
|||
real(kind=rp), | public | :: | q | Charge of each species. |
|||
real(kind=rp), | public | :: | m | Mass of each species. |
|||
integer, | public | :: | ppp | Number of computational particles used to simulate each electron species. |
|||
integer, | public | :: | pinit | Number of computational particles initialized for each electron species to give room for sources of additional electrons |
|||
integer, | public | :: | pRE | ||||
real(kind=rp), | public | :: | Ro | Radial position of the center of the electrons' initial spatial distribution. |
|||
real(kind=rp), | public | :: | PHIo | Azimuthal position of the electrons' initial spatial distribution, in case of using a disk at a certain poloidal section. |
|||
real(kind=rp), | public | :: | Zo | Height of the center of the electrons' initial spatial distribution. |
|||
real(kind=rp), | public | :: | r_inner | Minimum minor radius of the electrons' initial spatial distribution. |
|||
real(kind=rp), | public | :: | r_outter | Maximum minor radius of the electrons' initial spatial distribution. |
|||
real(kind=rp), | public | :: | falloff_rate | Exponential falloff or standard deviation of a non-uniform radial distribution of electrons. |
|||
real(kind=rp), | public | :: | shear_factor | Shear factor used to generate an initial spatial distribution with an elliptic poloidal cross section. |
|||
real(kind=rp), | public | :: | sigmaR | Variance of the first dimension of a 2D Gaussian, spatial distribution function |
|||
real(kind=rp), | public | :: | sigmaZ | Variance of the second dimension of a 2D Gaussian, spatial distribution function |
|||
real(kind=rp), | public | :: | theta_gauss | Angle of counter-clockwise rotation (in degrees) of 2D Gaussian distribution relative to R,Z |
|||
real(kind=rp), | public | :: | 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 | :: | Spong_b | ||||
real(kind=rp), | public | :: | Spong_w | ||||
real(kind=rp), | public | :: | Spong_dlam | ||||
real(kind=rp), | public | :: | dth | ||||
real(kind=rp), | public | :: | dgam | ||||
real(kind=rp), | public | :: | dR | ||||
real(kind=rp), | public | :: | dZ | ||||
real(kind=rp), | public, | DIMENSION(3) | :: | Xtrace | Initial position in Cartesian coordinates for tracer particle |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public | :: | Bo | Magnitude of the toroidal magnetic field . |
|||
real(kind=rp), | public | :: | a | Plasma edge as measured from the magnetic axis. |
|||
real(kind=rp), | public | :: | Ro | Radial position of the magnetic axis |
|||
real(kind=rp), | public | :: | qa | Safety factor at the plasma edge. |
|||
real(kind=rp), | public | :: | qo | Safety factor at the magnetic axis . |
|||
real(kind=rp), | public | :: | lambda | parameter of . |
|||
real(kind=rp), | public | :: | Bpo | @deprecated Parameter not used anymore. |
|||
real(kind=rp), | public | :: | Bp_sign | Sign of . This depends on current_direction, Bp_sign=1 for current_direction='PARALLEL', and Bp_sign=-1 for current_direction='ANTI-PARALLEL'. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | current_direction | Direction of plasma current: PARALLEL or ANTI-PARALLEL to the toroidal magnetic field. |
|||
real(kind=rp), | public | :: | Ero | radial electric field amplitude. |
|||
real(kind=rp), | public | :: | rmn | mode location rmn |
|||
real(kind=rp), | public | :: | sigmamn | mode width sigmamn |
Derived type with the cylindrical coordinates of the grid nodes at which the pre-computed plasma profiles and fields are known.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | R | Radial grid. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | PHI | Azimuthal grid. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Z | Z grid. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(A_FIELD), | public | :: | AB | An instance of the KORC derived data type A_FIELD. |
|||
type(V_FIELD_3D), | public | :: | E_3D | KORC 3-D vector field of the pre-computed electric field. |
|||
type(V_FIELD_3D), | public | :: | B_3D | ||||
type(V_FIELD_3D), | public | :: | dBdR_3D | ||||
type(V_FIELD_3D), | public | :: | dBdPHI_3D | ||||
type(V_FIELD_3D), | public | :: | dBdZ_3D | KORC 3-D vector field of the pre-computed magnetic field. |
|||
type(V_FIELD_2D), | public | :: | E_2D | KORC 2-D vector field of the pre-computed electric field. |
|||
type(V_FIELD_2D), | public | :: | B_2D | ||||
type(V_FIELD_2D), | public | :: | B1Re_2D | ||||
type(V_FIELD_2D), | public | :: | B1Im_2D | ||||
type(V_FIELD_2DX), | public | :: | B1Re_2DX | ||||
type(V_FIELD_2DX), | public | :: | E1Im_2DX | ||||
type(V_FIELD_2DX), | public | :: | E1Re_2DX | ||||
type(V_FIELD_2DX), | public | :: | B1Im_2DX | ||||
type(V_FIELD_2D), | public | :: | dBdR_2D | ||||
type(V_FIELD_2D), | public | :: | dBdPHI_2D | ||||
type(V_FIELD_2D), | public | :: | dBdZ_2D | KORC 3-D vector field of the pre-computed magnetic field. |
|||
type(V_FIELD_2D), | public | :: | gradB_2D | ||||
type(V_FIELD_3D), | public | :: | gradB_3D | KORC 3-D vector field of the gradient of the magnitude of the pre-computed magnetic field. |
|||
type(V_FIELD_2D), | public | :: | curlb_2D | ||||
type(V_FIELD_3D), | public | :: | curlb_3D | KORC 3-D vector field of the curl of the unit vector in the direction of the pre-computed magnetic field. |
|||
type(V_FIELD_1D), | public | :: | E_SC_1D | ||||
type(V_FIELD_1D), | public | :: | J0_SC_1D | ||||
type(V_FIELD_1D), | public | :: | J1_SC_1D | ||||
type(V_FIELD_1D), | public | :: | J2_SC_1D | ||||
type(V_FIELD_1D), | public | :: | J3_SC_1D | ||||
type(V_FIELD_1D), | public | :: | A1_SC_1D | ||||
type(V_FIELD_1D), | public | :: | A2_SC_1D | ||||
type(V_FIELD_1D), | public | :: | A3_SC_1D | ||||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | r_1D | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | PSIP_1D | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | dMagPsiSqdPsiP | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | ddMagPsiSqdPsiPSq | |||
type(MESH), | public | :: | X | An instance of the KORC derived type MESH. |
|||
character(len=MAX_STRING_LENGTH), | public | :: | E_model | Name for dynamical, analytic, electric field model to be added to |
|||
real(kind=rp), | public | :: | E_dyn | ||||
real(kind=rp), | public | :: | E_pulse | ||||
real(kind=rp), | public | :: | E_width | ||||
character(len=30), | public | :: | E_profile | ||||
real(kind=rp), | public | :: | PSIP_min | ||||
real(kind=rp), | public | :: | PSIp_lim | ||||
real(kind=rp), | public | :: | PSIp_0 | ||||
real(kind=rp), | public | :: | AMP | ||||
real(kind=rp), | public | :: | MARS_AMP_Scale | ||||
real(kind=rp), | public | :: | AORSA_AMP_Scale | ||||
real(kind=rp), | public | :: | AORSA_freq | ||||
real(kind=rp), | public | :: | AORSA_nmode | interpolated E field |
|||
character(len=30), | public | :: | Analytic_IWL | ||||
integer, | public | :: | ntiles | ||||
real(kind=rp), | public | :: | circumradius | ||||
integer, | public | :: | res_double | ||||
integer, | public, | DIMENSION(3) | :: | dims | Dimensions of the KORC vector field. dims=(number of grid nodes along , number of grid nodes along , number of grid nodes along ). |
||
integer, | public | :: | dim_1D | ||||
integer, | public | :: | subcycle_E_SC | ||||
real(kind=rp), | public | :: | dt_E_SC | ||||
real(kind=rp), | public | :: | Ip_exp | ||||
real(kind=rp), | public | :: | Ip0 | ||||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | PSIp | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | PSIp_FS | |||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | PSIp3D | 2-D array for storing the data of the poloidal magnetic flux. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | FLAG2D | 2-D array defining the simulation domain where pre-computed data exist. |
||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | FLAG3D | 3-D array defining the simulation domain where pre-computed data exist. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | LCFS2D | |||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | LCFS3D | |||
real(kind=rp), | public | :: | Eo | Characteristic electric field. |
|||
real(kind=rp), | public | :: | Bo | Characteristic magnetic field. |
|||
real(kind=rp), | public | :: | Ro | Radial position of the magnetic axis. |
|||
real(kind=rp), | public | :: | Zo | position of the magnetic axis. |
|||
logical, | public | :: | Bfield | Flag to indicate whether a pre-computed magnetic field will be used (Bfield=T) or not (Bfield=F). |
|||
logical, | public | :: | dBfield | Flag to indicate whether a pre-computed magnetic field will be used (Bfield=T) or not (Bfield=F). |
|||
logical, | public | :: | Bflux | ||||
logical, | public | :: | Bflux3D | ||||
logical, | public | :: | B1field | ||||
logical, | public | :: | E1field | Flag to indicate whether a pre-computed poloidal magnetic flux will be used (Bflux=T) or not (Bflux=F). |
|||
logical, | public | :: | Efield | Flag to indicate whether a pre-computed electric field will be used (Efield=T) or not (Efield=F). |
|||
logical, | public | :: | Bfield_in_file | Flag to indicate if a pre-computed magnetic field is in the input file. |
|||
logical, | public | :: | dBfield_in_file | ||||
logical, | public | :: | B1field_in_file | ||||
logical, | public | :: | E1field_in_file | Flag to indicate if a pre-computed magnetic field is in the input file. |
|||
logical, | public | :: | Bflux_in_file | Flag to indicate if a pre-computed poloidal magnetic flux is in the input file. |
|||
logical, | public | :: | Efield_in_file | Flag to indicate if a pre-computed electric field is in the input file. |
|||
logical, | public | :: | axisymmetric_fields | Flag to indicate if the pre-computed fields are axisymmetric. |
|||
logical, | public | :: | Dim2x1t | ||||
logical, | public | :: | E_2x1t | ||||
logical, | public | :: | ReInterp_2x1t | ||||
real(kind=rp), | public | :: | t0_2x1t | ||||
integer, | public | :: | ind0_2x1t | ||||
integer, | public | :: | ind_2x1t | ||||
integer, | public | :: | isrc | ||||
integer(kind=C_INT), | public | :: | FIO_B | An M3D-C1 magnetic field. |
|||
integer(kind=C_INT), | public | :: | FIO_E | An M3D-C1 Electric field. |
|||
integer(kind=C_INT), | public | :: | FIO_A | An M3D-C1 vector potential. |
|||
real(kind=c_double), | public | :: | time0 | ||||
real(kind=c_double), | public | :: | time1 | ||||
real(kind=rp), | public | :: | psip_conv | ||||
logical, | public | :: | useLCFS |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(MESH), | public | :: | X | An instance of the KORC derived data type MESH. |
|||
real(kind=rp), | public | :: | a | Plasma radius as measured from the magnetic axis |
|||
real(kind=rp), | public | :: | R0 | ||||
real(kind=rp), | public | :: | Z0 | ||||
real(kind=rp), | public | :: | R0_RE | ||||
real(kind=rp), | public | :: | Z0_RE | ||||
integer, | public, | DIMENSION(3) | :: | dims | Dimensions of the arrays containing the pre-computed profiles data. dims=(number of grid nodes along , number of grid nodes along , number of grid nodes along ). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | FLAG2D | 2-D array defining the simulation domain where pre-computed data exist. |
||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | FLAG3D | 3-D array defining the simulation domain where pre-computed data exist. |
||
real(kind=rp), | public | :: | n_ne | used in of the electron density profile. |
|||
real(kind=rp), | public | :: | n_Te | used in of the electron temperature profile. |
|||
real(kind=rp), | public | :: | n_Zeff | used in of the profile. |
|||
real(kind=rp), | public | :: | n_REr0 | = | 0._rp | ||
real(kind=rp), | public | :: | n_tauion | = | 0._rp | ||
real(kind=rp), | public | :: | n_tauin | = | 0._rp | ||
real(kind=rp), | public | :: | n_tauout | = | 0._rp | ||
real(kind=rp), | public | :: | n_shelfdelay | = | 0._rp | ||
real(kind=rp), | public | :: | n_lamfront | = | 0._rp | ||
real(kind=rp), | public | :: | n_lamback | = | 0._rp | ||
real(kind=rp), | public | :: | n_lamshelf | = | 0._rp | ||
real(kind=rp), | public | :: | n_shelf | = | 0._rp | ||
real(kind=rp), | public | :: | psiN_0 | = | 1._rp | ||
real(kind=rp), | public, | DIMENSION(4) | :: | a_ne | Coefficients of the polynomial electron density profile. See detailed description above, a_ne=(,,,). |
||
real(kind=rp), | public, | DIMENSION(4) | :: | a_Te | Coefficients of the polynomial electron temperature profile. See detailed description above, a_ne=(,,,). |
||
real(kind=rp), | public, | DIMENSION(4) | :: | a_Zeff | Coefficients of the profile. See detailed description above, a_ne=(,,,). |
||
character(len=MAX_STRING_LENGTH), | public | :: | Zeff_profile | String containing the type of profile to be used in the simulation. |
|||
real(kind=rp), | public | :: | Zeffo | at the magnetic axis. |
|||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | Zeff_3D | 3-D array for keeping the pre-computed data of the profile. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Zeff_2D | 2-D array for keeping the pre-computed data of the profile. |
||
character(len=MAX_STRING_LENGTH), | public | :: | ne_profile | String containing the type of electron density profile to be used in the simulation. |
|||
real(kind=rp), | public | :: | neo | Electron density at the magnetic axis |
|||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | ne_3D | 3-D array for keeping the pre-computed data of the electron density profile. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | ne_2D | 2-D array for keeping the pre-computed data of the electron density profile. |
||
character(len=MAX_STRING_LENGTH), | public | :: | Te_profile | String containing the type of electron temperature profile to be used in the simulation. |
|||
real(kind=rp), | public | :: | Teo | Electron temperature at the magnetic axis |
|||
real(kind=rp), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | Te_3D | 3-D array for keeping the pre-computed data of the electron density profile. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Te_2D | 2-D array for keeping the pre-computed data of the electron density profile. |
||
character(len=MAX_STRING_LENGTH), | public | :: | filename | Full path to the HDF5 file containing the pre-computed plasma profiles. |
|||
logical, | public | :: | axisymmetric | Flag to indicate if the plasma profiles are axisymmetric. |
|||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | RHON | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nRE_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nAr0_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nAr1_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nAr2_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nAr3_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nD_2D | |||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nD1_2D | |||
integer(kind=C_INT), | public | :: | FIO_ne | ||||
integer(kind=C_INT), | public | :: | FIO_ni | ||||
integer(kind=C_INT), | public | :: | FIO_te | ||||
integer(kind=C_INT), | public, | DIMENSION(:), ALLOCATABLE | :: | FIO_nimp | |||
integer(kind=C_INT), | public | :: | FIO_zeff |