buildings_variables.f90 Source File


Contents


Source Code

module buildings_variables
    !! author: J. Morris (UKAEA)
    !!
    !! Module containing global variables relating to the plant buildings
    !!
    !! GIFA = Gross Internal Floor Area
    !!
    !!### References
    !!
    !! -
#ifndef dp
  use, intrinsic :: iso_fortran_env, only: dp=>real64
#endif

    implicit none

    public

    real(dp) :: admv
    !! administration building volume (m3)

    real(dp) :: admvol
    !! volume of administration buildings (m3)

    real(dp) :: aux_build_l, aux_build_w, aux_build_h
    !! aux building supporting tokamak processes length, width, height (m)

    real(dp) :: auxcool_l, auxcool_w, auxcool_h
    !! Site-Wide Auxiliary Cooling Water facility length, width, height (m)

    real(dp) :: bioshld_thk
    !! Radial thickness of bio-shield around reactor (m)

    real(dp) :: chemlab_l, chemlab_w, chemlab_h
    !! Chemistry labs and treatment buldings length, width, height (m)

    real(dp) :: clh1
    !! vertical clearance from TF coil to cryostat (m) (calculated for tokamaks)

    real(dp) :: clh2
    !! clearance beneath TF coil to foundation (including basement) (m)

    real(dp) :: control_buildings_l, control_buildings_w, control_buildings_h
    !! control building length, width, height (m)

    real(dp) :: conv
    !! control building volume (m3)

    real(dp) :: convol
    !! volume of control, protection and i&c building (m3)

    real(dp) :: crane_arm_h
    !! vertical dimension of crane arm, operating over reactor (m)

    real(dp) :: crane_clrnc_h
    !! horizontal clearance to building wall for crane operation (m)

    real(dp) :: crane_clrnc_v
    !! vertical clearance for crane operation (m)

    real(dp) :: cryomag_l, cryomag_w, cryomag_h
    !! Cryogenic Buildings for Magnet and Fuel Cycle length, width, height (m)

    real(dp) :: cryostore_l, cryostore_w, cryostore_h
    !! Magnet Cryo Storage Tanks length, width, height (m)

    real(dp) :: cryostat_clrnc
    !! vertical clearance from TF coil to cryostat (m)

    real(dp) :: cryvol
    !! volume of cryoplant building (m3)

    real(dp) :: efloor
    !! effective total floor space (m2)

    real(dp) :: elecdist_l, elecdist_w, elecdist_h
    !! Transformers and electrical distribution facilities length, width, height (m)

    real(dp) :: elecload_l, elecload_w, elecload_h
    !! Electric (eesential and non-essential) load centres length, width, height (m)

    real(dp) :: elecstore_l, elecstore_w, elecstore_h
    !! Energy Storage facilities length, width, height (m)

    real(dp) :: elevol
    !! volume of electrical equipment building (m3)

    real(dp) :: esbldgm3
    !! volume of energy storage equipment building (m3) (not used if `lpulse=0`)

    real(dp) :: fc_building_l, fc_building_w
    !! Fuel Cycle facilities length, width (m)

    real(dp) :: fndt
    !! foundation thickness (m)

    real(dp) :: gas_buildings_l, gas_buildings_w, gas_buildings_h
    !! air & gas supply (amalgamated) buildings length, width, height (m)

    real(dp) :: ground_clrnc
    !! clearance beneath TF coil (m)

    real(dp) :: hcd_building_l, hcd_building_w, hcd_building_h
    !! HCD building length, width, height (m)

    real(dp) :: hccl
    !! clearance around components in hot cell (m)

    real(dp) :: hcwt
    !! hot cell wall thickness (m)

    real(dp) :: heat_sink_l, heat_sink_w, heat_sink_h
    !! heat sinks length, width, height (m)

    real(dp) :: hot_sepdist
    !! hot cell storage component separation distance (m)

    real(dp) :: hotcell_h
    !! hot cell storage and maintenance facility height (m)

    real(dp) :: hw_storage_l, hw_storage_w, hw_storage_h
    !! hazardous waste storage building length, width, height (m)

    integer :: i_bldgs_size
    !! switch between routines estimating building sizes (0 = default; 1 = updated)

    integer :: i_bldgs_v
    !! switch to select verbose output for buildings (1 = verbose)

    real(dp) :: ilw_smelter_l, ilw_smelter_w, ilw_smelter_h
    !! radioactive waste smelting facility length, width, height (m)

    real(dp) :: ilw_storage_l, ilw_storage_w, ilw_storage_h
    !! ILW waste storage building length, width, height (m)

    real(dp) :: llw_storage_l, llw_storage_w, llw_storage_h
    !! LLW waste storage building length, width, height (m)

    real(dp) :: magnet_pulse_l, magnet_pulse_w, magnet_pulse_h
    !! pulsed magnet power building length, width, height (m)

    real(dp) :: magnet_trains_l, magnet_trains_w, magnet_trains_h
    !! steady state magnet power trains building length, width, height (m)

    real(dp) :: maint_cont_l, maint_cont_w, maint_cont_h
    !! maintenance control building length, width, height (m)

    real(dp) :: mbvfac
    !! maintenance building volume multiplication factor

    real(dp) :: nbi_sys_l, nbi_sys_w
    !! NBI system length, width (m)

    real(dp) :: pfbldgm3
    !! volume of PF coil power supply building (m3)

    real(dp) :: pibv
    !! power injection building volume (m3)

    real(dp) :: qnty_sfty_fac
    !! quantity safety factor for component use during plant lifetime

    real(dp) :: rbvfac
    !! reactor building volume multiplication factor

    real(dp) :: rbrt
    !! reactor building roof thickness (m)

    real(dp) :: rbvol
    !! reactor building volume (m3)

    real(dp) :: rbwt
    !! reactor building wall thickness (m)

    real(dp) :: reactor_clrnc
    !! clearance around reactor (m)

    real(dp) :: reactor_fndtn_thk
    !! reactor building foundation thickness (m)

    real(dp) :: reactor_hall_l, reactor_hall_w, reactor_hall_h
    !! reactor building length, width, height (m)

    real(dp) :: reactor_roof_thk
    !! reactor building roof thickness (m)

    real(dp) :: reactor_wall_thk
    !! reactor building wall thickness (m)

    real(dp) :: rmbvol
    !! volume of maintenance and assembly building (m3)

    real(dp) :: robotics_l, robotics_w, robotics_h
    !! robotics buildings length, width, height (m)

    real(dp) :: row
    !! clearance to building wall for crane operation (m)

    real(dp) :: rxcl
    !! clearance around reactor (m)

    real(dp) :: sec_buildings_l, sec_buildings_w, sec_buildings_h
    !! security & safety buildings length, width, height (m)

    real(dp) :: shmf
    !! fraction of shield mass per TF coil to be moved in the maximum shield lift

    real(dp) :: shov
    !! shops and warehouse volume (m3)

    real(dp) :: shovol
    !! volume of shops and buildings for plant auxiliaries (m3)

    real(dp) :: staff_buildings_area
    !! footprint of staff buildings (m2)

    real(dp) :: staff_buildings_h
    !! staff buildings height (m)

    real(dp) :: stcl
    !! clearance above crane to roof (m)

    real(dp) :: tfcbv
    !! volume of TF coil power supply building (m3) (calculated if TF coils are superconducting)

    real(dp) :: transp_clrnc
    !! transportation clearance between components (m)

    real(dp) :: trcl
    !! transportation clearance between components (m)

    real(dp) :: triv
    !! volume of tritium, fuel handling and health physics buildings (m3)

    real(dp) :: turbine_hall_l, turbine_hall_w, turbine_hall_h
    !! turbine hall length, width, height (m)

    real(dp) :: tw_storage_l, tw_storage_w, tw_storage_h
    !! tritiated waste storage building length, width, height (m)

    real(dp) :: volrci
    !! internal volume of reactor building (m3)

    real(dp) :: volnucb
    !! sum of nuclear buildings volumes (m3)

    real(dp) :: warm_shop_l, warm_shop_w, warm_shop_h
    !! warm shop length, width, height (m)

    real(dp) :: water_buildings_l, water_buildings_w, water_buildings_h
    !! water, laundry & drainage buildings length, width, height (m)

    real(dp) :: wgt
    !! reactor building crane capacity (kg) (calculated if 0 is input)

    real(dp) :: wgt2
    !! hot cell crane capacity (kg) (calculated if 0 is input)

    real(dp) :: workshop_l, workshop_w, workshop_h
    !! [cold] workshop buildings length, width, height (m)

    real(dp) :: wrbi
    !! distance from centre of machine to building wall (m)

    real(dp) :: wsvol
    !! volume of warm shop building (m3)

    real(dp) :: wsvfac
    !! warm shop building volume multiplication factor



    real(dp) :: a_reactor_bldg
    !! Floor area of reactor building in m^2

    real(dp) :: a_ee_ps_bldg
    !! Floor area of electrical equipment and power supply building in m^2

    real(dp) :: a_aux_services_bldg
    !! Floor area of auxiliary services building in m^2

    real(dp) :: a_hot_cell_bldg
    !! Floor area of hot cell building in m^2

    real(dp) :: a_reactor_service_bldg
    !! Floor area of reactor service building in m^2

    real(dp) :: a_service_water_bldg
    !! Floor area of service water building in m^2

    real(dp) :: a_fuel_handling_bldg
    !! Floor area of fuel handling and storage building in m^2

    real(dp) :: a_control_room_bldg
    !! Floor area of controlroom building in m^2

    real(dp) :: a_ac_ps_bldg
    !! Floor area of AC power supply building in m^2

    real(dp) :: a_admin_bldg
    !! Floor area of admin building in m^2

    real(dp) :: a_site_service_bldg
    !! Floor area of site service building in m^2

    real(dp) :: a_cryo_inert_gas_bldg
    !! Floor area of cryogenics and inert gas storage building in m^2

    real(dp) :: a_security_bldg
    !! Floor area of security building in m^2


    contains

    subroutine init_buildings_variables
      !! Initialise buildings variables
      implicit none

      admv = 1.0D5
      admvol = 0.0D0
      aux_build_l = 60.0D0
      aux_build_w = 30.0D0
      aux_build_h = 5.0D0
      auxcool_l = 20.0D0
      auxcool_w = 20.0D0
      auxcool_h = 5.0D0
      bioshld_thk = 2.50D0
      chemlab_l = 50.0D0
      chemlab_w = 30.0D0
      chemlab_h = 6.0D0
      clh1 = 2.5D0
      clh2 = 15.0D0
      control_buildings_l = 80.0D0
      control_buildings_w = 60.0D0
      control_buildings_h = 6.0D0
      conv = 6.0D4
      convol = 0.0D0
      crane_arm_h = 10.0D0
      crane_clrnc_h = 4.0D0
      crane_clrnc_v = 3.0D0
      cryomag_l = 120.0D0
      cryomag_w = 90.0D0
      cryomag_h = 5.0D0
      cryostore_l = 160.0D0
      cryostore_w = 30.0D0
      cryostore_h = 20.0D0
      cryostat_clrnc = 2.5D0
      cryvol = 0.0D0
      efloor = 0.0D0
      elecdist_l = 380.0D0
      elecdist_w = 350.0D0
      elecdist_h = 5.0D0
      elecload_l = 100.0D0
      elecload_w = 90.0D0
      elecload_h = 3.0D0
      elecstore_l = 100.0D0
      elecstore_w = 60.0D0
      elecstore_h = 12.0D0
      elevol = 0.0D0
      esbldgm3 = 1.0D3
      fc_building_l = 60.0D0
      fc_building_w = 60.0D0
      fndt = 2.0D0
      gas_buildings_l = 25.0D0
      gas_buildings_w = 15.0D0
      gas_buildings_h = 5.0D0
      ground_clrnc = 5.0D0
      hcd_building_l = 70.0D0
      hcd_building_w = 40.0D0
      hcd_building_h = 25.0D0
      hw_storage_l = 20.0D0
      hw_storage_w = 10.0D0
      hw_storage_h = 5.0D0
      heat_sink_l = 160.0D0
      heat_sink_w = 80.0D0
      heat_sink_h = 12.0D0
      hccl = 5.0D0
      hcwt = 1.5D0
      hot_sepdist = 2.0D0
      hotcell_h = 12.0D0
      i_bldgs_size = 0
      i_bldgs_v = 0
      ilw_smelter_l = 50.0D0
      ilw_smelter_w = 30.0D0
      ilw_smelter_h = 30.0D0
      ilw_storage_l = 120.0D0
      ilw_storage_w = 100.0D0
      ilw_storage_h = 8.0D0
      llw_storage_l = 45.0D0
      llw_storage_w = 20.0D0
      llw_storage_h = 5.0D0
      magnet_pulse_l = 105.0D0
      magnet_pulse_w = 40.0D0
      magnet_pulse_h = 5.0D0
      magnet_trains_l = 120.0D0
      magnet_trains_w = 90.0D0
      magnet_trains_h = 5.0D0
      maint_cont_l = 125.0D0
      maint_cont_w = 100.0D0
      maint_cont_h = 6.0D0
      mbvfac = 2.8D0
      nbi_sys_l = 225.0D0
      nbi_sys_w = 185.0D0
      pfbldgm3 = 2.0D4
      pibv = 2.0D4
      qnty_sfty_fac = 2.0D0
      rbvfac = 1.6D0
      rbrt = 1.0D0
      rbvol = 0.0D0
      rbwt = 2.0D0
      reactor_clrnc = 4.0D0
      reactor_fndtn_thk = 2.0D0
      reactor_hall_l = 0.0D0
      reactor_hall_w = 0.0D0
      reactor_hall_h = 0.0D0
      reactor_roof_thk = 1.0D0
      reactor_wall_thk = 2.0D0
      rmbvol = 0.0D0
      robotics_l = 50.0D0
      robotics_w = 30.0D0
      robotics_h = 30.0D0
      row = 4.0D0
      rxcl = 4.0D0
      sec_buildings_l = 30.0D0
      sec_buildings_w = 25.0D0
      sec_buildings_h = 6.0D0
      shmf = 0.5D0
      shov = 1.0D5
      shovol = 0.0D0
      staff_buildings_h = 5.0D0
      staff_buildings_area = 4.8D5
      stcl = 3.0D0
      tfcbv = 2.0D4
      transp_clrnc = 1.0D0
      trcl = 1.0D0
      triv = 4.0D4
      turbine_hall_l = 109.0D0
      turbine_hall_w = 62.0D0
      turbine_hall_h = 15.0D0
      tw_storage_l = 90.0D0
      tw_storage_w = 30.0D0
      tw_storage_h = 5.0D0
      volnucb = 0.0D0
      volrci = 0.0D0
      warm_shop_l = 100.0D0
      warm_shop_w = 50.0D0
      warm_shop_h = 10.0D0
      water_buildings_l = 110.0D0
      water_buildings_w = 10.0D0
      water_buildings_h = 5.0D0
      workshop_l = 150.0D0
      workshop_w = 125.0D0
      workshop_h = 10.0D0
      wgt = 5.0D5
      wgt2 = 1.0D5
      wrbi = 0.0D0
      wsvfac = 1.9D0
      wsvol = 0.0D0

      a_reactor_bldg = 8.32D3
      a_ee_ps_bldg = 2.133D4
      a_aux_services_bldg = 1.0D3
      a_hot_cell_bldg = 8.43D3
      a_reactor_service_bldg = 2.44D3
      a_service_water_bldg = 1.567D3
      a_fuel_handling_bldg = 1.67D3
      a_control_room_bldg = 2.88D3
      a_ac_ps_bldg = 6.423D3
      a_admin_bldg = 2.5674D4
      a_site_service_bldg = 8.3D3
      a_cryo_inert_gas_bldg = 1.838D4
      a_security_bldg = 4.552D3

    end subroutine init_buildings_variables

  end module buildings_variables