• Three inputs determine everything: total system volume, cold-fill and maximum operating temperature, and the coolant's expansion behaviour. Two more set the pressure term: static height and safety valve setting.
• Expansion volume: V_e = V_sys × (ρ_cold / ρ_hot − 1)
• Vessel volume: V_vessel = (V_e + V_reserve) / (1 − Pθ/P_f), where pressures are absolute and V_reserve is the EN 12828 minimum water reserve of 0.5 % of system volume.
• The term (1 − Pθ/P_f) is the acceptance ratio — the fraction of nominal vessel volume that is actually usable. It is typically 0.5–0.65, which is why the vessel is usually 2–3× the expansion volume. This is where undersized selections come from.
• Glycol expands more than water. Pure propylene glycol has a volumetric expansion coefficient roughly 2.7× water at 20 °C; a 25 % PG mixture typically expands about 1.3–1.5× more than water over the same temperature rise. Sizing on water properties undersizes the vessel.
• Worked example (AI secondary loop, PG25, 3,000 L, 20→ 50 °C): 94 L calculated → select 100 L nominal.
• Worked example (facility water system, 50,000 L, 10→40 °C): 1,186 L calculated → select 1,200–1,500 L.
Expansion vessel sizing is not a complicated calculation. It is, however, a calculation with four separate opportunities to introduce a conservative error, and they all point the same way — toward a vessel that is too small.
1. Using water's expansion coefficient for a glycol loop.
2. Forgetting the EN 12828 water reserve.
3. Using gauge pressures instead of absolute pressures in the ratio term.
4. Confusing the expansion volume with the vessel volume. This is the big one. A vessel that accepts 43 L of expansion is not a 43 L vessel — it is typically a 100 L
vessel, because only part of the nominal volume is usable between pre-charge and final pressure.
The consequences of undersizing are visible and unpleasant: system pressure climbs into the relief valve setting during normal operation, the valve weeps or lifts, fluid is lost, pressure drops, air is drawn in on cool-down, and the loop begins to corrode. None of this is dramatic enough to trip an alarm immediately. It just quietly degrades the plant for years.
Gather these seven values. Without them, any "estimate" is guesswork.
# | Input | Symbol | Typical source |
1 | Total system fluid volume | V_sys | Sum of pipework, CDU, manifolds, cold plates, tank volumes. The most commonly underestimated input |
2 | Cold fill temperature | T_cold | Commissioning conditions; often 10–20 °C |
3 | Maximum operating temperature | T_hot | Highest fluid temperature anywhere in the loop at maximum load |
4 | Coolant type and concentration | — | Water, PG25, PG30, synthetic hydrocarbon |
5 | Static height, vessel connection to highest point | H | Plant drawings, in metres |
6 | Safety valve setting | P_sv | Set by the lowest-rated component in the loop, not the pipework |
7 | Maximum allowable working pressure of the vessel | P_max | Must exceed P_sv |
A warning on V_sys. On the technology side of an AI deployment, the volume is not dominated by pipework — it is dominated by the CDU internal volume, the in-rack manifolds and the cold plates. A GB200 NVL72 rack contains 54 cold plates plus a compute tray manifold network; multiplied across a row with shared distribution, the secondary volume adds up fast. Obtain the volume from the CDU vendor and the rack OEM rather than estimating from pipe runs. If you cannot obtain it, overestimate.
A warning on P_sv. The safety valve setting is bounded by the weakest component. In a technology cooling system that is usually the cold plate or the quick disconnect, commonly rated in the 2.4–3.5 bar range for secondary service — not the 6 or 10 bar that the distribution pipework could take. Confirm the actual figure in writing from the equipment vendors before you fix the pressure term.
The fundamental relation comes from the change in coolant density between cold and hot states:
V_e = V_sys × (ρ_cold / ρ_hot __ 1)
Equivalently, using a tabulated cumulative expansion coefficient e:
V_e = V_sys × e
Both forms are identical; use whichever your data supports. Density values are more defensible in a calculation sheet because they can be traced to a published property table.
Cumulative volumetric expansion of water relative to 4 °C (derived from standard density data):
| Temperature (°C) | Density (kg/ m ³) | Cumulative expansion e (vs 4 °C) | Volume increase |
| 4 | 1000 | 0 | 0.00% |
| 10 | 999.7 | 0.0003 | 0.03% |
| 20 | 998.21 | 0.00179 | 0.18% |
| 30 | 995.65 | 0.00437 | 0.44% |
| 40 | 992.22 | 0.00784 | 0.78% |
| 50 | 988.04 | 0.01211 | 1.21% |
| 60 | 983.2 | 0.01709 | 1.71% |
| 70 | 977.76 | 0.02275 | 2.28% |
| 80 | 971.8 | 0.02902 | 2.90% |
| 90 | 965.31 | 0.03594 | 3.59% |
| 100 | 958.35 | 0.04346 | 4.35% |
Expansion between two temperatures is found from the density ratio, not by subtracting the tabulated coefficients (though for small ranges the two agree closely):
Range | ρ_cold/ρ_hot __ 1 | Expansion |
10 → 40 °C | 999.70 / 992.22 − 1 | 0.75 % |
20 → 40 °C | 998.21 / 992.22 − 1 | 0.60 % |
20 → 50 °C | 998.21 / 988.04 − 1 | 1.03 % |
10 → 90 °C | 999.70 / 965.31 − 1 | 3.56 % |
4 → 100 °C | 1000.0 / 958.35 − 1 | 4.35 % |
Notice the non-linearity. The expansion from 10 to 40 °C is 0.75 %; from 60 to 90 °C it is roughly 2 %. Water's expansion coefficient grows with temperature, so the same ΔT at a higher mean temperature produces more expansion. This matters less in low- temperature AI secondary loops than in heating systems, but it matters a great deal on the facility water side if supply temperatures are elevated.
The glycol correction — the most common error
Propylene glycol expands substantially more than water. Pure propylene glycol has a volumetric expansion coefficient of roughly 0.00057 /K at 20 °C, against about 0.000214 / K for water — approximately 2.7× higher.
A 25 % PG solution does not expand 2.7× as much as water, because it is still 75 % water. In practice, PG25 expansion over a given ΔT is typically 1.3–1.5× that of pure water. The exact multiplier depends on temperature and on the specific inhibitor package, so the defensible approach is:
Ask the coolant supplier for the expansion coefficient or the density-versus- temperature table for the exact product and concentration you are using.
lf you cannot obtain it, use 1.4× the water figure as a conservative planning value and flag it as an assumption in the calculation sheet.
Because the same fluid choice affects pumping power, heat transfer and storage capacity as well as expansion, here is the full picture for PG25 versus water at around 40 °C:
Property | Water | PG25 (typical) | Consequence |
Density ρ | ≈ 992 kg/ m³ | ≈ 1,010 kg/m³ | Slightly higher pumping mass |
Specific heat c_p | ≈ 4.18 kJ/ (kg.K) | ≈ 3.8–4.0 kJ/ (kg.K) | Needs more flow for the same duty |
Thermal conductivity k | ≈ 0.63 W/ (m.K) | ≈ 0.43–0.49 W/ (m.K) | ~22 % lower heat transfer capability |
Dynamic viscosity μ | ≈ 0.65 mPa.s | ≈ 1.4 mPa.s and above | ~2× the pumping power |
Freeze point | 0 °C | ≈ _10 to _13 °C | The reason PG25 exists |
Expansion vs water | 1.0× | ≈ 1.3–1.5× | Larger expansion vessel required |
PG25 remains the standard recommendation for Al cold-plate loops because freeze protection and corrosion inhibition matter more than the ~5 % loss in volumetric heat capacity. The engineering response is to size the vessel correctly for the fluid you are actually using — not to switch back to water.
Pre-charge is a gauge pressure converted to absolute for the sizing equation. Two references:
EN 12828 minimum:
Pθ ≥ H/10 + 0.2 bar (H in metres, result in bar gauge)
Common engineering practice (larger margin, recommended):
• Pθ = H/10 + 0.3 bar for systems up to 100 °C
• + 0.5 bar for systems up to 105 °C
• + 0.7 bar for systems up to 110 °C
The margin guarantees a positive residual pressure — conventionally at least 0.2 bar above the static head — at the highest point of the system under all conditions, which is what prevents air ingress. The higher margins at elevated temperature additionally keep the coolant below its saturation point at the hottest surface.
For a low-temperature AI secondary loop running 18–32 °C supply, the boiling margin is not the binding constraint; the static head term is. But do not reduce the margin below 0.2 bar.
Convert to absolute: Pθ (abs) = Pθ (gauge) + 1.0 bar
P_f is the pressure at which the vessel is completely full of liquid and can accept no more expansion — practically, the safety valve setting.
P_f(abs) = P_sv(gauge) + 1.0 bar
Some calculation methods add a small margin below the relief setting so that the valve does not begin to weep before the vessel is fully exhausted. A common convention is to take P_f at about 0.5 bar below the safety valve setting in gauge terms. Either is defensible; document which you used and be consistent.
V_vessel = (V_e + V_reserve) / (1 __ Pθ/P_f)
with:
| Symbol | Meaning | Value / source |
| V_vessel | Required nominal vessel volume | Result, in litres |
| V_e | Expansion volume | From Step 1 |
| V_reserve | EN 12828 water reserve | 0.005 × V_sys |
| Pθ | Pre-charge pressure | Absolute, bar |
| P_f | Final pressure | Absolute, bar |
The denominator (1 __ Pθ/P_f) is the acceptance ratio (also called the utilization factor). It states what fraction of the vessel's nominal volume is actually usable between the pre- charged state and the fully liquid-full state.
Typical acceptance ratios:
Pθ / P_f | Acceptance ratio |
1.7 / 4.5 | 0.62 |
2.8 / 7.0 | 0.60 |
3.3 / 7.0 | 0.53 |
4.0 / 7.0 | 0.43 |
Note the pattern: the closer the pre-charge is to the final pressure, the smaller the acceptance ratio and the larger the vessel must be. A high-static-head building with a low safety valve setting is the worst case — Pθ and P_f converge, the ratio collapses, and the vessel volume required grows sharply. If your calculation produces an acceptance ratio below about 0.3, revisit the safety valve setting or consider dynamic (pump-controlled) pressurization instead of a static gas-cushion vessel.
Then round up to the next standard size. Vessels come in standard nominal volumes — commonly 25, 35, 50, 80, 100, 140, 200, 300, 500, 750, 1000 L and above depending on the manufacturer and construction type.
Scenario. Four GB200-class racks on a shared row manifold, served by an in-row CDU, running PG25.
Input | Value |
Total secondary loop volume, V_sys | 3,000 L (from CDU vendor + rack OEM — verify for your actual configuration) |
Cold fill temperature | 20 °C |
Maximum operating temperature | 50 °C |
Coolant | PG25 (25 % propylene glycol, inhibited) |
Static height, H | 4 m |
Safety valve setting, P_sv | 3.5 bar gauge (bounded by cold plate / quick disconnect rating — confirm in writing) |
Water expansion 20→ 50 °C: 998.21 / 988.04 − 1 = 0.0103 PG25 correction factor: 1.4 (conservative planning value)
e = 0.0103 × 1.4 = 0.0144
V_e = 3,000 × 0.0144 = 43.2 L
Step 2 — Water reserve.
V_reserve = 0.005 × 3,000 = 15.0 L
Step 3 — Pre-charge.
Pθ (gauge) = 4/10 + 0.3 = 0.7 bar Pθ (abs) = 0.7 + 1.0 = 1.7 bar
Step 4 — Final pressure.
P_f(abs) = 3.5 + 1.0 = 4.5 bar
Step 5 — Acceptance ratio.
1 − 1.7/4.5 = 1 − 0.378 = 0.622 Step 6 — Vessel volume.
V_vessel = (43.2 + 15.0) / 0.622 = 58.2 / 0.622 = 93.6 L Step 7 — Selection.
Round up to the next standard size: 100 L nominal vessel, rated for at least 6 bar with a diaphragm compatible with inhibited PG25, PED-conformant, pre-charged to 0.7 bar
nitrogen, connected to the secondary return at the pump suction.
Scenario. Chilled water plant serving a hall, water (no glycol), tall building static head.
Input | Value |
Total system volume, V_sys | 50,000 L |
Cold fill temperature | 10 °C |
Maximum operating temperature | 40 °C |
Coolant | Treated water |
Static height, H | 20 m |
Safety valve setting, P_sv | 6.0 bar gauge |
Step 1 — Expansion volume.
Water expansion 10→40 °C: 999.70 / 992.22 − 1 = 0.00754 V_e = 50,000 × 0.00754 = 377 L
Step 2 — Water reserve.
V_reserve = 0.005 × 50,000 = 250 L
Step 3 — Pre-charge.
Pθ (gauge) = 20/10 + 0.3 = 2.3 bar Pθ (abs) = 3.3 bar
Step 4 — Final pressure.
P_f(abs) = 6.0 + 1.0 = 7.0 bar
Step 5 — Acceptance ratio.
1 − 3.3/7.0 = 1 − 0.471 = 0.529 Step 6 — Vessel volume.
V_vessel = (377 + 250) / 0.529 = 627 / 0.529 = 1,186 L Step 7 — Selection.
1,200–1,500 L nominal, or two 600–750 L vessels in parallel for redundancy and serviceability (with isolation valves so one can be taken out for pre-charge checks without draining the system). Rated above 6 bar, PED or ASME Section VIII Div. 1 conformant.
Note how much the reserve contributes here: 250 L of the 627 L total numerator, or 40 %. On large systems, the EN 12828 reserve is not a rounding term — omitting it produces a vessel roughly a third too small.
Scenario. One CDU serving a single high-density rack, small secondary volume.
Input | Value |
Total secondary volume, V_sys | 400 L |
Cold fill / max operating | 20 °C / 45 °C |
Coolant | PG25 |
Static height, H | 2 m |
Safety valve setting, P_sv | 3.0 bar gauge |
Water expansion 20→45 °C: 998.21 / 990.21 − 1 = 0.00808 PG25 factor 1.4 → e = 0.0113
V_e = 400 × 0.0113 = 4.5 L
V_reserve = 0.005 × 400 = 2.0 L
Pθ (abs) = (0.2 + 0.3) + 1.0 = 1.5 bar
P_f(abs) = 3.0 + 1.0 = 4.0 bar
Acceptance ratio = 1 − 1.5/4.0 = 0.625
V_vessel = 6.5 / 0.625 = 10.4 L → select 18 or 25 L
This example carries the most important practical lesson in the article. At small system volumes, the calculated requirement is tiny — and almost every CDU already provides more than this internally. The correct engineering response is not to add a 25 L external vessel; it is to check the CDU manufacturer's stated maximum supported external system volume and confirm the integral provision covers the loop. Adding unnecessary vessels adds cost, leak points and maintenance burden.
Conversely, when multiple racks share a manifold and the loop volume grows beyond the CDU's stated envelope, external pressurization becomes mandatory — and this calculation is how you size it.
The simplified BS 7074-style method. Multiply the expansion volume by 3 and round up to the next standard size. This is a rough method inherited from heating practice and is less accurate for tall or large systems, but it is a useful independent cross-check. On Worked Example 1: 43.2 × 3 = 130 L, against the rigorous 94 L. The simplified method is conservative here; on Worked Example 2 it gives 377 × 3 = 1,131 L against a rigorous 1,186 L — slightly unconservative, because it ignores the 0.5 % reserve which dominates on large systems. Use the rigorous method; use the rule of thumb only to catch gross errors.
Sanity check 1 — Is the acceptance ratio sensible? If it is below about 0.3, your pre- charge is too close to your final pressure. Revisit the safety valve setting or switch to dynamic pressurization.
Sanity check 2 — Is the vessel 2–3× the expansion volume? For typical pressure bands, yes. If your answer is close to 1×, you have probably used gauge pressures instead of absolute, or forgotten the reserve.
Sanity check 3 — Does fill pressure exceed pre-charge? If they are equal, no fluid ever enters the vessel and the loop is effectively rigid. This is the most common commissioning fault found in the field. Specify the fill pressure explicitly on the drawing, typically pre-charge + 0.2 to 0.3 bar.
Sanity check 4 — Did you use the right fluid? Re-read Step 1. If the loop runs PG25 and you used water's coefficient, the vessel is roughly 30 % undersized.
A gas-cushion vessel's pressure necessarily varies with volume and temperature. Where any of the following apply, consider a dynamic (variable-speed pump-controlled)
pressurization unit instead:
• System volume is very large and the volume swing is wide
• Static head is high, collapsing the acceptance ratio
• The pressure band must be held very tightly (better than a static vessel can achieve)
• You want continuous vacuum degassing integrated with pressurization
• You need precise, instrumented make-up and leak accounting
Dynamic units hold pressure at a constant set point using make-up pumps and controls, with a separate storage vessel providing the inventory. They are more expensive and need power, but they solve problems that a static vessel cannot. Many large facility water systems use them, while rack-side secondary loops almost always use static.
A correctly sized vessel that arrives without documentation is still a project risk. Require:
• Sizing calculation sheet showing all seven inputs and the acceptance ratio
• Declaration of conformity — CE under PED 2014/68/EU for EU installations, or ASME Section VIII Div. 1 U-stamp for North America
• Material certificates for the shell and the membrane
• Hydrostatic test report
• Membrane material declaration with confirmation of compatibility against your specific coolant and inhibitor package
• Pre-charge certificate stating the as-shipped gas-side pressure, and the requirement to verify it on site with the vessel isolated and drained
What if I do not know the system volume?
Do not guess. Build it up from component datasheets: CDU internal volume, per-rack manifold and cold plate volume, distribution pipework. If a component's volume is not published, request it from the vendor. Where you genuinely cannot obtain it, overestimate by 20–30 % and document the assumption — an oversized vessel is a minor cost, an undersized one is an operational failure.
Can I use two smaller vessels instead of one large one?
Yes, and on large systems it is often preferable. Two vessels in parallel, each with its own isolation valve, allow one to be removed for pre-charge verification without draining the system. Ensure the combined acceptance volume meets the requirement and that both are pre-charged identically.
Does the vessel location change the calculation?
It changes the static height term H, measured from the vessel connection point to the highest point of the system. Mounting the vessel lower in the building increases H and therefore the required pre-charge, which reduces the acceptance ratio and increases the required volume. Mounting it at a mechanically convenient low point can therefore cost you vessel size.
How much margin should I add?
The equation already accounts for the physics; do not add an arbitrary blanket margin on top. Instead, add margin where the inputs are uncertain — principally system volume and maximum operating temperature. A 20 % margin on V_sys where volumes are estimated is defensible; a 50 % margin on the final vessel volume "to be safe" usually just means the
inputs were not established.
Should I size for the maximum temperature the loop could ever reach, or the normal maximum?
Design maximum. If a fault condition (pump failure, control valve stuck, CDU fault) could drive the coolant hotter than normal maximum, size for that condition or provide protection that limits it. Vessels are cheap; relief valve discharge on a live AI cluster is not.
What about immersion cooling?
Single-phase immersion systems use synthetic hydrocarbons or mineral oils with quite different density-temperature behaviour and much higher expansion coefficients than water. The same equation applies, but the property data must come from the immersion fluid manufacturer. Do not reuse water or PG25 coefficients.
Sizing an expansion vessel correctly takes seven inputs and about fifteen minutes — provided the inputs are right. Most failures we investigate trace back to an estimated system volume or an unconfirmed safety valve setting, not to the arithmetic.
Send us your system volume, cold-fill and maximum operating temperatures, coolant specification, static height and safety valve setting, and we will return a complete calculation sheet with the vessel selection, acceptance ratio, pre-charge and fill pressure specification, membrane material recommendation and conformity documentation.
Specializing in pressure vessel manufacturing, we provide reliable, certified, and customized solutions for customers across diverse industries worldwide.
No.268 Xinda Road, High-tech Industrial Park, Longkou City,Shandong Province