coronal_impurity_t Derived Type

type, public :: coronal_impurity_t

Class for radiation rate coefficients


Contents


Components

Type Visibility Attributes Name Initial
real(kind=GP), public, allocatable, dimension(:) :: logte_tab

Tabulated logarithm of the electron temperature in eV

real(kind=GP), public, allocatable, dimension(:) :: log_radiation_tab

Tabulated logarithm of the normalised radiation rate coefficient


Type-Bound Procedures

procedure, public :: create => create_radrate_table

  • public subroutine create_radrate_table(self, file_name, tab_length, te_ref, w_ref, c_imp)

    Create rate coefficient object from data file

    Arguments

    Type IntentOptional Attributes Name
    class(coronal_impurity_t), intent(inout) :: self

    Instance of class

    character(len=*), intent(in) :: file_name

    Name of atomic data file to read coefficients from

    integer, intent(in) :: tab_length

    Length of the data set

    real(kind=GP), intent(in) :: te_ref

    Reference for electron temperature

    real(kind=GP), intent(in) :: w_ref

    Reference for rate coefficient

    real(kind=GP), intent(in) :: c_imp

    Impurity concentration (fraction of electron density)

procedure, public :: eval => eval_radrate

  • public function eval_radrate(self, te, l)

    Evaluate the normalized rate coefficient through interpolation

    Arguments

    Type IntentOptional Attributes Name
    class(coronal_impurity_t), intent(in) :: self

    Instance of class

    real(kind=GP), intent(in), dimension(:) :: te

    Electron temperature

    integer, intent(in) :: l

    Array index

    Return Value real(kind=gp)