Routine to calculate AC power requirements for an IFE power plant author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the AC power requirements for an IFE power plant. F/MI/PJK/LOGBOOK12, p.68
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | outfile | |||
integer, | intent(in) | :: | iprint |
subroutine ifeacp(outfile,iprint)
!! Routine to calculate AC power requirements for an IFE power plant
!! author: P J Knight, CCFE, Culham Science Centre
!! outfile : input integer : output file unit
!! iprint : input integer : switch for writing to output file (1=yes)
!! This routine calculates the AC power requirements for an IFE power plant.
!! F/MI/PJK/LOGBOOK12, p.68
!!
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
use buildings_variables, only: efloor
use process_output, only: oheadr, ovarre, oblnkl
use heat_transport_variables, only: baseel, pwpm2, pacpmw, crypmw, vachtmw, &
trithtmw, pinjwp, fcsht, tlvpmw
use ife_variables, only: tdspmw, tfacmw, htpmw_ife, reprat, lipmw, ifetyp
implicit none
! Arguments
integer, intent(in) :: iprint,outfile
! Local variables
real(dp), save :: basemw,pmwpm2
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Facility base load, MW (loads not dependent on floor area)
basemw = baseel * 1.0D-6
! Power needed per floor area, MW/m2
pmwpm2 = pwpm2 * 1.0D-6
! Total pulsed power system load, MW
pacpmw = crypmw + vachtmw + tdspmw + tfacmw + &
(htpmw_ife*reprat/6.0D0) + trithtmw + pinjwp + basemw + &
(efloor*pmwpm2) + lipmw
! Total baseline power to facility loads, MW
fcsht = basemw + (efloor*pmwpm2)
! Estimate of the total low voltage power, MW
tlvpmw = fcsht + trithtmw + (htpmw_ife*reprat/6.0D0) + vachtmw + &
0.5D0*crypmw + tfacmw
if (iprint == 0) return
! Output section
call oheadr(outfile,'AC Power')
call ovarre(outfile,'Facility base load (MW)','(basemw)',basemw)
call ovarre(outfile,'Total floor space (m2)','(efloor)',efloor)
call ovarre(outfile,'Power/floor area (MW/m2)','(pmwpm2)',pmwpm2)
call ovarre(outfile,'Driver power supplies (MW)','(pinjwp)', &
pinjwp)
call ovarre(outfile,'Target delivery system (MW)','(tdspmw)', &
tdspmw)
call ovarre(outfile,'Target factory (MW)','(tfacmw)', &
tfacmw)
call ovarre(outfile,'Tritium processing plant (MW)','(trithtmw)', &
trithtmw)
call ovarre(outfile,'Vacuum pump motors (MW)','(vachtmw)',vachtmw)
call ovarre(outfile,'Cryogenic comp motors (MW)','(crypmw)',crypmw)
call ovarre(outfile,'Heat transport system pump motors (MW)', &
'(htpmw_ife*reprat/6)',htpmw_ife*reprat/6.0D0)
if (ifetyp.eq.4) then
call ovarre(outfile,'Lithium Pump Power (MW)','(lipmw)',lipmw)
end if
call oblnkl(outfile)
call ovarre(outfile,'Total pulsed power (MW)','(pacpmw)',pacpmw)
call ovarre(outfile,'Total base power reqd at all times (MW)', &
'(fcsht)',fcsht)
call ovarre(outfile,'Total low voltage power (MW)','(tlvpmw)',tlvpmw)
end subroutine ifeacp