MiravoMiravo

Pharma Cleanroom

Run a GMP sterile suite with Grade B, C, D and gowning cleanrooms, a pressure cascade, make-up air, a chilled-water plant, and door and filter faults.

Pharma Cleanroom template illustration

A GMP sterile manufacturing suite. Four cleanrooms (Grade B, Grade C, Grade D and the gowning room) hold a pressure cascade against the corridor. Two make-up air units, a duty/standby chilled-water plant and a clean steam stand-in support them. Every cleanroom's makeup_air_temp input is bound to makeup-air-001 supply_air_temp, so a make-up unit fault leaks a few tenths of a kelvin into the rooms.

Each room has its own air change rate and pressure setpoint. Door events, shift activity and filter loading move pressure and particle counts the way a quality team watches them. The 24-hour profile runs two production shifts with breaks, then overnight cleaning.

Ages are mixed: the gowning room at 8,500 hours, Grade C at 6,000, Grade B at 3,000 and Grade D at 1,000. Both chillers are young (40 and 5 hours) because the chiller lifecycle is measured in tens of hours.

What's running

AreaAssets
CleanroomsGrade B, Grade C, Grade D and gowning zones
Make-up air2 rooftop units
Utilities2 chillers, 2 chilled-water pumps, buffer tank, clean steam stand-in
ModelCountAssets
cleanroom-zone4see below
hvac-rtu2makeup-air-001, makeup-air-002 (23.5 °C setpoint, the lowest the model allows)
industrial-chiller2chiller-001 (duty), chiller-002 (standby), 200 kW, 6.5 °C supply
centrifugal-pump2chw-pump-001, chw-pump-002
storage-tank1chw-buffer-001 (5,000 L)
hot-water-boiler1clean-steam-001 (300 kW)
ZoneAir changesPressure vs corridorVolume
zone-b-001 (Grade B)50 ACH40 Pa120 m³
zone-c-001 (Grade C)25 ACH30 Pa300 m³
zone-d-001 (Grade D)15 ACH20 Pa450 m³
gowning-001 (gowning)12 ACH10 Pa80 m³

The pressure alarm trips 10 Pa below each setpoint (30, 20 and 10 Pa) and at 5 Pa in the gowning room. Gowning is monitored with Grade D limits.

Clean steam is an approximation

Miravo has no clean steam generator model. clean-steam-001 is a hot-water boiler at a 100 °C setpoint and 3 bar. It produces hot water, not steam.

Hierarchy

pharmaco / sterile-plant
├── cleanrooms
│   ├── grade-b: zone-b-001
│   ├── grade-c: zone-c-001
│   ├── grade-d: zone-d-001
│   └── gowning: gowning-001
├── make-up-air
│   └── rooftop-units: makeup-air-001, makeup-air-002
└── utilities
    ├── chilled-water: chiller-001, chiller-002, chw-pump-001, chw-pump-002, chw-buffer-001
    └── clean-steam: clean-steam-001

What to watch

  • differential_pressure on each zone. The 10 Pa steps between adjacent grades are the cascade. It dips on door events and falls when airflow drops.
  • air_changes_per_hour against the target, and hepa_filter_dp, which rises with wear and loading.
  • room_temperature and relative_humidity against the setpoints.
  • particle_count_0_5um, particle_count_5um and door_open. Each room carries its own Annex 1 action limits, so Grade B alarms at 352,000 / 2,930 per m³ in operation and 3,520 / 29 at rest, while Grade D and gowning use 3,520,000 / 29,300.
  • excursion_count per room, with dp_excursion_count, temp_excursion_count, rh_excursion_count and particle_excursion_count. A simulated week with the shipped random faults gives each room a handful to about ten excursions, mostly pressure alarms from door and fan events. Ask "how many excursions, and on which rooms" by comparing the counters across the four zones.
  • Chiller supply_temp and compressor_stage. chiller-001 is the duty unit: supply regulates to the 6.5 °C setpoint with about 3 K delta-T at the default 50% load, and the stages cycle with the daily load swing. chiller-002 is the standby (standby_unit: 1, its duty_compressor_stage input bound to chiller-001 compressor_stage): it idles at stage 0 until the duty chiller stops or trips (miravo inject chiller-001 compressor_failure), then takes the full load within seconds.

Faults to try

Commands assume miravo start -t pharma-cleanroom.

miravo inject zone-b-001 pressure_cascade_loss

The key GMP alarm. The pressure target drops 20 Pa, so Grade B goes from about 40 Pa to about 20 Pa for 15 simulated minutes.

miravo inject zone-b-001 hepa_filter_loading

Filter loading. hepa_filter_dp climbs from about 250 Pa towards 370 Pa and supply_airflow falls. The weaker airflow also pulls differential_pressure down.

miravo inject zone-d-001 humidifier_failure

humidifier_output drops to zero and relative_humidity drifts from about 50 % to under 30 %.

miravo inject zone-c-001 door_left_open

The door stays open for 4 simulated minutes while staff are active. The cascade collapses and particle_count_0_5um climbs. It waits for shift activity above 0.3, so it can start a moment after you inject it.

miravo inject zone-b-001 supply_fan_degraded

The fan delivers about 70 % of its reference for 30 simulated minutes. Grade B pressure goes negative, dp_alarm asserts after about 2 minutes, and 5 µm counts pass the in-operation action limit: excursion_count goes up by one while dp_excursion_count and particle_excursion_count both count.

Clear any of them with --clear, for example miravo inject zone-b-001 pressure_cascade_loss --clear.

Launch

Console ⭢ Catalog ⭢ Pharma Cleanroom ⭢ Launch. No restart required.

Verified

In Catalog, Pharma Cleanroom shows 12 assets and 6 models. The Assets page keeps updating after launch.

Next

Was this page useful?

Last updated on