Module for new impurity radiation calculations author: H Lux, CCFE, Culham Science Centre author: R Kemp, CCFE, Culham Science Centre author: P J Knight, CCFE, Culham Science Centre N/A This module contains routines for calculating the bremsstrahlung and line radiation of impurities including H and He, assuming a coronal equilibrium.
The model is only valid for T > 30 eV. For some impurity species there is also an upper temperature limit of T < 40 keV. Johner, Fusion Science and Technology 59 (2011), pp 308-349 Sertoli, private communication Kallenbach et al., Plasma Phys. Control. Fus. 55(2013) 124041 (It is recommended to turn on constraint eqn.17 with iteration variable 28: fradpwr.)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | nimp | = | 14 | nimp /14/ FIX : number of ion species in impurity radiation model |
real(kind=dp), | public | :: | coreradius | coreradius /0.6/ : normalised radius defining the 'core' region |
|||
real(kind=dp), | public | :: | coreradiationfraction | coreradiationfraction /1.0/ : fraction of radiation from 'core' region that is subtracted from the loss power fimp(nimp) /1.0,0.1,0.02,0.0,0.0,0.0,0.0,0.0,0.0016,0.0,0.0,0.0,0.0,0.0/ : impurity number density fractions relative to electron density |
|||
real(kind=dp), | public, | dimension(nimp) | :: | fimp | |||
character(len=2), | public, | dimension(nimp) | :: | imp_label | imp_label(nimp) : impurity ion species names:
|
||
integer, | private, | parameter | :: | all_array_hotfix_len | = | 200 | |
character(len=2), | public, | dimension(nimp) | :: | impurity_arr_Label | |||
integer, | public, | dimension(nimp) | :: | impurity_arr_Z | |||
real(kind=dp), | public, | dimension(nimp) | :: | impurity_arr_amass | |||
real(kind=dp), | public, | dimension(nimp) | :: | impurity_arr_frac | |||
integer, | public, | dimension(nimp) | :: | impurity_arr_len_tab | |||
real(kind=dp), | public, | dimension(nimp, all_array_hotfix_len) | :: | impurity_arr_Temp_keV | |||
real(kind=dp), | public, | dimension(nimp, all_array_hotfix_len) | :: | impurity_arr_Lz_Wm3 | |||
real(kind=dp), | public, | dimension(nimp, all_array_hotfix_len) | :: | impurity_arr_Zav | |||
logical, | public | :: | toolow | Used for reporting error in function pimpden |
Returns the index of the element in the impurity array with a given name author: P J Knight, CCFE, Culham Science Centre element_label : input string : impurity name This function returns the index of the element in the impurity array with the corresponding name. None
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | element_label |
Electron temperature dependent average atomic number author: H Lux, CCFE, Culham Science Centre imp_element : input imp_dat : impurity element te : input real : electron temperature (keV) This routine returns the interpolated average atomic charge for a given electron temperature.
The Zav versus temperature data is interpolated from lookup tables from the ADAS data base provided by Martin O'Mullane. None
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | imp_element_index | |||
real(kind=dp), | intent(in) | :: | te |
Initialise module variables