Membrane Valve From CSV
This tutorial leaves the built-in database behind. You will upload four CSV files, configure a membrane valve by hand, and see two effects that the sample database cannot show you.
It takes about twenty-five minutes and costs four solver runs.
Download the Sample Files
Four files, so you can complete the tutorial before your own data is ready.
- sample-venting-curve.csv, cumulative gas moles for one cell over 20 s
- sample-pq-before.csv, valve flow while closed
- sample-pq-after.csv, valve flow once burst
- sample-temperature-curve.csv, measured pack gas temperature
They are small enough to open in a text editor, and doing so is worth thirty seconds, since the format is the format your own exports need to match.
The Case
A 30 litre pack, protected by a burst membrane valve rated to open at 10 kPa above ambient. The enclosure is rated to 20 kPa.
| Input | Value |
|---|---|
| Void Volume in Pack | 30 L |
| Max Pressure Limit | 20 kPa |
| Ambient Pressure | 101.325 kPa |
| Initial Temperature | 25 °C |
| Temperature Mode | Assumed Constant |
| Cell venting data | User Defined, uploaded |
| Valve | User Defined, Membrane, 10 kPa |
| Number of Valves | 1 |
| Simulation Time | 30 s |
Step 1: Upload the Venting Curve
Under Cell Venting Data, change Data Source to User Defined. The
database picker is replaced by an upload control labelled Venting Gas Mole
Curve.
Upload sample-venting-curve.csv. The tool reads the header row and asks which
column is which:
- Time in Column should resolve to
Time (s), with the unit set tos - Gas Mole in Column should resolve to
Gas Mole (mol)
Both should be matched automatically from the header names. Check them anyway, because a mismatch here silently changes the physics rather than throwing an error.
The control confirms how many rows were accepted. There are 14.
Look at the toolbar. Simulation Time has changed to 30: the curve you just uploaded ends at 20 s, and the tool adds 10 s of tail.
Set Number of Venting Cells to 3.
Step 2: Enter the Valve
Under Pressure Relief Valve Characteristic, change Data Source to
User Defined. Four inputs appear, in the order the tool expects them.
P–Q Curve Before Opening. Upload sample-pq-before.csv. Map pressure to
dP (kPa) in kPa, and flow to Flow Rate (L/min) in L/min. Six rows.
P–Q Curve After Opening. Upload sample-pq-after.csv, mapped the same way.
Eight rows.
Compare the two files. At 10 kPa differential the closed valve passes 0.38 L/min, and the open one passes 1100 L/min, nearly three thousand times more. That gap is what a relief valve is.
Valve Type. Select Membrane.
Opening Pressure. Enter 10, with the unit on kPa. This is relative to
ambient, so it means the valve bursts when the pack is 10 kPa above the outside
world, not at 10 kPa absolute.
Leave Number of Valves at 1.
Step 3: Run
Click Run.
| Metric | Value |
|---|---|
| Verdict | Pressure Within Limit |
| Absolute Peak Pressure | 118.265 kPa |
| Relative Peak Pressure | 16.940 kPa |
| Valve Opened | Yes |
| First Open Time | 0.901 s |
The case passes, at 16.940 kPa against a 20 kPa limit. The margin is thin.
Step 4: The First Effect, a Peak Pinned to the Setpoint
Change Number of Venting Cells to 1 and run again.
Relative peak: 10.000 kPa. Exactly the setpoint, to three decimals.
That is not a coincidence and not a rounding artefact. With one cell venting, this valve’s open flow capacity so far exceeds the rate gas arrives that pressure physically cannot climb past the point at which the membrane burst. The valve pins the pack at its own setpoint.
Now put it back to 3 cells, and try 5.
| Venting cells | Relative peak |
|---|---|
| 1 | 10.000 kPa |
| 3 | 16.940 kPa |
| 5 | 25.868 kPa |
At one cell the setpoint is the answer. At three and five, gas arrives faster than even this valve can pass, and the peak climbs above the setpoint.
The engineering consequence is worth keeping. When a valve is pinning the peak at its setpoint, adding more of them changes nothing. The first valve was never the constraint. The only way to lower the peak in that regime is a valve that opens sooner, which is a different part number, not a different quantity.
Set Number of Venting Cells back to 3.
Step 5: The Second Effect, Temperature
So far the gas has been assumed to sit at 25 °C for the whole event, which is not what happens. The fourth sample file is a measured gas temperature trace, peaking around 215 °C.
Under Working Conditions, change Temperature Mode to Given Test Data. The Initial Temperature field greys out and a Temperature Curve
upload control appears.
Upload sample-temperature-curve.csv. Map time to Time (s) in seconds, and
temperature to Temperature (C) in °C. Nine rows.
Run.
| Metric | Assumed Constant, 25 °C | Given Test Data |
|---|---|---|
| Relative Peak Pressure | 16.940 kPa | 22.162 kPa |
| First Open Time | 0.901 s | 0.630 s |
| Verdict | Within limit | Exceeds limit |
The same pack, the same cells, and the same valve. The only change is telling the truth about how hot the gas is, and the case fails.
That is a 31 % increase in peak pressure, and it comes from a term you can read directly in Mathematical Model: hot gas occupies more pressure per mole, and a rising temperature pushes pressure up on its own.
Open the Temperature chart to confirm the curve loaded as you expected. It should rise to about 215 °C and fall away, matching the file.
Step 6: What This Case Actually Needs
The membrane valve at 10 kPa is not adequate for three cells venting with realistic gas temperature. Following Choosing a Valve, the options are a valve with more open flow capacity, or a higher enclosure rating, or propagation measures that reduce how many cells vent together. A second membrane valve is not on the list, for the reason Step 4 demonstrated.
A Note on Valve Type
Out of curiosity, switch Valve Type to Spring, keeping everything else,
and run. The answer is identical: 16.940 kPa at 25 °C.
This is correct behaviour, not a bug. Gas keeps arriving throughout the event here, so pressure never falls back below the closing threshold, so the spring valve never gets a chance to reseat. Where the two types differ is in the tail of a slower event, when a spring valve recloses and the pack reseals. Both types are described in PRV Behaviour.
Using Your Own Data
Everything you just did applies unchanged to your own files. Your exports need the same shape:
- a header row and at least two data rows
- time strictly increasing, starting at zero or more
- cumulative gas moles never decreasing
- valve pressure strictly increasing, flow never decreasing
- every value a finite number, and the file 2 MB or smaller
Full rules are in Cell Venting Data and Valve Characteristic.
One habit worth adopting: once a case built on uploaded files is worth keeping, use Save / Load → Save Configuration. The saved file contains your uploaded curves in full, so it reproduces the case on its own without the original CSVs beside it.