Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Quantitative consequence modelling that converts a release scenario (mass flow,
inventory, ignition probability) into thermal radiation contours, overpressure
contours, dispersion footprints, and finally individual / societal fatality risk
per ISO 17776, NORSOK Z-013, API 752 and the CCPS Guidelines for Chemical
Process Quantitative Risk Analysis.
When to Use
Jet-fire, pool-fire, VCE or BLEVE source-term modelling
Toxic / flammable dispersion to LFL, IDLH, ERPG-2/3 or 1 % fatality contours
Probit-based fatality probability for thermal radiation, overpressure or toxic dose
QRA roll-up: combine release frequency × ignition probability × fatality probability
Source-term generation as input to PHAST / FLACS / KFX
Distinct from neqsim-process-safety (HAZOP / LOPA / SIL — frequency side) and
neqsim-relief-flare-network (PSV sizing / flare radiation — design side). This
skill is the consequence side of QRA.
Standards
API 521 §6 — flare and vent radiation, fire heat input
import neqsim.process.safety.fire.PoolFireModel;
// 500 kg liquid, burning rate 0.05 kg/m²·s, dike diameter 8 m, η = 0.30PoolFireModelpool=newPoolFireModel(0.05, 8.0, 50.0e6, 0.30);
doubleflux= pool.radiationFluxAt(25.0); // W/m² at 25 m
import neqsim.process.safety.fire.VCEModel;
// 200 kg flammable in cloud, congestion class 7 (heavy)VCEModelvce=newVCEModel(200.0, 50.0e6, 7);
doubleoverpressure= vce.overpressureAt(60.0); // Pa at 60 mdoublesafeDist= vce.distanceForOverpressure(20684.0); // m for 3 psi
import neqsim.process.safety.dispersion.GaussianPlume;
// 10 kg/s leak, ground-level source, 4 m/s wind, neutral stability DGaussianPlumeplume=newGaussianPlume(10.0, 0.0, 4.0,
GaussianPlume.Stability.D, GaussianPlume.Terrain.RURAL);
doubleconc= plume.centerlineGroundConcentration(200.0); // kg/m³doubledistLFL= plume.distanceToConcentration(0.044); // m to methane LFL
Stability classes: A (very unstable) … F (stable). RURAL vs URBAN selects Briggs σ
coefficients per Pasquill-Gifford. Use Stability.F for worst-case dispersion
analysis (calm night, low wind).
Method 6 — Heavy-Gas Dispersion
For dense releases (CO₂, propane, butane) the Gaussian model under-predicts
near-field concentrations. Use HeavyGasDispersion (Britter-McQuaid screening):
import neqsim.process.safety.dispersion.HeavyGasDispersion;
HeavyGasDispersionhgs=newHeavyGasDispersion(
50.0, // continuous release rate [kg/s]1.98, // gas density at release [kg/m³]1.20, // ambient density [kg/m³]4.0); // wind speed [m/s]doubledistLFL= hgs.distanceToConcentration(0.05); // m
Method 7 — Probit Fatality Probability
import neqsim.process.safety.dispersion.ProbitModel;
// Thermal: Y = a + b·ln(t·F^(4/3)), 60 s exposure at 12.5 kW/m²doublepFatality= ProbitModel.thermalFatality()
.fatalityProbability(60.0, 12500.0);
// Toxic H2S: Y = -31.42 + 3.008·ln(C^1.43·t)ProbitModelh2s= ProbitModel.h2sFatality();
doublepH2S= h2s.fatalityProbability(600.0, 5.0e-4); // 10 min, 500 ppm// Overpressure (lung haemorrhage): Y = -77.1 + 6.91·ln(P)ProbitModelovp= ProbitModel.overpressureFatality();
Built-in factories: thermalFatality(), overpressureFatality(),
h2sFatality(), cl2Fatality(), nh3Fatality(), coFatality(). The
ToxicLibrary class centralises probit constants for common toxic gases.
Method 8 — QRA Roll-up
import neqsim.process.safety.qra.ConsequenceAnalysisEngine;
ConsequenceAnalysisEnginee=newConsequenceAnalysisEngine(
"10 mm gas leak", 1.0e-4); // release frequency [/yr]
e.addJetFire(0.05, jet, ProbitModel.thermalFatality(), 60.0);
e.addJetFire(0.02, pool, ProbitModel.thermalFatality(), 60.0);
e.addToxicCloud(0.01, plume, ProbitModel.h2sFatality(), 600.0);
doubleIRPA= e.individualFatalityRiskPerYear(50.0); // at 50 mStringtext= e.report(50.0);
import neqsim.process.safety.fire.Api537FlareFlameModel;
Api537FlareFlameModelflame=newApi537FlareFlameModel(
50.0, 50.0e6, 0.20, 200.0) // mDot[kg/s], HoC[J/kg], radiantFrac, vExit[m/s]
.setStackHeightM(40.0)
.setWindSpeedMPerS(10.0);
doubler473= flame.sterileZoneRadiusM(Api537FlareFlameModel.FLUX_4_73_KW); // property linedoubleq75= flame.heatFluxAtGroundDistance(75.0); // W/m²doublespl= flame.soundPressureLevelDb(100.0); // dB at 100 m
Use this instead of the point-source jet-fire form when the source is an elevated
flare tip (it accounts for stack height, wind tilt, and flame geometry).
Method 10 — Hazardous-Area Zone Classification (IEC 60079-10-1)
Determines whether unprotected steel reaches its critical temperature before the
required survival time, and if so the intumescent thickness and H/J rating.
Source Term for External CFD
ConsequenceAnalysisEngine.exportSourceTerm() writes a JSON block usable by
PHAST, FLACS, KFX or DNV Safeti containing release rate, momentum, density,
duration and chemistry — the standard handoff format described in
neqsim-agent-handoff.
Common Pitfalls
Stability class — using class D ("typical") instead of F for hazard contours
under-predicts safe distance by 2–3×. Always run F at low wind for siting.
Heavy gas — applying Gaussian to CO₂ / LPG releases under-predicts near-field
concentration. Switch to HeavyGasDispersion when density ratio > 1.2.
Probit constants — different sources give different (a, b, n). Always cite
the source; the factories in ProbitModel use CCPS values.
Ignition probability — small leaks (< 1 kg/s) often use 1–5 %, large
leaks (> 50 kg/s) up to 30 % delayed. Use scenario-specific values, not 100 %.
Flame view-factor — the simple 1/(4πr²) point-source form is conservative
near the flame; use API 521 solid-flame for distances < 2 × flame length.
Verification Tests
src/test/java/neqsim/process/safety/{fire,dispersion,qra}/ contain JUnit 5
tests for every model. Run:
./mvnw test -Dtest=FireModelsTest,GaussianPlumeTest,ProbitModelTest,ConsequenceAnalysisEngineTest,Api537FlareFlameModelTest,HazardousAreaCalculatorTest,PfpDemandCalculatorTest
See Also
neqsim-process-safety — frequency side (HAZOP / LOPA / SIL)
neqsim-relief-flare-network — PSV sizing and flare radiation