Equation for power through separatrix / major radius upper limit author: P B Lloyd, CCFE, Culham Science Centre args : output structure : residual error; constraint value; residual error in physical units; output string; units string Equation for power through separatrix / major radius upper limit #=# current_drive #=#=# fnbshinef, nbshinefmax and hence also optional here. Logic change during pre-factoring: err, symbol, units will be assigned only if present. fpsepr : input real : f-value for maximum Psep/R limit pseprmax : input real : maximum ratio of power crossing the separatrix to plasma major radius (Psep/R) (MW/m) pdivt : input real : power to be conducted to the divertor region (MW) rmajor : input real : plasma major radius (m)
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_056(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units)
!! Equation for power through separatrix / major radius upper limit
!! author: P B Lloyd, CCFE, Culham Science Centre
!! args : output structure : residual error; constraint value;
!! residual error in physical units; output string; units string
!! Equation for power through separatrix / major radius upper limit
!! #=# current_drive
!! #=#=# fnbshinef, nbshinefmax
!! and hence also optional here.
!! Logic change during pre-factoring: err, symbol, units will be assigned only if present.
!! fpsepr : input real : f-value for maximum Psep/R limit
!! pseprmax : input real : maximum ratio of power crossing the separatrix to plasma major radius (Psep/R) (MW/m)
!! pdivt : input real : power to be conducted to the divertor region (MW)
!! rmajor : input real : plasma major radius (m)
use constraint_variables, only: fpsepr, pseprmax
use physics_variables, only: pdivt, rmajor
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
tmp_cc = 1.0D0 - fpsepr * pseprmax / (pdivt/rmajor)
tmp_con = pseprmax * (1.0D0 - tmp_cc)
tmp_err = (pdivt/rmajor) * tmp_cc
tmp_symbol = '<'
tmp_units = 'MW/m'
end subroutine constraint_eqn_056