Site fit and recipe scaling
Site fit checks whether a process can run in a real facility. You describe the plant’s equipment in a site file. FlowState then assigns every vessel-type procedure to a site vessel, lists everything that does not fit, and can scale the recipe to the plant.
Site fit is off until you pick a site. A project without a site simulates exactly as before.
Sites
A site is a list of equipment. Each item records:
| Field | Meaning |
|---|---|
| Tag | Equipment tag, e.g. R-102 |
| Family | Reactor, Fermentor, Single-use vessel, Tank, Crystallizer, Filter / filter-dryer, Dryer, Centrifuge, Column / evaporator |
| Nominal / max working volume | Brim-full volume, and the largest batch it may hold (m³) |
| Minimum stir volume | Smallest content that still covers the agitator (m³) |
| Material of construction | SS316L, SS304, Hastelloy C-276, glass-lined, PTFE-lined, carbon steel or single-use film |
| Temperature / pressure rating | Allowed range in °C and bar absolute (0 bar a = full vacuum) |
| Jacket area, agitation | Heat-transfer area (m²); agitator type (none, anchor, impeller, magnetic) |
| Utilities | Steam, high-pressure steam, hot water, cooling water, chilled water, brine/glycol, refrigerant, nitrogen, vacuum, compressed air, process air |
| Cleaning | Whether the vessel is CIP-connected and can be steamed in place (SIP) |
Sites are stored as standalone .site.json files, so one file can describe a plant for many
projects. The site you pick is also saved inside the project, together with any vessel
assignments you change.
FlowState ships two example sites:
- Pilot plant: 100–630 L reactors, a pilot fermentor, a single-use bioreactor, tanks, a filter-dryer and a tray dryer.
- Multipurpose pharma plant: a 1.6–16 m³ reactor train in glass-lined, Hastelloy, stainless and PTFE-lined steel, plus a crystallizer, receivers, a filter-dryer, a paddle dryer, a basket centrifuge and a 20 m³ fermentor.
The example sites are illustrative. Their data is plausible but invented and does not describe any real facility. Export one, edit it with your own plant’s data, and import it again.
The Site fit window
Open Tasks ▸ Site fit…, or press Ctrl+K and type site. The window contains:
- Site: pick None, an example site, or Import .site.json…. Export… saves the current site as a file.
- Assignments and fit report: one row per vessel-type procedure. It shows what the procedure needs (family, peak volume, smallest stirred volume, temperature range), its vessel and its status. The Vessel list offers Auto (best fit) and every site vessel of a suitable family. Choosing a vessel overrides the automatic choice. Automatic best fit clears every override.
- Under the table, the problems of each procedure. When another vessel would fit, an Assign R-102 instead button appears.
- Recipe scaling (see below).
- Site equipment: the site’s equipment table.
Procedures without vessel-type equipment (pumps, mixers, heat exchangers, membranes…) are listed as not assessed.
Fit problems also appear in the Problems pane and on the flowsheet badges, each with a Why, a Fix and, where safe, a one-click fix.
How the best fit is chosen
Procedures are assigned from the largest batch down. For each one, FlowState checks every site vessel whose family can host it. A reactor can also serve as a tank, a crystallizer or a batch-distillation pot, a fermentor as a tank, and a filter-dryer as a dryer. The candidates are ranked by:
- fewest errors;
- fewest warnings;
- a vessel not already taken by other equipment;
- the exact family before a substitute;
- the smallest vessel that holds the batch.
Procedures that share an equipment tag in the process share one site vessel. Two different equipment items in one vessel are noted, so you can check their schedules for overlaps.
Fit checks
| Check | Level | Rule |
|---|---|---|
| Volume over | Error | Peak content volume above the vessel’s maximum working volume |
| Volume under | Note | Peak volume below 20 % of the working volume (oversized vessel) |
| Minimum stir volume | Warning | An agitated operation (heat, cool, react, hold, agitate) runs with less than the minimum stir volume. Uses the batch volume profile shown in the inspector sparkline; charging into an empty vessel is not flagged |
| Temperature | Error | Content temperature outside the rating |
| Pressure | Error | Vent relief set point or operation pressure above the rating, or a vacuum below it |
| Material | Error | A component in a stream entering or leaving the procedure attacks the material of construction (table below) |
| Utility | Error | A heat-transfer agent used, nitrogen purge, aeration or vacuum is not available. High-pressure steam covers steam, brine covers chilled water, and so on |
| Cleaning | Warning | The recipe has a CIP (or SIP) step and the vessel has no CIP connection (or cannot be steamed) |
| No vessel / unknown tag | Error | No site vessel of a suitable family, or an override names a tag that is not in the site |
The working volume is not checked for centrifuges and columns, because they process the batch as a flow.
Material compatibility table
The material check is a simple, conservative screen. It is not a substitute for a corrosion engineer or the vendor’s resistance charts. A component matches a rule by name, formula or CAS number when its mass fraction is above the threshold.
| Chemical | Threshold | Not allowed in |
|---|---|---|
| Hydrochloric acid / HCl | 0.1 wt% | SS316L, SS304, carbon steel |
| Hydrofluoric acid / fluorides | 0.01 wt% | glass-lined, SS316L, SS304, carbon steel |
| Sulfuric acid | 1 wt% | SS304, carbon steel |
| Nitric acid | 1 wt% | carbon steel |
| Chlorine / hypochlorite | 0.1 wt% | SS316L, SS304, carbon steel |
| Strong caustic (NaOH, KOH) | 5 wt% | glass-lined |
| Aggressive solvents (DCM, chloroform, toluene, xylene, THF, hexane, heptane, ethyl acetate) | 1 wt% | single-use film |
Recipe scaling
Recipe scaling multiplies every charge (every process feed) by one factor. Streams set by their operations (washes, pull-ins, buffers) follow automatically, and design-mode equipment re-sizes. Choose a target:
- Largest batch: fill the limiting vessel (the fullest one) to its maximum working volume.
- Minimum stir volume: the smallest batch that covers the agitator in every agitated vessel.
- Target amount: an amount per batch of a stream, such as an intermediate or the product, or of one component in it.
- ×N: a plain multiple.
Volumes and amounts are not exactly proportional to the feeds, so FlowState refines the factor by re-simulating. Preview shows the factor, the batch size (total feed per batch) before and after, the limiting procedure and vessel, and the fit problems left after scaling. Apply scales the recipe as one undo step. With Largest batch and Minimum stir volume the current vessel assignments are kept as overrides, so the scaled recipe stays in the vessels it was scaled for.
The registry commands are:
| Command | Action |
|---|---|
site.open | Open the Site fit window |
site.fit | Clear the overrides and fit automatically (one undo step) |
site.scale | Scale to the largest batch the limiting vessel allows (one undo step) |
Command line
flowstate-cli site-fit process.flow --site my-plant.site.json
flowstate-cli site-fit process.flow --example pharma --json
flowstate-cli site-fit process.flow # uses the site saved in the project
The text report lists each procedure, its vessel (* marks an override), its peak and stirred
volumes and its problems. --json prints the same report with issue kinds (VolumeOver,
MinStir, Material, …), levels and suggested alternatives. The exit code is 2 when the fit has
errors.