Module containing neoclassical computations author: J Lion, IPP Greifswald Formulas used are described in: Beidler (2013), https://doi.org/10.1088/0029-5515/51/7/076001
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character, | public, | dimension(4) | :: | species | = | (/"e", "D", "T", "a"/) | |
real(kind=dp), | public, | dimension(4) | :: | densities | |||
real(kind=dp), | public, | dimension(4) | :: | temperatures | |||
real(kind=dp), | public, | dimension(4) | :: | dr_densities | |||
real(kind=dp), | public, | dimension(4) | :: | dr_temperatures | |||
real(kind=dp), | public, | dimension(no_roots) | :: | roots | = | 0 | |
real(kind=dp), | public, | dimension(no_roots) | :: | weights | = | 0 | |
real(kind=dp), | public, | dimension(4,no_roots) | :: | nu | = | 0 | |
real(kind=dp), | public, | dimension(4,no_roots) | :: | nu_star | = | 0 | |
real(kind=dp), | public, | dimension(4) | :: | nu_star_averaged | = | 0 | |
real(kind=dp), | public, | dimension(4,no_roots) | :: | vd | = | 0 | |
real(kind=dp), | public, | dimension(4,no_roots) | :: | KT | = | 0 | |
real(kind=dp), | public | :: | Er | = | 0.0 | ||
real(kind=dp), | public | :: | iota | = | 1.0d0 | ||
real(kind=dp), | public, | dimension(4,no_roots) | :: | D11_mono | = | 0 | |
real(kind=dp), | public, | dimension(4,no_roots) | :: | D11_plateau | = | 0 | |
real(kind=dp), | public, | dimension(:), allocatable | :: | nu_star_mono_input | |||
real(kind=dp), | public, | dimension(:), allocatable | :: | D11_star_mono_input | |||
real(kind=dp), | public, | dimension(:), allocatable | :: | D13_star_mono_input | |||
real(kind=dp), | public, | dimension(4) | :: | D111 | = | 0 | |
real(kind=dp), | public, | dimension(4) | :: | D112 | = | 0 | |
real(kind=dp), | public, | dimension(4) | :: | D113 | = | 0 | |
real(kind=dp), | public, | dimension(4) | :: | q_flux | = | 0 | |
real(kind=dp), | public, | dimension(4) | :: | Gamma_flux | = | 0 | |
real(kind=dp), | public, | dimension(no_roots) | :: | D31_mono | = | 0 | |
real(kind=dp), | public | :: | eps_eff | = | 1d-5 | ||
real(kind=dp), | public | :: | r_eff | = | 0 |
Calculates the energy on the given grid which is given by the gauss laguerre roots.
Calculates the Energy flux by neoclassical particle transport
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | dimension(4) | :: | densities | |||
real(kind=dp), | dimension(4) | :: | temperatures | |||
real(kind=dp), | dimension(4) | :: | dr_densities | |||
real(kind=dp), | dimension(4) | :: | dr_temperatures |
Calculates the Energy flux by neoclassicsal energy transport
Calculates the monoenergetic radial transport coefficients using epsilon effective.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | eps_eff |
Calculates the plateau transport coefficients (D11_star sometimes)
Interpolates the D11 coefficients on the Gauss laguerre grid (This method is unused as of now, but is needed when taking D11 explicitely as input)
Calculates the drift velocities
Calculates the normalized collision frequency
Calculates the collision frequency
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp) | :: | iota |
Calculates the integrated radial transport coefficients (index 1) It uses Gauss laguerre integration https://en.wikipedia.org/wiki/Gauss%E2%80%93Laguerre_quadrature
Calculates the integrated radial transport coefficients (index 2) It uses Gauss laguerre integration https://en.wikipedia.org/wiki/Gauss%E2%80%93Laguerre_quadrature
Calculates the integrated radial transport coefficients (index 3) It uses Gauss laguerre integration https://en.wikipedia.org/wiki/Gauss%E2%80%93Laguerre_quadrature
Calculates the collision frequency
Initialise module variables
Constructor of the neoclassics object from the effective radius, epsilon effective and iota only.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | r_eff | |||
real(kind=dp), | intent(in) | :: | eps_eff | This should be called as the standard constructor |
||
real(kind=dp), | intent(in) | :: | iota | This should be called as the standard constructor |
Initializes the profile_values object from PROCESS' parabolic profiles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | rho | |||
real(kind=dp), | intent(out), | dimension(4) | :: | densities | ||
real(kind=dp), | intent(out), | dimension(4) | :: | temperatures | ||
real(kind=dp), | intent(out), | dimension(4) | :: | dr_densities | ||
real(kind=dp), | intent(out), | dimension(4) | :: | dr_temperatures |
Sets the gauss Laguerre roots and weights for 30 discretization points. Used for integration in this module. roots
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out), | dimension(no_roots) | :: | roots |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out), | dimension(no_roots) | :: | weights |