api581-engine 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- api581/__init__.py +80 -0
- api581/_amine_tables.py +105 -0
- api581/_h2sh2_tables.py +161 -0
- api581/_slabx_worker.py +174 -0
- api581/_sulfidic_tables.py +517 -0
- api581/_sulfuric_tables.py +328 -0
- api581/acid_sour_water.py +238 -0
- api581/acscc_screening.py +88 -0
- api581/alkaline_sour_water.py +267 -0
- api581/amine_corrosion.py +277 -0
- api581/amine_screening.py +103 -0
- api581/api/__init__.py +4 -0
- api581/api/api520.py +88 -0
- api581/api/bundle.py +121 -0
- api581/api/consequence.py +102 -0
- api581/api/damage.py +1831 -0
- api581/api/dispersion.py +121 -0
- api581/api/effects.py +318 -0
- api581/api/events.py +96 -0
- api581/api/financial.py +115 -0
- api581/api/frequency.py +40 -0
- api581/api/inspection.py +96 -0
- api581/api/level1.py +238 -0
- api581/api/level2.py +74 -0
- api581/api/planning.py +17 -0
- api581/api/prd.py +190 -0
- api581/api/properties.py +130 -0
- api581/api/release.py +252 -0
- api581/api/reliability.py +40 -0
- api581/api/risk.py +71 -0
- api581/api/tank.py +490 -0
- api581/api520.py +205 -0
- api581/area_contribution.py +72 -0
- api581/blast.py +232 -0
- api581/brittle.py +205 -0
- api581/bundle.py +300 -0
- api581/catalog.py +442 -0
- api581/caustic_screening.py +103 -0
- api581/clad_thinning.py +146 -0
- api581/clscc_screening.py +55 -0
- api581/co2_corrosion.py +313 -0
- api581/co2_screening.py +205 -0
- api581/consequences.py +250 -0
- api581/contracts.py +1038 -0
- api581/cooling_selection.py +204 -0
- api581/cooling_water.py +305 -0
- api581/core.py +126 -0
- api581/corrosion_rate.py +38 -0
- api581/cost_tables.py +175 -0
- api581/cracking.py +74 -0
- api581/data/coverage.json +21361 -0
- api581/data/digital-twin.schema.json +538 -0
- api581/data/direct-test-queue.json +7 -0
- api581/data/native-engine-evidence.json +44 -0
- api581/data/python-api.schema.json +92706 -0
- api581/data/reference-fixture-evidence.json +2956 -0
- api581/data/scope-boundaries.schema.json +58 -0
- api581/data/software-test-evidence.json +4278 -0
- api581/data/standard-metadata.json +1328 -0
- api581/data/standard.schema.json +233 -0
- api581/data/supporting-text-review.json +1319 -0
- api581/digital_twin.py +491 -0
- api581/dispersion.py +45 -0
- api581/effects.py +232 -0
- api581/evaporation.py +181 -0
- api581/evidence.py +81 -0
- api581/external_corrosion.py +148 -0
- api581/external_cracking.py +63 -0
- api581/fatigue.py +56 -0
- api581/fireball.py +163 -0
- api581/flash_pool.py +111 -0
- api581/flash_solver.py +122 -0
- api581/groundwater.py +101 -0
- api581/h2sh2_corrosion.py +128 -0
- api581/hic_screened.py +89 -0
- api581/htha.py +45 -0
- api581/hydrochloric_acid.py +272 -0
- api581/hydrofluoric_acid.py +236 -0
- api581/ignition.py +204 -0
- api581/inspection_effectiveness.py +601 -0
- api581/jet_handoff.py +60 -0
- api581/level1.py +311 -0
- api581/level1_summary.py +35 -0
- api581/level1_toxic.py +313 -0
- api581/level1_type1.py +91 -0
- api581/level2_summary.py +237 -0
- api581/lining.py +173 -0
- api581/native_toxic.py +67 -0
- api581/outputs.py +5672 -0
- api581/oxidation.py +145 -0
- api581/pascc_screening.py +78 -0
- api581/physical_explosion.py +190 -0
- api581/pof.py +207 -0
- api581/pool_fire.py +273 -0
- api581/portfolio.py +68 -0
- api581/prd.py +204 -0
- api581/prd_consequences.py +245 -0
- api581/prd_history.py +44 -0
- api581/py.typed +0 -0
- api581/release.py +307 -0
- api581/representative_fluids.py +172 -0
- api581/result.py +50 -0
- api581/risk.py +191 -0
- api581/saturation.py +66 -0
- api581/scc_mechanisms.py +242 -0
- api581/schema.py +45 -0
- api581/slabx_adapter.py +261 -0
- api581/soil_corrosion.py +191 -0
- api581/source_partition.py +169 -0
- api581/spatial.py +87 -0
- api581/ssc_screening.py +77 -0
- api581/standard.py +281 -0
- api581/storage.py +42 -0
- api581/sulfidic_corrosion.py +197 -0
- api581/sulfuric_acid.py +209 -0
- api581/tank.py +260 -0
- api581/tank_corrosion.py +256 -0
- api581/tank_environment.py +186 -0
- api581/tank_financial.py +202 -0
- api581/tank_integrated.py +51 -0
- api581/tank_shell.py +141 -0
- api581/tank_source.py +152 -0
- api581/tank_thinning.py +204 -0
- api581/temper.py +105 -0
- api581/thinning.py +172 -0
- api581/thinning_conditions.py +212 -0
- api581/thinning_history.py +118 -0
- api581/thinning_selection.py +81 -0
- api581/thinning_type.py +34 -0
- api581/toxic_criteria.py +111 -0
- api581/toxic_level2.py +233 -0
- api581/two_phase_events.py +120 -0
- api581/workflow.py +42 -0
- api581_engine-0.1.4.dist-info/METADATA +419 -0
- api581_engine-0.1.4.dist-info/RECORD +139 -0
- api581_engine-0.1.4.dist-info/WHEEL +5 -0
- api581_engine-0.1.4.dist-info/licenses/LICENSE +161 -0
- api581_engine-0.1.4.dist-info/licenses/NOTICE.md +18 -0
- api581_engine-0.1.4.dist-info/top_level.txt +1 -0
api581/api/dispersion.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""Public dispersion calculations. Inputs and outputs use named SI units.
|
|
2
|
+
Generated by scripts/build_python_api.py; inspect the request model for fields.
|
|
3
|
+
"""
|
|
4
|
+
from ..core import Context
|
|
5
|
+
from ..result import CalculationResult, calculate
|
|
6
|
+
|
|
7
|
+
from ..toxic_criteria import CriterionCandidate as CriterionCandidateInput
|
|
8
|
+
from ..jet_handoff import JetFootprintGeometry as JetFootprintGeometryInput
|
|
9
|
+
from ..slabx_adapter import NativeAtmosphere as NativeAtmosphereInput
|
|
10
|
+
from ..slabx_adapter import NativeJetGeometry as NativeJetGeometryInput
|
|
11
|
+
from ..slabx_adapter import NativeSubstance as NativeSubstanceInput
|
|
12
|
+
from ..source_partition import SourcePartition as SourcePartitionInput
|
|
13
|
+
from ..evaporation import SurfaceInteraction as SurfaceInteractionInput
|
|
14
|
+
from ..toxic_criteria import ToxicCriterion as ToxicCriterionInput
|
|
15
|
+
from ..native_toxic import ToxicPoolSource as ToxicPoolSourceInput
|
|
16
|
+
|
|
17
|
+
from ..slabx_adapter import NativeEngineCapabilityRequest as NativeEngineCapabilitiesInput
|
|
18
|
+
from ..outputs import DispersionNativeEngineCapabilitiesOutput as NativeEngineCapabilitiesOutput
|
|
19
|
+
|
|
20
|
+
def native_engine_capabilities(inputs: NativeEngineCapabilitiesInput, *, context: Context | None = None) -> CalculationResult[NativeEngineCapabilitiesOutput]:
|
|
21
|
+
'Inspect optional SLABx engine capabilities'
|
|
22
|
+
return calculate('dispersion/native-engine-capabilities', inputs, output_type=NativeEngineCapabilitiesOutput, context=context)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from ..slabx_adapter import NativePool as NativePoolCentrelineInput
|
|
26
|
+
from ..outputs import DispersionNativePoolCentrelineOutput as NativePoolCentrelineOutput
|
|
27
|
+
|
|
28
|
+
def native_pool_centreline(inputs: NativePoolCentrelineInput, *, context: Context | None = None) -> CalculationResult[NativePoolCentrelineOutput]:
|
|
29
|
+
'Run native SLABx/SLABx-LH2 constant vapor pool in an isolated process'
|
|
30
|
+
return calculate('dispersion/native-pool-centreline', inputs, output_type=NativePoolCentrelineOutput, context=context)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
from ..slabx_adapter import NativePoolFootprint as NativePoolFootprintInput
|
|
34
|
+
from ..outputs import DispersionNativePoolFootprintOutput as NativePoolFootprintOutput
|
|
35
|
+
|
|
36
|
+
def native_pool_footprint(inputs: NativePoolFootprintInput, *, context: Context | None = None) -> CalculationResult[NativePoolFootprintOutput]:
|
|
37
|
+
'Native SLABx/SLABx-LH2 planar concentration threshold footprint'
|
|
38
|
+
return calculate('dispersion/native-pool-footprint', inputs, output_type=NativePoolFootprintOutput, context=context)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
from ..slabx_adapter import NativePoolFlashFire as NativePoolFlashFireInput
|
|
42
|
+
from ..outputs import DispersionNativePoolFlashFireOutput as NativePoolFlashFireOutput
|
|
43
|
+
|
|
44
|
+
def native_pool_flash_fire(inputs: NativePoolFlashFireInput, *, context: Context | None = None) -> CalculationResult[NativePoolFlashFireOutput]:
|
|
45
|
+
'Native LFL footprint through API581 flash-fire consequence'
|
|
46
|
+
return calculate('dispersion/native-pool-flash-fire', inputs, output_type=NativePoolFlashFireOutput, context=context)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
from ..slabx_adapter import NativeJet as NativeJetCentrelineInput
|
|
50
|
+
from ..outputs import DispersionNativeJetCentrelineOutput as NativeJetCentrelineOutput
|
|
51
|
+
|
|
52
|
+
def native_jet_centreline(inputs: NativeJetCentrelineInput, *, context: Context | None = None) -> CalculationResult[NativeJetCentrelineOutput]:
|
|
53
|
+
'Native horizontal/vertical jet centreline dispersion'
|
|
54
|
+
return calculate('dispersion/native-jet-centreline', inputs, output_type=NativeJetCentrelineOutput, context=context)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
from ..slabx_adapter import NativeJetFootprint as NativeJetFootprintInput
|
|
58
|
+
from ..outputs import DispersionNativeJetFootprintOutput as NativeJetFootprintOutput
|
|
59
|
+
|
|
60
|
+
def native_jet_footprint(inputs: NativeJetFootprintInput, *, context: Context | None = None) -> CalculationResult[NativeJetFootprintOutput]:
|
|
61
|
+
'Native horizontal/vertical jet sampled threshold footprint'
|
|
62
|
+
return calculate('dispersion/native-jet-footprint', inputs, output_type=NativeJetFootprintOutput, context=context)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
from ..spatial import ConcentrationGrid as ThresholdGridAreaInput
|
|
66
|
+
from ..outputs import DispersionThresholdGridAreaOutput as ThresholdGridAreaOutput
|
|
67
|
+
|
|
68
|
+
def threshold_grid_area(inputs: ThresholdGridAreaInput, *, context: Context | None = None) -> CalculationResult[ThresholdGridAreaOutput]:
|
|
69
|
+
'Planar concentration exceedance area on a sampled triangulated grid'
|
|
70
|
+
return calculate('dispersion/threshold-grid-area', inputs, output_type=ThresholdGridAreaOutput, context=context)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
from ..jet_handoff import PartitionedJet as PartitionedJetCentrelineInput
|
|
74
|
+
from ..outputs import DispersionPartitionedJetCentrelineOutput as PartitionedJetCentrelineOutput
|
|
75
|
+
|
|
76
|
+
def partitioned_jet_centreline(inputs: PartitionedJetCentrelineInput, *, context: Context | None = None) -> CalculationResult[PartitionedJetCentrelineOutput]:
|
|
77
|
+
'API581 source partition through native jet centreline'
|
|
78
|
+
return calculate('dispersion/partitioned-jet-centreline', inputs, output_type=PartitionedJetCentrelineOutput, context=context)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
from ..jet_handoff import PartitionedJetFootprint as PartitionedJetFootprintInput
|
|
82
|
+
from ..outputs import DispersionPartitionedJetFootprintOutput as PartitionedJetFootprintOutput
|
|
83
|
+
|
|
84
|
+
def partitioned_jet_footprint(inputs: PartitionedJetFootprintInput, *, context: Context | None = None) -> CalculationResult[PartitionedJetFootprintOutput]:
|
|
85
|
+
'API581 source partition through native planar jet footprint'
|
|
86
|
+
return calculate('dispersion/partitioned-jet-footprint', inputs, output_type=PartitionedJetFootprintOutput, context=context)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
from ..native_toxic import NativeToxicPool as NativePoolToxicConsequenceInput
|
|
90
|
+
from ..outputs import DispersionNativePoolToxicConsequenceOutput as NativePoolToxicConsequenceOutput
|
|
91
|
+
|
|
92
|
+
def native_pool_toxic_consequence(inputs: NativePoolToxicConsequenceInput, *, context: Context | None = None) -> CalculationResult[NativePoolToxicConsequenceOutput]:
|
|
93
|
+
'Historical toxic criterion through native pure-pool footprint and conditional toxic consequence'
|
|
94
|
+
return calculate('dispersion/native-pool-toxic-consequence', inputs, output_type=NativePoolToxicConsequenceOutput, context=context)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
from ..flash_pool import FlashedBoilingPool as FlashedBoilingPoolCentrelineInput
|
|
98
|
+
from ..outputs import DispersionFlashedBoilingPoolCentrelineOutput as FlashedBoilingPoolCentrelineOutput
|
|
99
|
+
|
|
100
|
+
def flashed_boiling_pool_centreline(inputs: FlashedBoilingPoolCentrelineInput, *, context: Context | None = None) -> CalculationResult[FlashedBoilingPoolCentrelineOutput]:
|
|
101
|
+
'Pure-liquid flash through steady boiling-pool native centreline'
|
|
102
|
+
return calculate('dispersion/flashed-boiling-pool-centreline', inputs, output_type=FlashedBoilingPoolCentrelineOutput, context=context)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
from ..flash_pool import FlashedBoilingPoolFootprint as FlashedBoilingPoolFootprintInput
|
|
106
|
+
from ..outputs import DispersionFlashedBoilingPoolFootprintOutput as FlashedBoilingPoolFootprintOutput
|
|
107
|
+
|
|
108
|
+
def flashed_boiling_pool_footprint(inputs: FlashedBoilingPoolFootprintInput, *, context: Context | None = None) -> CalculationResult[FlashedBoilingPoolFootprintOutput]:
|
|
109
|
+
'Pure-liquid flash through steady boiling-pool planar footprint'
|
|
110
|
+
return calculate('dispersion/flashed-boiling-pool-footprint', inputs, output_type=FlashedBoilingPoolFootprintOutput, context=context)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
from ..flash_pool import FlashedBoilingPoolFlashFire as FlashedBoilingPoolFlashFireInput
|
|
114
|
+
from ..outputs import DispersionFlashedBoilingPoolFlashFireOutput as FlashedBoilingPoolFlashFireOutput
|
|
115
|
+
|
|
116
|
+
def flashed_boiling_pool_flash_fire(inputs: FlashedBoilingPoolFlashFireInput, *, context: Context | None = None) -> CalculationResult[FlashedBoilingPoolFlashFireOutput]:
|
|
117
|
+
'Pure-liquid flash through steady boiling-pool flash-fire areas'
|
|
118
|
+
return calculate('dispersion/flashed-boiling-pool-flash-fire', inputs, output_type=FlashedBoilingPoolFlashFireOutput, context=context)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
__all__ = ['CriterionCandidateInput', 'JetFootprintGeometryInput', 'NativeAtmosphereInput', 'NativeJetGeometryInput', 'NativeSubstanceInput', 'SourcePartitionInput', 'SurfaceInteractionInput', 'ToxicCriterionInput', 'ToxicPoolSourceInput', 'native_engine_capabilities', 'NativeEngineCapabilitiesInput', 'NativeEngineCapabilitiesOutput', 'native_pool_centreline', 'NativePoolCentrelineInput', 'NativePoolCentrelineOutput', 'native_pool_footprint', 'NativePoolFootprintInput', 'NativePoolFootprintOutput', 'native_pool_flash_fire', 'NativePoolFlashFireInput', 'NativePoolFlashFireOutput', 'native_jet_centreline', 'NativeJetCentrelineInput', 'NativeJetCentrelineOutput', 'native_jet_footprint', 'NativeJetFootprintInput', 'NativeJetFootprintOutput', 'threshold_grid_area', 'ThresholdGridAreaInput', 'ThresholdGridAreaOutput', 'partitioned_jet_centreline', 'PartitionedJetCentrelineInput', 'PartitionedJetCentrelineOutput', 'partitioned_jet_footprint', 'PartitionedJetFootprintInput', 'PartitionedJetFootprintOutput', 'native_pool_toxic_consequence', 'NativePoolToxicConsequenceInput', 'NativePoolToxicConsequenceOutput', 'flashed_boiling_pool_centreline', 'FlashedBoilingPoolCentrelineInput', 'FlashedBoilingPoolCentrelineOutput', 'flashed_boiling_pool_footprint', 'FlashedBoilingPoolFootprintInput', 'FlashedBoilingPoolFootprintOutput', 'flashed_boiling_pool_flash_fire', 'FlashedBoilingPoolFlashFireInput', 'FlashedBoilingPoolFlashFireOutput']
|
api581/api/effects.py
ADDED
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
"""Public effects calculations. Inputs and outputs use named SI units.
|
|
2
|
+
Generated by scripts/build_python_api.py; inspect the request model for fields.
|
|
3
|
+
"""
|
|
4
|
+
from ..core import Context
|
|
5
|
+
from ..result import CalculationResult, calculate
|
|
6
|
+
|
|
7
|
+
from ..pool_fire import Atmosphere as AtmosphereInput
|
|
8
|
+
from ..blast import BlastFitDomain as BlastFitDomainInput
|
|
9
|
+
from ..toxic_level2 import ConcentrationPoint as ConcentrationPointInput
|
|
10
|
+
from ..pool_fire import MixtureComponent as MixtureComponentInput
|
|
11
|
+
from ..effects import PoolBurning as PoolBurningInput
|
|
12
|
+
from ..physical_explosion import VaporPortion as VaporPortionInput
|
|
13
|
+
|
|
14
|
+
from ..effects import JetPower as JetFirePowerInput
|
|
15
|
+
from ..outputs import EffectsJetFirePowerOutput as JetFirePowerOutput
|
|
16
|
+
|
|
17
|
+
def jet_fire_power(inputs: JetFirePowerInput, *, context: Context | None = None) -> CalculationResult[JetFirePowerOutput]:
|
|
18
|
+
'Jet fire radiated power'
|
|
19
|
+
return calculate('effects/jet-fire-power', inputs, output_type=JetFirePowerOutput, context=context)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
from ..effects import JetFlux as JetFireFluxInput
|
|
23
|
+
from ..outputs import EffectsJetFireFluxOutput as JetFireFluxOutput
|
|
24
|
+
|
|
25
|
+
def jet_fire_flux(inputs: JetFireFluxInput, *, context: Context | None = None) -> CalculationResult[JetFireFluxOutput]:
|
|
26
|
+
'Point-source jet fire received radiation'
|
|
27
|
+
return calculate('effects/jet-fire-flux', inputs, output_type=JetFireFluxOutput, context=context)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
from ..effects import JetDistance as JetFireDistanceInput
|
|
31
|
+
from ..outputs import EffectsJetFireDistanceOutput as JetFireDistanceOutput
|
|
32
|
+
|
|
33
|
+
def jet_fire_distance(inputs: JetFireDistanceInput, *, context: Context | None = None) -> CalculationResult[JetFireDistanceOutput]:
|
|
34
|
+
'Jet fire threshold radius and consequence area'
|
|
35
|
+
return calculate('effects/jet-fire-distance', inputs, output_type=JetFireDistanceOutput, context=context)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
from ..effects import FlashFire as FlashFireInput
|
|
39
|
+
from ..outputs import EffectsFlashFireOutput as FlashFireOutput
|
|
40
|
+
|
|
41
|
+
def flash_fire(inputs: FlashFireInput, *, context: Context | None = None) -> CalculationResult[FlashFireOutput]:
|
|
42
|
+
'Flash fire consequence areas'
|
|
43
|
+
return calculate('effects/flash-fire', inputs, output_type=FlashFireOutput, context=context)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
from ..effects import PoolArea as PoolFireAreaInput
|
|
47
|
+
from ..outputs import EffectsPoolFireAreaOutput as PoolFireAreaOutput
|
|
48
|
+
|
|
49
|
+
def pool_fire_area(inputs: PoolFireAreaInput, *, context: Context | None = None) -> CalculationResult[PoolFireAreaOutput]:
|
|
50
|
+
'Pool burning area and radius'
|
|
51
|
+
return calculate('effects/pool-fire-area', inputs, output_type=PoolFireAreaOutput, context=context)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
from ..effects import Probit as ToxicProbitInput
|
|
55
|
+
from ..outputs import EffectsToxicProbitOutput as ToxicProbitOutput
|
|
56
|
+
|
|
57
|
+
def toxic_probit(inputs: ToxicProbitInput, *, context: Context | None = None) -> CalculationResult[ToxicProbitOutput]:
|
|
58
|
+
'User-parameterized toxic probit'
|
|
59
|
+
return calculate('effects/toxic-probit', inputs, output_type=ToxicProbitOutput, context=context)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
from ..effects import PoolBurning as PoolBurningRateInput
|
|
63
|
+
from ..outputs import EffectsPoolBurningRateOutput as PoolBurningRateOutput
|
|
64
|
+
|
|
65
|
+
def pool_burning_rate(inputs: PoolBurningRateInput, *, context: Context | None = None) -> CalculationResult[PoolBurningRateOutput]:
|
|
66
|
+
'Pool fire surface mass burning rate'
|
|
67
|
+
return calculate('effects/pool-burning-rate', inputs, output_type=PoolBurningRateOutput, context=context)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
from ..effects import FireballGeometry as FireballGeometryInput
|
|
71
|
+
from ..outputs import EffectsFireballGeometryOutput as FireballGeometryOutput
|
|
72
|
+
|
|
73
|
+
def fireball_geometry(inputs: FireballGeometryInput, *, context: Context | None = None) -> CalculationResult[FireballGeometryOutput]:
|
|
74
|
+
'Fireball diameter, height and duration'
|
|
75
|
+
return calculate('effects/fireball-geometry', inputs, output_type=FireballGeometryOutput, context=context)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
from ..effects import FireballFraction as FireballRadiativeFractionInput
|
|
79
|
+
from ..outputs import EffectsFireballRadiativeFractionOutput as FireballRadiativeFractionOutput
|
|
80
|
+
|
|
81
|
+
def fireball_radiative_fraction(inputs: FireballRadiativeFractionInput, *, context: Context | None = None) -> CalculationResult[FireballRadiativeFractionOutput]:
|
|
82
|
+
'Fireball pressure-based radiative fraction'
|
|
83
|
+
return calculate('effects/fireball-radiative-fraction', inputs, output_type=FireballRadiativeFractionOutput, context=context)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
from ..effects import FireballEmissive as FireballEmissivePowerInput
|
|
87
|
+
from ..outputs import EffectsFireballEmissivePowerOutput as FireballEmissivePowerOutput
|
|
88
|
+
|
|
89
|
+
def fireball_emissive_power(inputs: FireballEmissivePowerInput, *, context: Context | None = None) -> CalculationResult[FireballEmissivePowerOutput]:
|
|
90
|
+
'Fireball surface emissive power'
|
|
91
|
+
return calculate('effects/fireball-emissive-power', inputs, output_type=FireballEmissivePowerOutput, context=context)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
from ..effects import TntEquivalence as VceTntEquivalenceInput
|
|
95
|
+
from ..outputs import EffectsVceTntEquivalenceOutput as VceTntEquivalenceOutput
|
|
96
|
+
|
|
97
|
+
def vce_tnt_equivalence(inputs: VceTntEquivalenceInput, *, context: Context | None = None) -> CalculationResult[VceTntEquivalenceOutput]:
|
|
98
|
+
'VCE TNT equivalent mass'
|
|
99
|
+
return calculate('effects/vce-tnt-equivalence', inputs, output_type=VceTntEquivalenceOutput, context=context)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
from ..pool_fire import Transmissivity as AtmosphericTransmissivityInput
|
|
103
|
+
from ..outputs import EffectsAtmosphericTransmissivityOutput as AtmosphericTransmissivityOutput
|
|
104
|
+
|
|
105
|
+
def atmospheric_transmissivity(inputs: AtmosphericTransmissivityInput, *, context: Context | None = None) -> CalculationResult[AtmosphericTransmissivityOutput]:
|
|
106
|
+
'Water-vapor thermal-radiation transmissivity'
|
|
107
|
+
return calculate('effects/atmospheric-transmissivity', inputs, output_type=AtmosphericTransmissivityOutput, context=context)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
from ..pool_fire import MixtureBurning as PoolMixtureBurningRateInput
|
|
111
|
+
from ..outputs import EffectsPoolMixtureBurningRateOutput as PoolMixtureBurningRateOutput
|
|
112
|
+
|
|
113
|
+
def pool_mixture_burning_rate(inputs: PoolMixtureBurningRateInput, *, context: Context | None = None) -> CalculationResult[PoolMixtureBurningRateOutput]:
|
|
114
|
+
'Mole-weighted liquid-mixture pool burning rate'
|
|
115
|
+
return calculate('effects/pool-mixture-burning-rate', inputs, output_type=PoolMixtureBurningRateOutput, context=context)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
from ..pool_fire import FlameGeometry as PoolFlameGeometryInput
|
|
119
|
+
from ..outputs import EffectsPoolFlameGeometryOutput as PoolFlameGeometryOutput
|
|
120
|
+
|
|
121
|
+
def pool_flame_geometry(inputs: PoolFlameGeometryInput, *, context: Context | None = None) -> CalculationResult[PoolFlameGeometryOutput]:
|
|
122
|
+
'Thomas pool flame length and wind tilt'
|
|
123
|
+
return calculate('effects/pool-flame-geometry', inputs, output_type=PoolFlameGeometryOutput, context=context)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
from ..pool_fire import SurfaceEmissive as PoolSurfaceEmissivePowerInput
|
|
127
|
+
from ..outputs import EffectsPoolSurfaceEmissivePowerOutput as PoolSurfaceEmissivePowerOutput
|
|
128
|
+
|
|
129
|
+
def pool_surface_emissive_power(inputs: PoolSurfaceEmissivePowerInput, *, context: Context | None = None) -> CalculationResult[PoolSurfaceEmissivePowerOutput]:
|
|
130
|
+
'Pool flame surface emissive power'
|
|
131
|
+
return calculate('effects/pool-surface-emissive-power', inputs, output_type=PoolSurfaceEmissivePowerOutput, context=context)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
from ..pool_fire import CylinderView as PoolCylinderViewFactorInput
|
|
135
|
+
from ..outputs import EffectsPoolCylinderViewFactorOutput as PoolCylinderViewFactorOutput
|
|
136
|
+
|
|
137
|
+
def pool_cylinder_view_factor(inputs: PoolCylinderViewFactorInput, *, context: Context | None = None) -> CalculationResult[PoolCylinderViewFactorOutput]:
|
|
138
|
+
'Pool cylinder vertical/horizontal/maximum view factors'
|
|
139
|
+
return calculate('effects/pool-cylinder-view-factor', inputs, output_type=PoolCylinderViewFactorOutput, context=context)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
from ..pool_fire import PoolFlux as PoolRadiationFluxInput
|
|
143
|
+
from ..outputs import EffectsPoolRadiationFluxOutput as PoolRadiationFluxOutput
|
|
144
|
+
|
|
145
|
+
def pool_radiation_flux(inputs: PoolRadiationFluxInput, *, context: Context | None = None) -> CalculationResult[PoolRadiationFluxOutput]:
|
|
146
|
+
'Pool thermal radiation at a specified surface separation'
|
|
147
|
+
return calculate('effects/pool-radiation-flux', inputs, output_type=PoolRadiationFluxOutput, context=context)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
from ..pool_fire import PoolDistance as PoolFireDistanceInput
|
|
151
|
+
from ..outputs import EffectsPoolFireDistanceOutput as PoolFireDistanceOutput
|
|
152
|
+
|
|
153
|
+
def pool_fire_distance(inputs: PoolFireDistanceInput, *, context: Context | None = None) -> CalculationResult[PoolFireDistanceOutput]:
|
|
154
|
+
'Pool radiation threshold separation and consequence area'
|
|
155
|
+
return calculate('effects/pool-fire-distance', inputs, output_type=PoolFireDistanceOutput, context=context)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
from ..pool_fire import PoolConsequence as PoolFireConsequenceInput
|
|
159
|
+
from ..outputs import EffectsPoolFireConsequenceOutput as PoolFireConsequenceOutput
|
|
160
|
+
|
|
161
|
+
def pool_fire_consequence(inputs: PoolFireConsequenceInput, *, context: Context | None = None) -> CalculationResult[PoolFireConsequenceOutput]:
|
|
162
|
+
'Compose burning, pool size, flame and radiation consequence areas'
|
|
163
|
+
return calculate('effects/pool-fire-consequence', inputs, output_type=PoolFireConsequenceOutput, context=context)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
from ..fireball import FireballMass as FireballMassInput
|
|
167
|
+
from ..outputs import EffectsFireballMassOutput as FireballMassOutput
|
|
168
|
+
|
|
169
|
+
def fireball_mass(inputs: FireballMassInput, *, context: Context | None = None) -> CalculationResult[FireballMassOutput]:
|
|
170
|
+
'Flammable mass available to a rupture fireball'
|
|
171
|
+
return calculate('effects/fireball-mass', inputs, output_type=FireballMassOutput, context=context)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
from ..fireball import SphereView as FireballViewFactorInput
|
|
175
|
+
from ..outputs import EffectsFireballViewFactorOutput as FireballViewFactorOutput
|
|
176
|
+
|
|
177
|
+
def fireball_view_factor(inputs: FireballViewFactorInput, *, context: Context | None = None) -> CalculationResult[FireballViewFactorOutput]:
|
|
178
|
+
'Fireball spherical radiation view factor'
|
|
179
|
+
return calculate('effects/fireball-view-factor', inputs, output_type=FireballViewFactorOutput, context=context)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
from ..fireball import FireballFlux as FireballRadiationFluxInput
|
|
183
|
+
from ..outputs import EffectsFireballRadiationFluxOutput as FireballRadiationFluxOutput
|
|
184
|
+
|
|
185
|
+
def fireball_radiation_flux(inputs: FireballRadiationFluxInput, *, context: Context | None = None) -> CalculationResult[FireballRadiationFluxOutput]:
|
|
186
|
+
'Fireball received thermal radiation'
|
|
187
|
+
return calculate('effects/fireball-radiation-flux', inputs, output_type=FireballRadiationFluxOutput, context=context)
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
from ..fireball import FireballDistance as FireballDistanceInput
|
|
191
|
+
from ..outputs import EffectsFireballDistanceOutput as FireballDistanceOutput
|
|
192
|
+
|
|
193
|
+
def fireball_distance(inputs: FireballDistanceInput, *, context: Context | None = None) -> CalculationResult[FireballDistanceOutput]:
|
|
194
|
+
'Fireball thermal threshold distance and area'
|
|
195
|
+
return calculate('effects/fireball-distance', inputs, output_type=FireballDistanceOutput, context=context)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
from ..fireball import FireballConsequence as FireballConsequenceInput
|
|
199
|
+
from ..outputs import EffectsFireballConsequenceOutput as FireballConsequenceOutput
|
|
200
|
+
|
|
201
|
+
def fireball_consequence(inputs: FireballConsequenceInput, *, context: Context | None = None) -> CalculationResult[FireballConsequenceOutput]:
|
|
202
|
+
'Rupture fireball radiation consequence chain'
|
|
203
|
+
return calculate('effects/fireball-consequence', inputs, output_type=FireballConsequenceOutput, context=context)
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
from ..blast import ScaledDistance as VceScaledDistanceInput
|
|
207
|
+
from ..outputs import EffectsVceScaledDistanceOutput as VceScaledDistanceOutput
|
|
208
|
+
|
|
209
|
+
def vce_scaled_distance(inputs: VceScaledDistanceInput, *, context: Context | None = None) -> CalculationResult[VceScaledDistanceOutput]:
|
|
210
|
+
'Hopkinson TNT scaled distance'
|
|
211
|
+
return calculate('effects/vce-scaled-distance', inputs, output_type=VceScaledDistanceOutput, context=context)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
from ..blast import ScaledOverpressure as VceScaledOverpressureInput
|
|
215
|
+
from ..outputs import EffectsVceScaledOverpressureOutput as VceScaledOverpressureOutput
|
|
216
|
+
|
|
217
|
+
def vce_scaled_overpressure(inputs: VceScaledOverpressureInput, *, context: Context | None = None) -> CalculationResult[VceScaledOverpressureOutput]:
|
|
218
|
+
'Hopkinson-scaled blast overpressure fit'
|
|
219
|
+
return calculate('effects/vce-scaled-overpressure', inputs, output_type=VceScaledOverpressureOutput, context=context)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
from ..blast import BlastOverpressure as VceBlastOverpressureInput
|
|
223
|
+
from ..outputs import EffectsVceBlastOverpressureOutput as VceBlastOverpressureOutput
|
|
224
|
+
|
|
225
|
+
def vce_blast_overpressure(inputs: VceBlastOverpressureInput, *, context: Context | None = None) -> CalculationResult[VceBlastOverpressureOutput]:
|
|
226
|
+
'TNT blast pressure at physical distance'
|
|
227
|
+
return calculate('effects/vce-blast-overpressure', inputs, output_type=VceBlastOverpressureOutput, context=context)
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
from ..blast import BuildingProbit as BlastBuildingProbitInput
|
|
231
|
+
from ..outputs import EffectsBlastBuildingProbitOutput as BlastBuildingProbitOutput
|
|
232
|
+
|
|
233
|
+
def blast_building_probit(inputs: BlastBuildingProbitInput, *, context: Context | None = None) -> CalculationResult[BlastBuildingProbitOutput]:
|
|
234
|
+
'Blast-induced process-building collapse probit'
|
|
235
|
+
return calculate('effects/blast-building-probit', inputs, output_type=BlastBuildingProbitOutput, context=context)
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
from ..blast import BuildingPressureThreshold as BlastBuildingPressureThresholdInput
|
|
239
|
+
from ..outputs import EffectsBlastBuildingPressureThresholdOutput as BlastBuildingPressureThresholdOutput
|
|
240
|
+
|
|
241
|
+
def blast_building_pressure_threshold(inputs: BlastBuildingPressureThresholdInput, *, context: Context | None = None) -> CalculationResult[BlastBuildingPressureThresholdOutput]:
|
|
242
|
+
'Pressure for target building-collapse probability'
|
|
243
|
+
return calculate('effects/blast-building-pressure-threshold', inputs, output_type=BlastBuildingPressureThresholdOutput, context=context)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
from ..blast import BlastDistance as VceBlastDistanceInput
|
|
247
|
+
from ..outputs import EffectsVceBlastDistanceOutput as VceBlastDistanceOutput
|
|
248
|
+
|
|
249
|
+
def vce_blast_distance(inputs: VceBlastDistanceInput, *, context: Context | None = None) -> CalculationResult[VceBlastDistanceOutput]:
|
|
250
|
+
'TNT blast threshold distance and consequence area'
|
|
251
|
+
return calculate('effects/vce-blast-distance', inputs, output_type=VceBlastDistanceOutput, context=context)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
from ..blast import BlastConsequence as VceBlastConsequenceInput
|
|
255
|
+
from ..outputs import EffectsVceBlastConsequenceOutput as VceBlastConsequenceOutput
|
|
256
|
+
|
|
257
|
+
def vce_blast_consequence(inputs: VceBlastConsequenceInput, *, context: Context | None = None) -> CalculationResult[VceBlastConsequenceOutput]:
|
|
258
|
+
'Cloud mass to TNT blast personnel/equipment areas'
|
|
259
|
+
return calculate('effects/vce-blast-consequence', inputs, output_type=VceBlastConsequenceOutput, context=context)
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
from ..physical_explosion import PhysicalTnt as PhysicalExplosionTntInput
|
|
263
|
+
from ..outputs import EffectsPhysicalExplosionTntOutput as PhysicalExplosionTntOutput
|
|
264
|
+
|
|
265
|
+
def physical_explosion_tnt(inputs: PhysicalExplosionTntInput, *, context: Context | None = None) -> CalculationResult[PhysicalExplosionTntOutput]:
|
|
266
|
+
'Gas-vessel Brode energy and TNT equivalent'
|
|
267
|
+
return calculate('effects/physical-explosion-tnt', inputs, output_type=PhysicalExplosionTntOutput, context=context)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
from ..physical_explosion import BleveLiquidTnt as BleveLiquidTntInput
|
|
271
|
+
from ..outputs import EffectsBleveLiquidTntOutput as BleveLiquidTntOutput
|
|
272
|
+
|
|
273
|
+
def bleve_liquid_tnt(inputs: BleveLiquidTntInput, *, context: Context | None = None) -> CalculationResult[BleveLiquidTntOutput]:
|
|
274
|
+
'Flashed-liquid BLEVE expansion energy and TNT equivalent'
|
|
275
|
+
return calculate('effects/bleve-liquid-tnt', inputs, output_type=BleveLiquidTntOutput, context=context)
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
from ..physical_explosion import PhysicalConsequence as PhysicalExplosionConsequenceInput
|
|
279
|
+
from ..outputs import EffectsPhysicalExplosionConsequenceOutput as PhysicalExplosionConsequenceOutput
|
|
280
|
+
|
|
281
|
+
def physical_explosion_consequence(inputs: PhysicalExplosionConsequenceInput, *, context: Context | None = None) -> CalculationResult[PhysicalExplosionConsequenceOutput]:
|
|
282
|
+
'Gas-vessel rupture blast consequence'
|
|
283
|
+
return calculate('effects/physical-explosion-consequence', inputs, output_type=PhysicalExplosionConsequenceOutput, context=context)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
from ..physical_explosion import BleveConsequence as BleveConsequenceInput
|
|
287
|
+
from ..outputs import EffectsBleveConsequenceOutput as BleveConsequenceOutput
|
|
288
|
+
|
|
289
|
+
def bleve_consequence(inputs: BleveConsequenceInput, *, context: Context | None = None) -> CalculationResult[BleveConsequenceOutput]:
|
|
290
|
+
'Liquid/two-phase BLEVE blast consequence'
|
|
291
|
+
return calculate('effects/bleve-consequence', inputs, output_type=BleveConsequenceOutput, context=context)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
from ..toxic_level2 import SpeciesProbit as ToxicSpeciesProbitInput
|
|
295
|
+
from ..outputs import EffectsToxicSpeciesProbitOutput as ToxicSpeciesProbitOutput
|
|
296
|
+
|
|
297
|
+
def toxic_species_probit(inputs: ToxicSpeciesProbitInput, *, context: Context | None = None) -> CalculationResult[ToxicSpeciesProbitOutput]:
|
|
298
|
+
'Table4.14 constant-exposure toxic probit'
|
|
299
|
+
return calculate('effects/toxic-species-probit', inputs, output_type=ToxicSpeciesProbitOutput, context=context)
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
from ..toxic_level2 import SpeciesThreshold as ToxicSpeciesThresholdInput
|
|
303
|
+
from ..outputs import EffectsToxicSpeciesThresholdOutput as ToxicSpeciesThresholdOutput
|
|
304
|
+
|
|
305
|
+
def toxic_species_threshold(inputs: ToxicSpeciesThresholdInput, *, context: Context | None = None) -> CalculationResult[ToxicSpeciesThresholdOutput]:
|
|
306
|
+
'Species concentration for target toxic probit probability'
|
|
307
|
+
return calculate('effects/toxic-species-threshold', inputs, output_type=ToxicSpeciesThresholdOutput, context=context)
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
from ..toxic_level2 import DoseProfile as ToxicDoseProfileInput
|
|
311
|
+
from ..outputs import EffectsToxicDoseProfileOutput as ToxicDoseProfileOutput
|
|
312
|
+
|
|
313
|
+
def toxic_dose_profile(inputs: ToxicDoseProfileInput, *, context: Context | None = None) -> CalculationResult[ToxicDoseProfileOutput]:
|
|
314
|
+
'Time-varying species dose and Table4.14 probit'
|
|
315
|
+
return calculate('effects/toxic-dose-profile', inputs, output_type=ToxicDoseProfileOutput, context=context)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
__all__ = ['AtmosphereInput', 'BlastFitDomainInput', 'ConcentrationPointInput', 'MixtureComponentInput', 'PoolBurningInput', 'VaporPortionInput', 'jet_fire_power', 'JetFirePowerInput', 'JetFirePowerOutput', 'jet_fire_flux', 'JetFireFluxInput', 'JetFireFluxOutput', 'jet_fire_distance', 'JetFireDistanceInput', 'JetFireDistanceOutput', 'flash_fire', 'FlashFireInput', 'FlashFireOutput', 'pool_fire_area', 'PoolFireAreaInput', 'PoolFireAreaOutput', 'toxic_probit', 'ToxicProbitInput', 'ToxicProbitOutput', 'pool_burning_rate', 'PoolBurningRateInput', 'PoolBurningRateOutput', 'fireball_geometry', 'FireballGeometryInput', 'FireballGeometryOutput', 'fireball_radiative_fraction', 'FireballRadiativeFractionInput', 'FireballRadiativeFractionOutput', 'fireball_emissive_power', 'FireballEmissivePowerInput', 'FireballEmissivePowerOutput', 'vce_tnt_equivalence', 'VceTntEquivalenceInput', 'VceTntEquivalenceOutput', 'atmospheric_transmissivity', 'AtmosphericTransmissivityInput', 'AtmosphericTransmissivityOutput', 'pool_mixture_burning_rate', 'PoolMixtureBurningRateInput', 'PoolMixtureBurningRateOutput', 'pool_flame_geometry', 'PoolFlameGeometryInput', 'PoolFlameGeometryOutput', 'pool_surface_emissive_power', 'PoolSurfaceEmissivePowerInput', 'PoolSurfaceEmissivePowerOutput', 'pool_cylinder_view_factor', 'PoolCylinderViewFactorInput', 'PoolCylinderViewFactorOutput', 'pool_radiation_flux', 'PoolRadiationFluxInput', 'PoolRadiationFluxOutput', 'pool_fire_distance', 'PoolFireDistanceInput', 'PoolFireDistanceOutput', 'pool_fire_consequence', 'PoolFireConsequenceInput', 'PoolFireConsequenceOutput', 'fireball_mass', 'FireballMassInput', 'FireballMassOutput', 'fireball_view_factor', 'FireballViewFactorInput', 'FireballViewFactorOutput', 'fireball_radiation_flux', 'FireballRadiationFluxInput', 'FireballRadiationFluxOutput', 'fireball_distance', 'FireballDistanceInput', 'FireballDistanceOutput', 'fireball_consequence', 'FireballConsequenceInput', 'FireballConsequenceOutput', 'vce_scaled_distance', 'VceScaledDistanceInput', 'VceScaledDistanceOutput', 'vce_scaled_overpressure', 'VceScaledOverpressureInput', 'VceScaledOverpressureOutput', 'vce_blast_overpressure', 'VceBlastOverpressureInput', 'VceBlastOverpressureOutput', 'blast_building_probit', 'BlastBuildingProbitInput', 'BlastBuildingProbitOutput', 'blast_building_pressure_threshold', 'BlastBuildingPressureThresholdInput', 'BlastBuildingPressureThresholdOutput', 'vce_blast_distance', 'VceBlastDistanceInput', 'VceBlastDistanceOutput', 'vce_blast_consequence', 'VceBlastConsequenceInput', 'VceBlastConsequenceOutput', 'physical_explosion_tnt', 'PhysicalExplosionTntInput', 'PhysicalExplosionTntOutput', 'bleve_liquid_tnt', 'BleveLiquidTntInput', 'BleveLiquidTntOutput', 'physical_explosion_consequence', 'PhysicalExplosionConsequenceInput', 'PhysicalExplosionConsequenceOutput', 'bleve_consequence', 'BleveConsequenceInput', 'BleveConsequenceOutput', 'toxic_species_probit', 'ToxicSpeciesProbitInput', 'ToxicSpeciesProbitOutput', 'toxic_species_threshold', 'ToxicSpeciesThresholdInput', 'ToxicSpeciesThresholdOutput', 'toxic_dose_profile', 'ToxicDoseProfileInput', 'ToxicDoseProfileOutput']
|
api581/api/events.py
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""Public events calculations. Inputs and outputs use named SI units.
|
|
2
|
+
Generated by scripts/build_python_api.py; inspect the request model for fields.
|
|
3
|
+
"""
|
|
4
|
+
from ..core import Context
|
|
5
|
+
from ..result import CalculationResult, calculate
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from ..effects import EventTree as LeakageTreeInput
|
|
9
|
+
from ..outputs import EventsLeakageTreeOutput as LeakageTreeOutput
|
|
10
|
+
|
|
11
|
+
def leakage_tree(inputs: LeakageTreeInput, *, context: Context | None = None) -> CalculationResult[LeakageTreeOutput]:
|
|
12
|
+
'Single-phase leakage event tree'
|
|
13
|
+
return calculate('events/leakage-tree', inputs, output_type=LeakageTreeOutput, context=context)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from ..ignition import AmbientIgnition as AmbientIgnitionInput
|
|
17
|
+
from ..outputs import EventsAmbientIgnitionOutput as AmbientIgnitionOutput
|
|
18
|
+
|
|
19
|
+
def ambient_ignition(inputs: AmbientIgnitionInput, *, context: Context | None = None) -> CalculationResult[AmbientIgnitionOutput]:
|
|
20
|
+
'Flash-point/rate ambient ignition correlation'
|
|
21
|
+
return calculate('events/ambient-ignition', inputs, output_type=AmbientIgnitionOutput, context=context)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
from ..ignition import MaximumIgnition as AitIgnitionMaximumInput
|
|
25
|
+
from ..outputs import EventsAitIgnitionMaximumOutput as AitIgnitionMaximumOutput
|
|
26
|
+
|
|
27
|
+
def ait_ignition_maximum(inputs: AitIgnitionMaximumInput, *, context: Context | None = None) -> CalculationResult[AitIgnitionMaximumOutput]:
|
|
28
|
+
'Ignition probability at autoignition temperature'
|
|
29
|
+
return calculate('events/ait-ignition-maximum', inputs, output_type=AitIgnitionMaximumOutput, context=context)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
from ..ignition import TemperatureProbability as ProbabilityTemperatureInput
|
|
33
|
+
from ..outputs import EventsProbabilityTemperatureOutput as ProbabilityTemperatureOutput
|
|
34
|
+
|
|
35
|
+
def probability_temperature(inputs: ProbabilityTemperatureInput, *, context: Context | None = None) -> CalculationResult[ProbabilityTemperatureOutput]:
|
|
36
|
+
'Reference-to-AIT probability interpolation'
|
|
37
|
+
return calculate('events/probability-temperature', inputs, output_type=ProbabilityTemperatureOutput, context=context)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
from ..ignition import ConditionalTable as ConditionalTableInput
|
|
41
|
+
from ..outputs import EventsConditionalTableOutput as ConditionalTableOutput
|
|
42
|
+
|
|
43
|
+
def conditional_table(inputs: ConditionalTableInput, *, context: Context | None = None) -> CalculationResult[ConditionalTableOutput]:
|
|
44
|
+
'Table5.3 conditional event probabilities'
|
|
45
|
+
return calculate('events/conditional-table', inputs, output_type=ConditionalTableOutput, context=context)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
from ..ignition import TwoPhaseProbability as TwoPhaseProbabilityInput
|
|
49
|
+
from ..outputs import EventsTwoPhaseProbabilityOutput as TwoPhaseProbabilityOutput
|
|
50
|
+
|
|
51
|
+
def two_phase_probability(inputs: TwoPhaseProbabilityInput, *, context: Context | None = None) -> CalculationResult[TwoPhaseProbabilityOutput]:
|
|
52
|
+
'Explicit-basis liquid/vapor conditional probability mixing'
|
|
53
|
+
return calculate('events/two-phase-probability', inputs, output_type=TwoPhaseProbabilityOutput, context=context)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
from ..ignition import SinglePhaseTree as SinglePhaseTreeInput
|
|
57
|
+
from ..outputs import EventsSinglePhaseTreeOutput as SinglePhaseTreeOutput
|
|
58
|
+
|
|
59
|
+
def single_phase_tree(inputs: SinglePhaseTreeInput, *, context: Context | None = None) -> CalculationResult[SinglePhaseTreeOutput]:
|
|
60
|
+
'Single-phase terminal paths from Figures5.3/5.4'
|
|
61
|
+
return calculate('events/single-phase-tree', inputs, output_type=SinglePhaseTreeOutput, context=context)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
from ..ignition import SinglePhaseIgnition as SinglePhaseIgnitionInput
|
|
65
|
+
from ..outputs import EventsSinglePhaseIgnitionOutput as SinglePhaseIgnitionOutput
|
|
66
|
+
|
|
67
|
+
def single_phase_ignition(inputs: SinglePhaseIgnitionInput, *, context: Context | None = None) -> CalculationResult[SinglePhaseIgnitionOutput]:
|
|
68
|
+
'Rate/flash-point/temperature to single-phase terminal probabilities'
|
|
69
|
+
return calculate('events/single-phase-ignition', inputs, output_type=SinglePhaseIgnitionOutput, context=context)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
from ..two_phase_events import FireballConditional as FireballGivenImmediateInput
|
|
73
|
+
from ..outputs import EventsFireballGivenImmediateOutput as FireballGivenImmediateOutput
|
|
74
|
+
|
|
75
|
+
def fireball_given_immediate(inputs: FireballGivenImmediateInput, *, context: Context | None = None) -> CalculationResult[FireballGivenImmediateOutput]:
|
|
76
|
+
'Fireball conditional applicability from text or figure basis'
|
|
77
|
+
return calculate('events/fireball-given-immediate', inputs, output_type=FireballGivenImmediateOutput, context=context)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
from ..two_phase_events import TwoPhaseTree as TwoPhaseTreeInput
|
|
81
|
+
from ..outputs import EventsTwoPhaseTreeOutput as TwoPhaseTreeOutput
|
|
82
|
+
|
|
83
|
+
def two_phase_tree(inputs: TwoPhaseTreeInput, *, context: Context | None = None) -> CalculationResult[TwoPhaseTreeOutput]:
|
|
84
|
+
'Two-phase figure paths including one correlated jet/pool event'
|
|
85
|
+
return calculate('events/two-phase-tree', inputs, output_type=TwoPhaseTreeOutput, context=context)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
from ..two_phase_events import TwoPhaseIgnition as TwoPhaseIgnitionInput
|
|
89
|
+
from ..outputs import EventsTwoPhaseIgnitionOutput as TwoPhaseIgnitionOutput
|
|
90
|
+
|
|
91
|
+
def two_phase_ignition(inputs: TwoPhaseIgnitionInput, *, context: Context | None = None) -> CalculationResult[TwoPhaseIgnitionOutput]:
|
|
92
|
+
'Phase rates and ignition correlations to two-phase terminal paths'
|
|
93
|
+
return calculate('events/two-phase-ignition', inputs, output_type=TwoPhaseIgnitionOutput, context=context)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
__all__ = ['leakage_tree', 'LeakageTreeInput', 'LeakageTreeOutput', 'ambient_ignition', 'AmbientIgnitionInput', 'AmbientIgnitionOutput', 'ait_ignition_maximum', 'AitIgnitionMaximumInput', 'AitIgnitionMaximumOutput', 'probability_temperature', 'ProbabilityTemperatureInput', 'ProbabilityTemperatureOutput', 'conditional_table', 'ConditionalTableInput', 'ConditionalTableOutput', 'two_phase_probability', 'TwoPhaseProbabilityInput', 'TwoPhaseProbabilityOutput', 'single_phase_tree', 'SinglePhaseTreeInput', 'SinglePhaseTreeOutput', 'single_phase_ignition', 'SinglePhaseIgnitionInput', 'SinglePhaseIgnitionOutput', 'fireball_given_immediate', 'FireballGivenImmediateInput', 'FireballGivenImmediateOutput', 'two_phase_tree', 'TwoPhaseTreeInput', 'TwoPhaseTreeOutput', 'two_phase_ignition', 'TwoPhaseIgnitionInput', 'TwoPhaseIgnitionOutput']
|