Equation for MVA (power) upper limit: resistive TF coil set 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 MVA upper limit #=# tfcoil #=#=# fmva, mvalim and hence also optional here. Logic change during pre-factoring: err, symbol, units will be assigned only if present. tfcpmw : input real : peak resistive TF coil inboard leg power (total) (MW) tflegmw : input real : TF coil outboard leg resistive power (total) (MW) fmva : input real : f-value for maximum MVA mvalim : input real : MVA limit for resistive TF coil set (total) (MW)
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_019(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units)
!! Equation for MVA (power) upper limit: resistive TF coil set
!! 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 MVA upper limit
!! #=# tfcoil
!! #=#=# fmva, mvalim
!! and hence also optional here.
!! Logic change during pre-factoring: err, symbol, units will be assigned only if present.
!! tfcpmw : input real : peak resistive TF coil inboard leg power (total) (MW)
!! tflegmw : input real : TF coil outboard leg resistive power (total) (MW)
!! fmva : input real : f-value for maximum MVA
!! mvalim : input real : MVA limit for resistive TF coil set (total) (MW)
use tfcoil_variables, only: tfcpmw, tflegmw
use constraint_variables, only: fmva, mvalim
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
! totmva : local real : total MVA in TF coil (MW)
real(dp) :: totmva
totmva = tfcpmw + tflegmw
tmp_cc = 1.0D0 - fmva * mvalim/totmva
tmp_con = mvalim * (1.0D0 - tmp_cc)
tmp_err = totmva * tmp_cc
tmp_symbol = '<'
tmp_units = 'MVA'
end subroutine constraint_eqn_019