Eich critical separatrix density model: Added for issue 558 author: P B Lloyd, CCFE, Culham Science Centre args : output structure : residual error; constraint value; residual error in physical units; output string; units string Eich critical separatrix density model Added for issue 558 with ref to http://iopscience.iop.org/article/10.1088/1741-4326/aaa340/pdf and hence also optional here. Logic change during pre-factoring: err, symbol, units will be assigned only if present. alpha_crit : output real : critical ballooning parameter value nesep_crit : output real : critical electron density at separatrix [m-3] kappa : input real : plasma separatrix elongation (calculated if ishape = 1-5, 7 or 9) triang : input real : plasma separatrix triangularity (calculated if ishape = 1, 3-5 or 7) aspect : input real : aspect ratio (iteration variable 1) pdivt : input real : power to conducted to the divertor region (MW) dlimit(7) : input real array : density limit (/m3) as calculated using various models fnesep : input real : f-value for Eich critical separatrix density
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out) | :: | tmp_cc | |||
real(kind=dp), | intent(out) | :: | tmp_con | |||
real(kind=dp), | intent(out) | :: | tmp_err | |||
character(len=1), | intent(out) | :: | tmp_symbol | |||
character(len=10), | intent(out) | :: | tmp_units |
subroutine constraint_eqn_076(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units)
!! Eich critical separatrix density model: Added for issue 558
!! author: P B Lloyd, CCFE, Culham Science Centre
!! args : output structure : residual error; constraint value;
!! residual error in physical units; output string; units string
!! Eich critical separatrix density model
!! Added for issue 558 with ref to http://iopscience.iop.org/article/10.1088/1741-4326/aaa340/pdf
!! and hence also optional here.
!! Logic change during pre-factoring: err, symbol, units will be assigned only if present.
!! alpha_crit : output real : critical ballooning parameter value
!! nesep_crit : output real : critical electron density at separatrix [m-3]
!! kappa : input real : plasma separatrix elongation (calculated if ishape = 1-5, 7 or 9)
!! triang : input real : plasma separatrix triangularity (calculated if ishape = 1, 3-5 or 7)
!! aspect : input real : aspect ratio (iteration variable 1)
!! pdivt : input real : power to conducted to the divertor region (MW)
!! dlimit(7) : input real array : density limit (/m3) as calculated using various models
!! fnesep : input real : f-value for Eich critical separatrix density
use physics_variables, only: alpha_crit, nesep_crit, kappa, triang, &
aspect, pdivt, dlimit, nesep
use constraint_variables, only: fnesep
implicit none
real(dp), intent(out) :: tmp_cc
real(dp), intent(out) :: tmp_con
real(dp), intent(out) :: tmp_err
character(len=1), intent(out) :: tmp_symbol
character(len=10), intent(out) :: tmp_units
alpha_crit = (kappa ** 1.2D0) * (1.0D0 + 1.5D0 * triang)
nesep_crit = 5.9D0 * alpha_crit * (aspect ** (-2.0D0/7.0D0)) * &
(((1.0D0 + (kappa ** 2.0D0)) / 2.0D0) ** (-6.0D0/7.0D0)) &
* ((pdivt* 1.0D6) ** (-11.0D0/70.0D0)) * dlimit(7)
tmp_cc = 1.0D0 - fnesep * nesep_crit/nesep
tmp_con = nesep
tmp_err = nesep * tmp_cc
tmp_symbol = '<'
tmp_units = 'm-3'
end subroutine constraint_eqn_076