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.
Files changed (139) hide show
  1. api581/__init__.py +80 -0
  2. api581/_amine_tables.py +105 -0
  3. api581/_h2sh2_tables.py +161 -0
  4. api581/_slabx_worker.py +174 -0
  5. api581/_sulfidic_tables.py +517 -0
  6. api581/_sulfuric_tables.py +328 -0
  7. api581/acid_sour_water.py +238 -0
  8. api581/acscc_screening.py +88 -0
  9. api581/alkaline_sour_water.py +267 -0
  10. api581/amine_corrosion.py +277 -0
  11. api581/amine_screening.py +103 -0
  12. api581/api/__init__.py +4 -0
  13. api581/api/api520.py +88 -0
  14. api581/api/bundle.py +121 -0
  15. api581/api/consequence.py +102 -0
  16. api581/api/damage.py +1831 -0
  17. api581/api/dispersion.py +121 -0
  18. api581/api/effects.py +318 -0
  19. api581/api/events.py +96 -0
  20. api581/api/financial.py +115 -0
  21. api581/api/frequency.py +40 -0
  22. api581/api/inspection.py +96 -0
  23. api581/api/level1.py +238 -0
  24. api581/api/level2.py +74 -0
  25. api581/api/planning.py +17 -0
  26. api581/api/prd.py +190 -0
  27. api581/api/properties.py +130 -0
  28. api581/api/release.py +252 -0
  29. api581/api/reliability.py +40 -0
  30. api581/api/risk.py +71 -0
  31. api581/api/tank.py +490 -0
  32. api581/api520.py +205 -0
  33. api581/area_contribution.py +72 -0
  34. api581/blast.py +232 -0
  35. api581/brittle.py +205 -0
  36. api581/bundle.py +300 -0
  37. api581/catalog.py +442 -0
  38. api581/caustic_screening.py +103 -0
  39. api581/clad_thinning.py +146 -0
  40. api581/clscc_screening.py +55 -0
  41. api581/co2_corrosion.py +313 -0
  42. api581/co2_screening.py +205 -0
  43. api581/consequences.py +250 -0
  44. api581/contracts.py +1038 -0
  45. api581/cooling_selection.py +204 -0
  46. api581/cooling_water.py +305 -0
  47. api581/core.py +126 -0
  48. api581/corrosion_rate.py +38 -0
  49. api581/cost_tables.py +175 -0
  50. api581/cracking.py +74 -0
  51. api581/data/coverage.json +21361 -0
  52. api581/data/digital-twin.schema.json +538 -0
  53. api581/data/direct-test-queue.json +7 -0
  54. api581/data/native-engine-evidence.json +44 -0
  55. api581/data/python-api.schema.json +92706 -0
  56. api581/data/reference-fixture-evidence.json +2956 -0
  57. api581/data/scope-boundaries.schema.json +58 -0
  58. api581/data/software-test-evidence.json +4278 -0
  59. api581/data/standard-metadata.json +1328 -0
  60. api581/data/standard.schema.json +233 -0
  61. api581/data/supporting-text-review.json +1319 -0
  62. api581/digital_twin.py +491 -0
  63. api581/dispersion.py +45 -0
  64. api581/effects.py +232 -0
  65. api581/evaporation.py +181 -0
  66. api581/evidence.py +81 -0
  67. api581/external_corrosion.py +148 -0
  68. api581/external_cracking.py +63 -0
  69. api581/fatigue.py +56 -0
  70. api581/fireball.py +163 -0
  71. api581/flash_pool.py +111 -0
  72. api581/flash_solver.py +122 -0
  73. api581/groundwater.py +101 -0
  74. api581/h2sh2_corrosion.py +128 -0
  75. api581/hic_screened.py +89 -0
  76. api581/htha.py +45 -0
  77. api581/hydrochloric_acid.py +272 -0
  78. api581/hydrofluoric_acid.py +236 -0
  79. api581/ignition.py +204 -0
  80. api581/inspection_effectiveness.py +601 -0
  81. api581/jet_handoff.py +60 -0
  82. api581/level1.py +311 -0
  83. api581/level1_summary.py +35 -0
  84. api581/level1_toxic.py +313 -0
  85. api581/level1_type1.py +91 -0
  86. api581/level2_summary.py +237 -0
  87. api581/lining.py +173 -0
  88. api581/native_toxic.py +67 -0
  89. api581/outputs.py +5672 -0
  90. api581/oxidation.py +145 -0
  91. api581/pascc_screening.py +78 -0
  92. api581/physical_explosion.py +190 -0
  93. api581/pof.py +207 -0
  94. api581/pool_fire.py +273 -0
  95. api581/portfolio.py +68 -0
  96. api581/prd.py +204 -0
  97. api581/prd_consequences.py +245 -0
  98. api581/prd_history.py +44 -0
  99. api581/py.typed +0 -0
  100. api581/release.py +307 -0
  101. api581/representative_fluids.py +172 -0
  102. api581/result.py +50 -0
  103. api581/risk.py +191 -0
  104. api581/saturation.py +66 -0
  105. api581/scc_mechanisms.py +242 -0
  106. api581/schema.py +45 -0
  107. api581/slabx_adapter.py +261 -0
  108. api581/soil_corrosion.py +191 -0
  109. api581/source_partition.py +169 -0
  110. api581/spatial.py +87 -0
  111. api581/ssc_screening.py +77 -0
  112. api581/standard.py +281 -0
  113. api581/storage.py +42 -0
  114. api581/sulfidic_corrosion.py +197 -0
  115. api581/sulfuric_acid.py +209 -0
  116. api581/tank.py +260 -0
  117. api581/tank_corrosion.py +256 -0
  118. api581/tank_environment.py +186 -0
  119. api581/tank_financial.py +202 -0
  120. api581/tank_integrated.py +51 -0
  121. api581/tank_shell.py +141 -0
  122. api581/tank_source.py +152 -0
  123. api581/tank_thinning.py +204 -0
  124. api581/temper.py +105 -0
  125. api581/thinning.py +172 -0
  126. api581/thinning_conditions.py +212 -0
  127. api581/thinning_history.py +118 -0
  128. api581/thinning_selection.py +81 -0
  129. api581/thinning_type.py +34 -0
  130. api581/toxic_criteria.py +111 -0
  131. api581/toxic_level2.py +233 -0
  132. api581/two_phase_events.py +120 -0
  133. api581/workflow.py +42 -0
  134. api581_engine-0.1.4.dist-info/METADATA +419 -0
  135. api581_engine-0.1.4.dist-info/RECORD +139 -0
  136. api581_engine-0.1.4.dist-info/WHEEL +5 -0
  137. api581_engine-0.1.4.dist-info/licenses/LICENSE +161 -0
  138. api581_engine-0.1.4.dist-info/licenses/NOTICE.md +18 -0
  139. api581_engine-0.1.4.dist-info/top_level.txt +1 -0
@@ -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']