constraint_eqn_017 Subroutine

public subroutine constraint_eqn_017(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units)

Equation for radiation power 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 radiation power upper limit #=# physics #=#=# fradpwr, pradmaxpv and hence also optional here. Logic change during pre-factoring: err, symbol, units will be assigned only if present. f_alpha_plasma : input real : fraction of alpha power deposited in plasma pinjmw : input real : total auxiliary injected power (MW) plasma_volume : input real : plasma volume (m3) alpha_power_density_total : input real : alpha power per volume (MW/m3) charged_power_density : input real : non-alpha charged particle fusion power per volume (MW/m3) pohmpv : input real : ohmic heating power per volume (MW/m3) fradpwr : input real : f-value for core radiation power limit pradpv : input real : total radiation power per volume (MW/m3)

Arguments

Type IntentOptional AttributesName
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

Contents

Source Code


Source Code

   subroutine constraint_eqn_017(tmp_cc, tmp_con, tmp_err, tmp_symbol, tmp_units)
      !! Equation for radiation power 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 radiation power upper limit
      !! #=# physics
      !! #=#=# fradpwr, pradmaxpv
      !! and hence also optional here.
      !! Logic change during pre-factoring: err, symbol, units will be assigned only if present.
      !! f_alpha_plasma : input real : fraction of alpha power deposited in plasma
      !! pinjmw : input real : total auxiliary injected power (MW)
      !! plasma_volume : input real : plasma volume (m3)
      !! alpha_power_density_total : input real : alpha power per volume (MW/m3)
      !! charged_power_density :  input real : non-alpha charged particle fusion power per volume (MW/m3)
      !! pohmpv : input real : ohmic heating power per volume (MW/m3)
      !! fradpwr : input real : f-value for core radiation power limit
      !! pradpv : input real : total radiation power per volume (MW/m3)
      use physics_variables, only: f_alpha_plasma, plasma_volume, alpha_power_density_total, charged_power_density, pohmpv, pradpv
      use current_drive_variables, only: pinjmw
      use constraint_variables, only: fradpwr
      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

      real(dp) :: pradmaxpv
      !! Maximum possible power/plasma_volume that can be radiated (local)

      pradmaxpv = pinjmw/plasma_volume + alpha_power_density_total*f_alpha_plasma + charged_power_density + pohmpv
      tmp_cc =  1.0D0 - fradpwr * pradmaxpv / pradpv
      tmp_con = pradmaxpv * (1.0D0 - tmp_cc)
      tmp_err = pradpv * tmp_cc
      tmp_symbol = '<'
      tmp_units = 'MW/m3'

   end subroutine constraint_eqn_017