module vacuum_variables !! author: J. Morris, M. Kovari (UKAEA) !! !! Module containing global variables relating to the vacuum system !! !!### References !! !! - #ifndef dp use, intrinsic :: iso_fortran_env, only: dp=>real64 #endif implicit none public character(len=6) :: vacuum_model !! switch for vacuum pumping model: !! !! - ='old' for old detailed ETR model !! - ='simple' for simple steady-state model with comparison to ITER cryopumps !#TODO: old and simple not suitable names. real(dp) :: niterpump !! number of high vacuum pumps (real number), each with the throughput of one !! ITER cryopump (50 Pa m3 s-1), all operating at the same time (`vacuum_model='simple'`) integer :: ntype !! switch for vacuum pump type: !! !! - =0 - for turbomolecular pump (magnetic bearing) with speed of 2.0 m3/s !! (1.95 for N2, 1.8 for He, 1.8 for DT) !! - =1 - for compound cryopump with nominal speed of 10.0 m3/s !! (9.0 for N2, 5.0 for He and 25.0 for DT) integer :: nvduct !! number of ducts (torus to pumps) real(dp) :: dlscal !! vacuum system duct length scaling real(dp) :: pbase !! base pressure during dwell before gas pre-fill(Pa) real(dp) :: prdiv !! divertor chamber pressure during burn (Pa) real(dp) :: pumptp !! Pump throughput (molecules/s) (default is ITER value) real(dp) :: rat !! plasma chamber wall outgassing rate (Pa-m/s) real(dp) :: tn !! neutral gas temperature in chamber (K) real(dp) :: vacdshm !! mass of vacuum duct shield (kg) real(dp) :: vcdimax !! diameter of duct passage (m) integer :: vpumpn !! number of high vacuum pumps integer :: dwell_pump !! switch for dwell pumping options: !! !! - =0 pumping only during tdwell !! - =1 pumping only during tramp !! - =2 pumping during tdwell + tramp ! The following are used in the Battes, Day and Rohde pump-down model ! See "Basic considerations on the pump-down time in the dwell phase of a pulsed fusion DEMO" ! http://dx.doi.org/10.1016/j.fusengdes.2015.07.011)(vacuum_model=simple') real(dp) :: pumpareafraction !! area of one pumping port as a fraction of plasma surface area real(dp) :: pumpspeedmax !! maximum pumping speed per unit area for deuterium & tritium, molecular flow real(dp) :: pumpspeedfactor !! effective pumping speed reduction factor due to duct impedance real(dp) :: initialpressure !! initial neutral pressure at the beginning of the dwell phase (Pa) real(dp) :: outgasindex !! outgassing decay index real(dp) :: outgasfactor !! outgassing prefactor kw: outgassing rate at 1 s per unit area (Pa m s-1) contains subroutine init_vacuum_variables !! Initialise module variables implicit none vacuum_model = 'old' niterpump = 0.0D0 ntype = 1 nvduct = 0 dlscal = 0.0D0 pbase = 5.0D-4 prdiv = 0.36D0 pumptp = 1.2155D22 rat = 1.3D-8 tn = 300.0D0 vacdshm = 0.0D0 vcdimax = 0.0D0 vpumpn = 0 dwell_pump = 0 pumpareafraction = 0.0203D0 pumpspeedmax = 27.3D0 pumpspeedfactor = 0.167D0 initialpressure = 1.0D0 outgasindex = 1.0D0 outgasfactor = 0.0235D0 end subroutine init_vacuum_variables end module vacuum_variables