Data centres: multi-storey shell, racks and pods, cooling, fire safety, power
Deploy web Studio / deploy (push) Successful in 1m4s
Deploy web Studio / deploy (push) Successful in 1m4s
datacentre.rhai (palette groups Data centre, Cooling, Fire safety, Power): - dc_building: multi-storey shell (storeys of storey_h), walls in pieces, slabs, roof with parapet, louvres, front door and loading dock; levels cut it open storey by storey - raised_floor; rack_row and dc_pod (cabinets by U, width, depth, equipment, fill, doors, LEDs; in-row coolers; cold / hot aisle containment with vent tiles, roof, end doors, ceiling duct, airflow); dc_cage for colocation - crah, chiller (air-cooled, dry, adiabatic), cooling_tower, pipe_run - smoke_detectors (grid + coverage), fire_pipe (VESDA, sprinkler, gas), gas_bank (Novec 1230, FM-200, Inergen sized for its halls), fire_device (panels, call points, abort switches, beacons, extinguishers) - power_cab (UPS, battery, PDU, switchgear, RPP), busway, cable_tray, transformer - tooltips sum IT load, kW/m2, cooling redundancy per storey, UPS load, battery runtime, plant cooling and agent quantity (warning when short) Engine and stdlib: - part_hidden(o) in house.rhai: parts on closed storeys inside a dc_building are not drawn (they only made sort cycles under the slab above); house parts, furniture and people use it. Existing examples render byte-identical. - overhead services sort in their own "ceiling" layer with tight boxes - sort records which sprites each broken cycle involved; isokit check names them (Rendered.cycle_at) examples/datacentre (three storeys and a roof plant), Data centre demo in the web Studio, tests, SCRIPTING/README/ROADMAP, MCP instructions.
This commit is contained in:
1 parent
c8becc2e59
commit
2810477f1b
22 files changed
+2281
-18
No files matched your search
@@ -0,0 +1,56 @@
|
||||
# isokit data centre demo: a three-storey data centre laid out from parts.
|
||||
# Open it with `isokit studio examples/datacentre`.
|
||||
title = "isokit data centre"
|
||||
note = "A three-storey data centre: power and plant on the ground floor, a hall with cold aisle containment on 1F, GPU pods with hot aisle containment and colocation cages on 2F, chillers on the roof. GF, 1F and 2F cut the building open; tap racks, coolers, gas banks and detectors for their numbers."
|
||||
default_level = "1f"
|
||||
default_rotation = 1
|
||||
prelude = []
|
||||
theme = []
|
||||
|
||||
[[level]]
|
||||
id = "site"
|
||||
label = "Site"
|
||||
title = "The data centre closed, with its roof plant"
|
||||
|
||||
[[level]]
|
||||
id = "gf"
|
||||
label = "GF"
|
||||
title = "Ground floor: lobby and NOC, staging, power room"
|
||||
|
||||
[[level]]
|
||||
id = "1f"
|
||||
label = "1F"
|
||||
title = "Data hall A: cold aisle containment"
|
||||
|
||||
[[level]]
|
||||
id = "2f"
|
||||
label = "2F"
|
||||
title = "Data hall B: GPU pods (hot aisle) and colocation cages"
|
||||
|
||||
[[param]]
|
||||
name = "storey_h"
|
||||
type = "float"
|
||||
default = 5.0
|
||||
label = "Storey height (m)"
|
||||
|
||||
[[param]]
|
||||
name = "ceiling"
|
||||
type = "bool"
|
||||
default = true
|
||||
label = "Ceiling services"
|
||||
|
||||
[[param]]
|
||||
name = "labels"
|
||||
type = "bool"
|
||||
default = true
|
||||
label = "Labels"
|
||||
|
||||
[[param]]
|
||||
name = "running"
|
||||
type = "bool"
|
||||
default = true
|
||||
label = "Animation"
|
||||
|
||||
[build]
|
||||
out = "dist/index.html"
|
||||
budget = 12000
|
||||
@@ -0,0 +1,184 @@
|
||||
{
|
||||
"version": 1,
|
||||
"objects": [
|
||||
{"id": "site", "type": "site", "x": 0, "y": 2, "props": {"w": 92, "d": 74, "mat": "g-grass"}, "name": "Site", "locked": true},
|
||||
{"id": "apron", "type": "area", "x": 0, "y": 1, "props": {"w": 64, "d": 44, "mat": "g-conc"}, "name": "Yard apron", "locked": true},
|
||||
{"id": "road", "type": "road", "x": 0, "y": -29, "props": {"w": 92, "d": 7}, "name": "Main road"},
|
||||
{"id": "access", "type": "road", "x": 0, "y": -21.5, "rot": 90, "props": {"w": 15, "d": 6, "dashed": false}, "name": "Access road"},
|
||||
{"id": "parking", "type": "parking", "x": -22, "y": -17, "props": {"n": 8, "bay_w": 2.5, "bay_d": 5}, "name": "Staff parking"},
|
||||
{"id": "car-0", "type": "car", "x": -30.75, "y": -17, "rot": 90, "props": {"colour": "car1"}, "name": "Car"},
|
||||
{"id": "car-1", "type": "car", "x": -28.25, "y": -17, "rot": 90, "props": {"colour": "car3"}, "name": "Car"},
|
||||
{"id": "car-3", "type": "car", "x": -23.25, "y": -17, "rot": 90, "props": {"colour": "car4"}, "name": "Car"},
|
||||
{"id": "car-4", "type": "car", "x": -20.75, "y": -17, "rot": 90, "props": {"colour": "car1"}, "name": "Car"},
|
||||
{"id": "truck", "type": "truck", "x": 0, "y": -18.5, "rot": 90, "props": {"len": 8}, "name": "Delivery truck", "info": "Racks arriving at the loading dock"},
|
||||
{"id": "f-s1", "type": "fence", "x": -31.5, "y": -24.0, "props": {"w": 21.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-s2", "type": "fence", "x": -12.5, "y": -24.0, "props": {"w": 17.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-s3", "type": "fence", "x": 12.5, "y": -24.0, "props": {"w": 17.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-s4", "type": "fence", "x": 31.5, "y": -24.0, "props": {"w": 21.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-e1", "type": "fence", "x": 42.0, "y": -9.75, "rot": 90.0, "props": {"w": 28.5, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-e2", "type": "fence", "x": 42.0, "y": 18.75, "rot": 90.0, "props": {"w": 28.5, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-n1", "type": "fence", "x": 28.0, "y": 33.0, "rot": 180.0, "props": {"w": 28.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-n2", "type": "fence", "x": 0.0, "y": 33.0, "rot": 180.0, "props": {"w": 28.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-n3", "type": "fence", "x": -28.0, "y": 33.0, "rot": 180.0, "props": {"w": 28.0, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-w1", "type": "fence", "x": -42.0, "y": 18.75, "rot": 270.0, "props": {"w": 28.5, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "f-w2", "type": "fence", "x": -42.0, "y": -9.75, "rot": 270.0, "props": {"w": 28.5, "h": 2.4, "style": "mesh"}, "name": "Security fence"},
|
||||
{"id": "guard", "type": "shed", "x": 8, "y": -21, "props": {"w": 3, "d": 2.4, "h": 2.7}, "name": "Gatehouse", "tag": "Security"},
|
||||
{"id": "guard-p", "type": "person", "x": 6.2, "y": -21.6, "props": {"cls": "suit"}, "name": "Guard"},
|
||||
{"id": "gen-1", "type": "generator", "x": -15, "y": 19, "props": {"running": true}, "name": "Generator 1", "info": "2.5 MVA diesel genset, N+1"},
|
||||
{"id": "gen-2", "type": "generator", "x": -7, "y": 19, "props": {"running": false}, "name": "Generator 2", "info": "2.5 MVA diesel genset, N+1"},
|
||||
{"id": "gen-3", "type": "generator", "x": 1, "y": 19, "props": {"running": false}, "name": "Generator 3", "info": "2.5 MVA diesel genset, N+1"},
|
||||
{"id": "gen-4", "type": "generator", "x": 9, "y": 19, "props": {"running": false}, "name": "Generator 4", "info": "2.5 MVA diesel genset, N+1"},
|
||||
{"id": "fuel", "type": "tank", "x": 19, "y": 19.5, "props": {"r": 1.8, "h": 3.4, "mat": "tank"}, "name": "Diesel tank", "info": "48 h of fuel at full load"},
|
||||
{"id": "tx-1", "type": "transformer", "x": 29, "y": 7, "rot": 90, "props": {"kva": 3150}, "name": "Transformer T1", "tag": "T1"},
|
||||
{"id": "tx-2", "type": "transformer", "x": 29, "y": 0.5, "rot": 90, "props": {"kva": 3150}, "name": "Transformer T2", "tag": "T2"},
|
||||
{"id": "ct", "type": "cooling_tower", "x": 31, "y": -12, "props": {"cells": 2, "kw": 750}, "name": "Cooling tower", "tag": "Condenser water"},
|
||||
{"id": "ct-pipe", "type": "pipe_run", "x": 25.0, "y": -12, "props": {"w": 4.0, "kind": "condenser", "dn": 0.3, "h": 1.0}, "name": "Condenser pipes"},
|
||||
{"id": "tree-0", "type": "tree", "x": -30, "y": 28, "props": {"r": 2.2}, "name": "Tree"},
|
||||
{"id": "tree-1", "type": "tree", "x": -22, "y": 28, "props": {"r": 2.2}, "name": "Tree"},
|
||||
{"id": "tree-2", "type": "tree", "x": 22, "y": 28, "props": {"r": 2.2}, "name": "Tree"},
|
||||
{"id": "tree-3", "type": "tree", "x": 34, "y": 28, "props": {"r": 2.2}, "name": "Tree"},
|
||||
{"id": "trees-w", "type": "tree_row", "x": -37, "y": 4, "rot": 90, "props": {"w": 40, "spacing": 7, "r": 1.8}, "name": "Trees"},
|
||||
{"id": "lamp-0", "type": "lamp", "x": -12, "y": -23, "props": {"h": 6}, "name": "Lamp"},
|
||||
{"id": "lamp-1", "type": "lamp", "x": 12, "y": -23, "props": {"h": 6}, "name": "Lamp"},
|
||||
{"id": "lamp-2", "type": "lamp", "x": -26, "y": 12, "props": {"h": 6}, "name": "Lamp"},
|
||||
{"id": "lamp-3", "type": "lamp", "x": 26, "y": 14, "props": {"h": 6}, "name": "Lamp"},
|
||||
{"id": "dc", "type": "dc_building", "x": 0, "y": 0, "props": {"w": 42, "d": 26, "storeys": 3, "door_at": 0.16666666666666666, "dock_at": 0.5}, "name": "Data centre CNX-1", "info": "Three storeys: power and plant on the ground floor, two data halls above, chillers on the roof"},
|
||||
{"id": "gf-w1", "type": "house_wall", "x": -7, "y": 0, "rot": 90, "props": {"w": 25.2, "h": 4.7, "t": 0.2, "mat": "wall2"}, "name": "GF partition (lobby)"},
|
||||
{"id": "gf-w1-door", "type": "door", "x": -7, "y": -9, "rot": 90, "props": {"w": 1.0, "h": 2.2, "style": "panel", "mat": "doorg"}, "name": "Lobby door"},
|
||||
{"id": "gf-e1", "type": "house_wall", "x": 7, "y": 0, "rot": 90, "props": {"w": 25.2, "h": 4.7, "t": 0.2, "mat": "firewall"}, "name": "GF fire wall (power room)"},
|
||||
{"id": "gf-e1-door", "type": "door", "x": 7, "y": -9, "rot": 90, "props": {"w": 1.2, "h": 2.2, "style": "panel", "mat": "doorg"}, "name": "Power room door"},
|
||||
{"id": "gf-stairs", "type": "stairs", "x": -19.4, "y": 7.5, "props": {"w": 1.4, "run": 7, "rise": 4.7, "mat": "concb"}, "name": "Stairs to 1F"},
|
||||
{"id": "noc-1", "type": "desk", "x": -15, "y": -3, "props": {"w": 1.6}, "name": "NOC desk"},
|
||||
{"id": "noc-2", "type": "desk", "x": -12.6, "y": -3, "props": {"w": 1.6, "chair": false}, "name": "NOC desk"},
|
||||
{"id": "noc-3", "type": "desk", "x": -15, "y": -6.5, "props": {"w": 1.6}, "name": "NOC desk"},
|
||||
{"id": "noc-p", "type": "person", "x": -12.6, "y": -3.8, "props": {"cls": "suit", "seated": true}, "name": "NOC operator"},
|
||||
{"id": "gf-facp", "type": "fire_device", "x": -17.5, "y": -12.53, "rot": 180, "props": {"kind": "alarm panel", "label": "Main fire alarm panel"}, "name": "Fire alarm panel", "tag": "FACP"},
|
||||
{"id": "gf-cp-1", "type": "fire_device", "x": -12.4, "y": -12.53, "rot": 180, "props": {"kind": "call point", "label": "Lobby"}, "name": "Call point"},
|
||||
{"id": "gf-bc-1", "type": "fire_device", "x": -7.27, "y": 2, "rot": 270, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "gf-ext-1", "type": "fire_device", "x": -8, "y": -12.4, "rot": 180, "props": {"kind": "extinguisher"}, "name": "Extinguisher"},
|
||||
{"id": "staging", "type": "rack_row", "x": 0, "y": 5.5, "props": {"n": 6, "kind": "empty", "u": 48, "doors": "none"}, "name": "Racks waiting for install", "tag": "Staging"},
|
||||
{"id": "staging-p", "type": "person", "x": 1.8, "y": 3.6, "props": {"cls": "hivis"}, "name": "Technician"},
|
||||
{"id": "gf-ext-2", "type": "fire_device", "x": 6.73, "y": -6, "rot": 90, "props": {"kind": "extinguisher"}, "name": "Extinguisher"},
|
||||
{"id": "ups", "type": "power_cab", "x": 13.5, "y": 10.9, "props": {"kind": "UPS", "n": 6, "kw": 800}, "name": "UPS line-up", "tag": "UPS 6 × 800 kW"},
|
||||
{"id": "batt-1", "type": "power_cab", "x": 13.5, "y": 7.6, "props": {"kind": "battery", "n": 12, "kwh": 60}, "name": "Battery string A"},
|
||||
{"id": "batt-2", "type": "power_cab", "x": 13.5, "y": 4.6, "props": {"kind": "battery", "n": 12, "kwh": 60}, "name": "Battery string B"},
|
||||
{"id": "swg", "type": "power_cab", "x": 13.5, "y": -3.5, "props": {"kind": "switchgear", "n": 7}, "name": "LV switchgear", "tag": "Switchgear"},
|
||||
{"id": "gf-gas", "type": "gas_bank", "x": 20.45, "y": -8, "rot": 270, "props": {"agent": "Inergen", "n": 21, "litres": 140, "vol": 1620}, "name": "Inergen bank (power room)", "tag": "Inergen"},
|
||||
{"id": "gf-cp-2", "type": "fire_device", "x": 7.27, "y": -7.6, "rot": 90, "props": {"kind": "call point", "label": "Power room"}, "name": "Call point"},
|
||||
{"id": "gf-bc-2", "type": "fire_device", "x": 20.53, "y": 2, "rot": 270, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "gf-det-w", "type": "smoke_detectors", "x": -13.85, "y": 0, "props": {"w": 13.4, "d": 25.2, "spacing": 6.5, "h": 4.4, "zone": "GF lobby"}, "name": "Detectors GF lobby"},
|
||||
{"id": "gf-det-m", "type": "smoke_detectors", "x": 0, "y": 0, "props": {"w": 13.8, "d": 25.2, "spacing": 6.5, "h": 4.4, "zone": "GF staging"}, "name": "Detectors GF staging"},
|
||||
{"id": "gf-det-e", "type": "smoke_detectors", "x": 13.85, "y": 0, "props": {"w": 13.4, "d": 25.2, "spacing": 6.5, "h": 4.4, "kind": "multi-sensor", "zone": "GF power room"}, "name": "Detectors GF power room"},
|
||||
{"id": "1f-p1", "type": "house_wall", "x": -17.3, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 25.2, "h": 4.7, "t": 0.2, "mat": "firewall"}, "name": "1F fire wall (hall)"},
|
||||
{"id": "1f-p2", "type": "house_wall", "x": -18.95, "y": 2.9, "z": 5.0, "props": {"w": 3.3, "h": 4.7, "t": 0.2, "mat": "wall2"}, "name": "1F core wall"},
|
||||
{"id": "1f-p1-d1", "type": "door", "x": -17.3, "y": 8.5, "z": 5.0, "rot": 90, "props": {"w": 1.2, "h": 2.2, "style": "double", "mat": "doorg"}, "name": "Hall doors"},
|
||||
{"id": "1f-p1-d2", "type": "door", "x": -17.3, "y": -1.0, "z": 5.0, "rot": 90, "props": {"w": 1.0, "h": 2.1, "style": "panel", "mat": "doorg"}, "name": "Gas room door"},
|
||||
{"id": "1f-rf", "type": "raised_floor", "x": 1.8, "y": 0, "z": 5.0, "props": {"w": 37.8, "d": 25.2, "h": 0.6, "mat": "dcrf"}, "name": "1F raised floor"},
|
||||
{"id": "1f-det", "type": "smoke_detectors", "x": 1.8, "y": 0, "z": 5.0, "props": {"w": 37.8, "d": 25.2, "spacing": 6.0, "h": 4.55, "zone": "1F hall"}, "name": "Detectors 1F hall"},
|
||||
{"id": "1f-det-g", "type": "smoke_detectors", "x": -19.05, "y": -4.9, "z": 5.0, "props": {"w": 3.1, "d": 15.4, "spacing": 6.0, "h": 4.4, "coverage": false, "zone": "1F gas room"}, "name": "Detectors 1F gas room"},
|
||||
{"id": "1f-vesda-1", "type": "fire_pipe", "x": 1.75, "y": -9, "z": 5.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 1"},
|
||||
{"id": "1f-vesda-2", "type": "fire_pipe", "x": 1.75, "y": -3, "z": 5.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 2"},
|
||||
{"id": "1f-vesda-3", "type": "fire_pipe", "x": 1.75, "y": 3, "z": 5.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 3"},
|
||||
{"id": "1f-vesda-4", "type": "fire_pipe", "x": 1.75, "y": 9, "z": 5.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 4"},
|
||||
{"id": "1f-tray", "type": "cable_tray", "x": 2, "y": 0, "z": 5.0, "props": {"w": 36, "kind": "ladder", "width": 0.6, "h": 4.0, "fill": 60}, "name": "Main power tray"},
|
||||
{"id": "1f-rel", "type": "fire_device", "x": -17.03, "y": 5.4, "z": 5.0, "rot": 90, "props": {"kind": "release panel", "label": "1F hall"}, "name": "Release panel"},
|
||||
{"id": "1f-abort", "type": "fire_device", "x": -17.03, "y": 6.4, "z": 5.0, "rot": 90, "props": {"kind": "abort switch"}, "name": "Abort switch"},
|
||||
{"id": "1f-cp", "type": "fire_device", "x": -17.03, "y": 10.2, "z": 5.0, "rot": 90, "props": {"kind": "call point", "label": "1F hall"}, "name": "Call point"},
|
||||
{"id": "1f-bc-1", "type": "fire_device", "x": -17.03, "y": -6, "z": 5.0, "rot": 90, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "1f-bc-2", "type": "fire_device", "x": 20.53, "y": 5, "z": 5.0, "rot": 270, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "1f-ext", "type": "fire_device", "x": -16.8, "y": 1.2, "z": 5.0, "rot": 90, "props": {"kind": "extinguisher"}, "name": "Extinguisher"},
|
||||
{"id": "1f-stairs", "type": "stairs", "x": -19.4, "y": 7.9, "z": 5.0, "props": {"w": 1.4, "run": 6.4, "rise": 4.7, "mat": "concb"}, "name": "Stairs 1F"},
|
||||
{"id": "1f-crah-n1", "type": "crah", "x": -13, "y": 11.95, "z": 5.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-N1"},
|
||||
{"id": "1f-crah-s1", "type": "crah", "x": -13, "y": -11.95, "z": 5.0, "rot": 180, "props": {"kw": 150, "standby": true}, "name": "CRAH 1-S1"},
|
||||
{"id": "1f-crah-n2", "type": "crah", "x": -6.5, "y": 11.95, "z": 5.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-N2"},
|
||||
{"id": "1f-crah-s2", "type": "crah", "x": -6.5, "y": -11.95, "z": 5.0, "rot": 180, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-S2"},
|
||||
{"id": "1f-crah-n3", "type": "crah", "x": 0, "y": 11.95, "z": 5.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-N3"},
|
||||
{"id": "1f-crah-s3", "type": "crah", "x": 0, "y": -11.95, "z": 5.0, "rot": 180, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-S3"},
|
||||
{"id": "1f-crah-n4", "type": "crah", "x": 6.5, "y": 11.95, "z": 5.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-N4"},
|
||||
{"id": "1f-crah-s4", "type": "crah", "x": 6.5, "y": -11.95, "z": 5.0, "rot": 180, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-S4"},
|
||||
{"id": "1f-crah-n5", "type": "crah", "x": 13, "y": 11.95, "z": 5.0, "props": {"kw": 150, "standby": true}, "name": "CRAH 1-N5"},
|
||||
{"id": "1f-crah-s5", "type": "crah", "x": 13, "y": -11.95, "z": 5.0, "rot": 180, "props": {"kw": 150, "standby": false}, "name": "CRAH 1-S5"},
|
||||
{"id": "1f-pod-A1", "type": "dc_pod", "x": -11.5, "y": 4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod A1", "tag": "Pod A1"},
|
||||
{"id": "1f-pod-A2", "type": "dc_pod", "x": -11.5, "y": -4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod A2", "tag": "Pod A2"},
|
||||
{"id": "1f-bus-AL", "type": "busway", "x": -12.7, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-bus-AR", "type": "busway", "x": -10.3, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-fibre-A", "type": "cable_tray", "x": -11.5, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 40}, "name": "Fibre duct"},
|
||||
{"id": "1f-pod-B1", "type": "dc_pod", "x": -5.5, "y": 4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod B1", "tag": "Pod B1"},
|
||||
{"id": "1f-pod-B2", "type": "dc_pod", "x": -5.5, "y": -4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod B2", "tag": "Pod B2"},
|
||||
{"id": "1f-bus-BL", "type": "busway", "x": -6.7, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-bus-BR", "type": "busway", "x": -4.3, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-fibre-B", "type": "cable_tray", "x": -5.5, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 40}, "name": "Fibre duct"},
|
||||
{"id": "1f-pod-C1", "type": "dc_pod", "x": 0.5, "y": 4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "storage", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod C1", "tag": "Pod C1"},
|
||||
{"id": "1f-pod-C2", "type": "dc_pod", "x": 0.5, "y": -4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "storage", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod C2", "tag": "Pod C2"},
|
||||
{"id": "1f-bus-CL", "type": "busway", "x": -0.7, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-bus-CR", "type": "busway", "x": 1.7, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-fibre-C", "type": "cable_tray", "x": 0.5, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 40}, "name": "Fibre duct"},
|
||||
{"id": "1f-pod-D1", "type": "dc_pod", "x": 6.5, "y": 4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod D1", "tag": "Pod D1"},
|
||||
{"id": "1f-pod-D2", "type": "dc_pod", "x": 6.5, "y": -4.3, "z": 5.0, "rot": 90, "props": {"n": 10, "kind": "servers", "kw": 7, "fill": 75, "u": 42, "contain": "cold"}, "name": "Pod D2", "tag": "Pod D2"},
|
||||
{"id": "1f-bus-DL", "type": "busway", "x": 5.3, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-bus-DR", "type": "busway", "x": 7.7, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "h": 3.15, "amps": 630}, "name": "Busway"},
|
||||
{"id": "1f-fibre-D", "type": "cable_tray", "x": 6.5, "y": 0, "z": 5.0, "rot": 90, "props": {"w": 15, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 40}, "name": "Fibre duct"},
|
||||
{"id": "1f-net", "type": "rack_row", "x": 13.6, "y": 0, "z": 5.0, "rot": 270, "props": {"n": 8, "kind": "network", "kw": 4, "fill": 80, "doors": "glass"}, "name": "Network row (meet-me)", "tag": "Meet-me room"},
|
||||
{"id": "1f-pdu", "type": "power_cab", "x": 17.2, "y": 0, "z": 5.0, "rot": 270, "props": {"kind": "PDU", "n": 6, "kw": 300}, "name": "PDUs 1F"},
|
||||
{"id": "1f-gaspipe-1", "type": "fire_pipe", "x": 1.75, "y": -6, "z": 5.0, "props": {"w": 37.5, "kind": "gas", "spacing": 6.2, "h": 4.25}, "name": "Gas discharge pipe"},
|
||||
{"id": "1f-gaspipe-2", "type": "fire_pipe", "x": 1.75, "y": 6, "z": 5.0, "props": {"w": 37.5, "kind": "gas", "spacing": 6.2, "h": 4.25}, "name": "Gas discharge pipe"},
|
||||
{"id": "1f-gas", "type": "gas_bank", "x": -20.45, "y": -5.4, "z": 5.0, "rot": 90, "props": {"agent": "Novec 1230", "n": 18, "litres": 140}, "name": "Novec 1230 bank (hall A)", "tag": "Novec 1230"},
|
||||
{"id": "1f-tech", "type": "person", "x": 3.5, "y": 0.6, "z": 5.0, "props": {"cls": "hivis"}, "name": "Technician"},
|
||||
{"id": "2f-p1", "type": "house_wall", "x": -17.3, "y": 0, "z": 10.0, "rot": 90, "props": {"w": 25.2, "h": 4.7, "t": 0.2, "mat": "firewall"}, "name": "2F fire wall (hall)"},
|
||||
{"id": "2f-p2", "type": "house_wall", "x": -18.95, "y": 2.9, "z": 10.0, "props": {"w": 3.3, "h": 4.7, "t": 0.2, "mat": "wall2"}, "name": "2F core wall"},
|
||||
{"id": "2f-p1-d1", "type": "door", "x": -17.3, "y": 8.5, "z": 10.0, "rot": 90, "props": {"w": 1.2, "h": 2.2, "style": "double", "mat": "doorg"}, "name": "Hall doors"},
|
||||
{"id": "2f-p1-d2", "type": "door", "x": -17.3, "y": -1.0, "z": 10.0, "rot": 90, "props": {"w": 1.0, "h": 2.1, "style": "panel", "mat": "doorg"}, "name": "Gas room door"},
|
||||
{"id": "2f-rf", "type": "raised_floor", "x": 1.8, "y": 0, "z": 10.0, "props": {"w": 37.8, "d": 25.2, "h": 0.6, "mat": "dcrf2"}, "name": "2F raised floor"},
|
||||
{"id": "2f-det", "type": "smoke_detectors", "x": 1.8, "y": 0, "z": 10.0, "props": {"w": 37.8, "d": 25.2, "spacing": 6.0, "h": 4.55, "zone": "2F hall"}, "name": "Detectors 2F hall"},
|
||||
{"id": "2f-det-g", "type": "smoke_detectors", "x": -19.05, "y": -4.9, "z": 10.0, "props": {"w": 3.1, "d": 15.4, "spacing": 6.0, "h": 4.4, "coverage": false, "zone": "2F gas room"}, "name": "Detectors 2F gas room"},
|
||||
{"id": "2f-vesda-1", "type": "fire_pipe", "x": 1.75, "y": -9, "z": 10.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 1"},
|
||||
{"id": "2f-vesda-2", "type": "fire_pipe", "x": 1.75, "y": -3, "z": 10.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 2"},
|
||||
{"id": "2f-vesda-3", "type": "fire_pipe", "x": 1.75, "y": 3, "z": 10.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 3"},
|
||||
{"id": "2f-vesda-4", "type": "fire_pipe", "x": 1.75, "y": 9, "z": 10.0, "props": {"w": 37.5, "kind": "VESDA", "spacing": 4.0, "h": 4.4}, "name": "VESDA pipe 4"},
|
||||
{"id": "2f-tray", "type": "cable_tray", "x": 2, "y": 0, "z": 10.0, "props": {"w": 36, "kind": "ladder", "width": 0.6, "h": 4.0, "fill": 60}, "name": "Main power tray"},
|
||||
{"id": "2f-rel", "type": "fire_device", "x": -17.03, "y": 5.4, "z": 10.0, "rot": 90, "props": {"kind": "release panel", "label": "2F hall"}, "name": "Release panel"},
|
||||
{"id": "2f-abort", "type": "fire_device", "x": -17.03, "y": 6.4, "z": 10.0, "rot": 90, "props": {"kind": "abort switch"}, "name": "Abort switch"},
|
||||
{"id": "2f-cp", "type": "fire_device", "x": -17.03, "y": 10.2, "z": 10.0, "rot": 90, "props": {"kind": "call point", "label": "2F hall"}, "name": "Call point"},
|
||||
{"id": "2f-bc-1", "type": "fire_device", "x": -17.03, "y": -6, "z": 10.0, "rot": 90, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "2f-bc-2", "type": "fire_device", "x": 20.53, "y": 5, "z": 10.0, "rot": 270, "props": {"kind": "beacon"}, "name": "Sounder-beacon"},
|
||||
{"id": "2f-ext", "type": "fire_device", "x": -16.8, "y": 1.2, "z": 10.0, "rot": 90, "props": {"kind": "extinguisher"}, "name": "Extinguisher"},
|
||||
{"id": "2f-stairs", "type": "stairs", "x": -19.4, "y": 7.9, "z": 10.0, "props": {"w": 1.4, "run": 6.4, "rise": 4.7, "mat": "concb"}, "name": "Stairs 2F"},
|
||||
{"id": "2f-gpu-11", "type": "dc_pod", "x": -11.5, "y": 4.2, "z": 10.0, "rot": 90, "props": {"n": 8, "kind": "GPU", "kw": 30, "fill": 85, "u": 48, "contain": "hot", "inrow": 2, "inrow_kw": 90, "duct": true, "duct_h": 4.2, "doors": "glass"}, "name": "GPU pod 11", "tag": "GPU 11"},
|
||||
{"id": "2f-gpu-12", "type": "dc_pod", "x": -11.5, "y": -4.2, "z": 10.0, "rot": 90, "props": {"n": 8, "kind": "GPU", "kw": 30, "fill": 85, "u": 48, "contain": "hot", "inrow": 2, "inrow_kw": 90, "duct": true, "duct_h": 4.2, "doors": "glass"}, "name": "GPU pod 12", "tag": "GPU 12"},
|
||||
{"id": "2f-bus-1L", "type": "busway", "x": -12.7, "y": 0, "z": 10.0, "rot": 90, "props": {"w": 14, "h": 3.2, "amps": 1250}, "name": "Busway"},
|
||||
{"id": "2f-bus-1R", "type": "busway", "x": -10.3, "y": 0, "z": 10.0, "rot": 90, "props": {"w": 14, "h": 3.2, "amps": 1250}, "name": "Busway"},
|
||||
{"id": "2f-gpu-21", "type": "dc_pod", "x": -5.5, "y": 4.2, "z": 10.0, "rot": 90, "props": {"n": 8, "kind": "GPU", "kw": 30, "fill": 85, "u": 48, "contain": "hot", "inrow": 2, "inrow_kw": 90, "duct": false, "duct_h": 4.2, "doors": "glass"}, "name": "GPU pod 21", "tag": "GPU 21"},
|
||||
{"id": "2f-gpu-22", "type": "dc_pod", "x": -5.5, "y": -4.2, "z": 10.0, "rot": 90, "props": {"n": 8, "kind": "GPU", "kw": 30, "fill": 85, "u": 48, "contain": "hot", "inrow": 2, "inrow_kw": 90, "duct": false, "duct_h": 4.2, "doors": "glass"}, "name": "GPU pod 22", "tag": "GPU 22"},
|
||||
{"id": "2f-bus-2L", "type": "busway", "x": -6.7, "y": 0, "z": 10.0, "rot": 90, "props": {"w": 14, "h": 3.2, "amps": 1250}, "name": "Busway"},
|
||||
{"id": "2f-bus-2R", "type": "busway", "x": -4.3, "y": 0, "z": 10.0, "rot": 90, "props": {"w": 14, "h": 3.2, "amps": 1250}, "name": "Busway"},
|
||||
{"id": "2f-cage-1", "type": "dc_cage", "x": 4.6, "y": 4.5, "z": 10.0, "props": {"w": 7.2, "d": 5.7}, "name": "Cage 1", "tag": "Cage 1"},
|
||||
{"id": "2f-colo-1", "type": "dc_pod", "x": 4.6, "y": 4.5, "z": 10.0, "props": {"n": 8, "kind": "servers", "kw": 8, "fill": 55, "contain": "none", "doors": "solid"}, "name": "Cage 1 racks"},
|
||||
{"id": "2f-fibre-1", "type": "cable_tray", "x": 4.6, "y": 4.5, "z": 10.0, "props": {"w": 7.2, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 30}, "name": "Fibre duct"},
|
||||
{"id": "2f-cage-2", "type": "dc_cage", "x": 4.6, "y": -4.5, "z": 10.0, "props": {"w": 7.2, "d": 5.7}, "name": "Cage 2", "tag": "Cage 2"},
|
||||
{"id": "2f-colo-2", "type": "dc_pod", "x": 4.6, "y": -4.5, "z": 10.0, "props": {"n": 8, "kind": "network", "kw": 8, "fill": 65, "contain": "none", "doors": "mesh"}, "name": "Cage 2 racks"},
|
||||
{"id": "2f-fibre-2", "type": "cable_tray", "x": 4.6, "y": -4.5, "z": 10.0, "props": {"w": 7.2, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 30}, "name": "Fibre duct"},
|
||||
{"id": "2f-cage-3", "type": "dc_cage", "x": 13.6, "y": 4.5, "z": 10.0, "props": {"w": 7.2, "d": 5.7}, "name": "Cage 3", "tag": "Cage 3"},
|
||||
{"id": "2f-colo-3", "type": "dc_pod", "x": 13.6, "y": 4.5, "z": 10.0, "props": {"n": 8, "kind": "storage", "kw": 8, "fill": 75, "contain": "none", "doors": "solid"}, "name": "Cage 3 racks"},
|
||||
{"id": "2f-fibre-3", "type": "cable_tray", "x": 13.6, "y": 4.5, "z": 10.0, "props": {"w": 7.2, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 30}, "name": "Fibre duct"},
|
||||
{"id": "2f-cage-4", "type": "dc_cage", "x": 13.6, "y": -4.5, "z": 10.0, "props": {"w": 7.2, "d": 5.7}, "name": "Cage 4", "tag": "Cage 4"},
|
||||
{"id": "2f-colo-4", "type": "dc_pod", "x": 13.6, "y": -4.5, "z": 10.0, "props": {"n": 8, "kind": "servers", "kw": 8, "fill": 85, "contain": "none", "doors": "mesh"}, "name": "Cage 4 racks"},
|
||||
{"id": "2f-fibre-4", "type": "cable_tray", "x": 13.6, "y": -4.5, "z": 10.0, "props": {"w": 7.2, "kind": "fibre", "width": 0.3, "h": 3.65, "fill": 30}, "name": "Fibre duct"},
|
||||
{"id": "2f-crah-n1", "type": "crah", "x": 2, "y": 11.95, "z": 10.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 2-N1"},
|
||||
{"id": "2f-crah-s1", "type": "crah", "x": 2, "y": -11.95, "z": 10.0, "rot": 180, "props": {"kw": 150}, "name": "CRAH 2-S1"},
|
||||
{"id": "2f-crah-n2", "type": "crah", "x": 9, "y": 11.95, "z": 10.0, "props": {"kw": 150, "standby": false}, "name": "CRAH 2-N2"},
|
||||
{"id": "2f-crah-s2", "type": "crah", "x": 9, "y": -11.95, "z": 10.0, "rot": 180, "props": {"kw": 150}, "name": "CRAH 2-S2"},
|
||||
{"id": "2f-crah-n3", "type": "crah", "x": 16, "y": 11.95, "z": 10.0, "props": {"kw": 150, "standby": true}, "name": "CRAH 2-N3"},
|
||||
{"id": "2f-crah-s3", "type": "crah", "x": 16, "y": -11.95, "z": 10.0, "rot": 180, "props": {"kw": 150}, "name": "CRAH 2-S3"},
|
||||
{"id": "2f-spr-1", "type": "fire_pipe", "x": 9.5, "y": -8.5, "z": 10.0, "props": {"w": 21, "kind": "sprinkler", "spacing": 3.0, "h": 4.25, "unit": false}, "name": "Pre-action sprinkler pipe"},
|
||||
{"id": "2f-spr-2", "type": "fire_pipe", "x": 9.5, "y": 8.5, "z": 10.0, "props": {"w": 21, "kind": "sprinkler", "spacing": 3.0, "h": 4.25, "unit": false}, "name": "Pre-action sprinkler pipe"},
|
||||
{"id": "2f-gas", "type": "gas_bank", "x": -20.45, "y": -5.4, "z": 10.0, "rot": 90, "props": {"agent": "FM-200", "n": 18, "litres": 140}, "name": "FM-200 bank (hall B)", "tag": "FM-200"},
|
||||
{"id": "2f-tech", "type": "person", "x": -2.0, "y": 1.0, "z": 10.0, "props": {"cls": "guest2"}, "name": "Engineer"},
|
||||
{"id": "chiller-1", "type": "chiller", "x": -12, "y": -7, "z": 15.0, "props": {"w": 9, "kw": 1000}, "name": "Chiller 1", "tag": "CH1"},
|
||||
{"id": "chiller-2", "type": "chiller", "x": -1, "y": -7, "z": 15.0, "props": {"w": 9, "kw": 1000}, "name": "Chiller 2"},
|
||||
{"id": "chiller-3", "type": "chiller", "x": 10, "y": -7, "z": 15.0, "props": {"w": 9, "kw": 1000}, "name": "Chiller 3"},
|
||||
{"id": "chiller-4", "type": "chiller", "x": -6.5, "y": 6, "z": 15.0, "props": {"w": 9, "kw": 1000}, "name": "Chiller 4"},
|
||||
{"id": "chiller-5", "type": "chiller", "x": 4.5, "y": 6, "z": 15.0, "props": {"w": 9, "kw": 1000}, "name": "Chiller 5"},
|
||||
{"id": "dry", "type": "chiller", "x": 15.5, "y": 6, "z": 15.0, "props": {"w": 8, "kw": 600, "kind": "adiabatic"}, "name": "Adiabatic cooler (GPU loop)"},
|
||||
{"id": "roof-pipes", "type": "pipe_run", "x": 0, "y": -0.5, "z": 15.0, "props": {"w": 38, "dn": 0.35, "h": 0.9}, "name": "Chilled water headers"}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user