ifepw1 Subroutine

public subroutine ifepw1()

Routine to calculate the first part of the heat transport and plant power balance constituents, for an IFE power plant author: P J Knight, CCFE, Culham Science Centre None This routine calculates the first part of the heat transport and plant power balance constituents, for an IFE power plant. F/MI/PJK/LOGBOOK12, pp.67,89 Bourque et al., Fusion Technology vol.21 (1992) 1465

Arguments

None

Contents

Source Code


Source Code

  subroutine ifepw1

    !! Routine to calculate the first part of the heat transport
    !! and plant power balance constituents, for an IFE power plant
    !! author: P J Knight, CCFE, Culham Science Centre
    !! None
    !! This routine calculates the first part of the heat transport
    !! and plant power balance constituents, for an IFE power plant.
    !! F/MI/PJK/LOGBOOK12, pp.67,89
    !! Bourque et al., Fusion Technology vol.21 (1992) 1465
    !!
    ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    use fwbs_variables, only: emult, fhole, pnucblkt, pnucshld, pnucloss
    use heat_transport_variables, only: priheat, pthermmw, pfwdiv, nphx, pinjwp, &
      pinjht, crypmw, helpow
    use ife_variables, only: pdrive, ifetyp, etadrv, pifecr
    use physics_variables, only: powfmw

    implicit none

    !  Local variables

    real(dp) :: pdrvmw

    ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    !  Driver power reaching target (MW)

    pdrvmw = 1.0D-6 * pdrive

    !  Primary nuclear heating (MW)
    !  Total thermal power removed from fusion core

    priheat = emult * powfmw

    !  Useful (high-grade) thermal power (MW)

    pthermmw = priheat * (1.0D0-fhole)

    !  Assume 0.24 of thermal power is intercepted by the first wall
    !  (Bourque et al)
    !  HYLIFE-II case: Assume FLiBe flows intercept all fusion power
    !  and provide the energy multiplication as though it were a
    !  conventional blanket

    if ((ifetyp /= 3).and.(ifetyp /= 4)) then
       pfwdiv = 0.24D0 * pthermmw
       pnucblkt = pthermmw - pfwdiv
    else
       pfwdiv = 0.0D0
       pnucblkt = pthermmw
    end if
    pnucshld = 0.0D0

    !  Lost fusion power (MW)

    pnucloss = priheat - pthermmw  !  = priheat*fhole

    !  Number of primary heat exchangers

    !rnphx = max(2.0D0, (pthermmw/400.0D0 + 0.8D0) )
    nphx = ceiling(pthermmw/1000.0D0)

    !  Secondary heat (some of it... rest calculated in IFEPW2)

    !  Wall plug driver power (MW)

    pinjwp = pdrvmw/etadrv

    !  Waste driver power (MW)

    pinjht = pinjwp - pdrvmw

    !  Cryogenic power (MW)
    !  Cryogenic temperature is assumed to be 4.5K

    crypmw = pifecr
    helpow = 1.0D6 * crypmw * (0.13D0 * 4.5D0)/(293.0D0 - 4.5D0)

  end subroutine ifepw1