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
api581/api/damage.py ADDED
@@ -0,0 +1,1831 @@
1
+ """Public damage 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 ..acid_sour_water import AcidSourAssessment as AcidSourAssessmentInput
8
+ from ..acid_sour_water import AcidSourCarbon as AcidSourCarbonInput
9
+ from ..acid_sour_water import AcidSourOtherMaterial as AcidSourOtherMaterialInput
10
+ from ..acid_sour_water import AcidSourRoute as AcidSourRouteInput
11
+ from ..acscc_screening import AcsccScreen as AcsccScreenInput
12
+ from ..acscc_screening import AcsccWaterSusceptibility as Acscc_screeningAcsccWaterSusceptibilityInput
13
+ from ..alkaline_sour_water import AlkalineAssessment as AlkalineAssessmentInput
14
+ from ..alkaline_sour_water import AlkalineVelocity as AlkalineVelocityInput
15
+ from ..alkaline_sour_water import AlkalineWet as AlkalineWetInput
16
+ from ..amine_corrosion import AmineAssessment as AmineAssessmentInput
17
+ from ..amine_corrosion import AmineCarbonService as AmineCarbonServiceInput
18
+ from ..amine_corrosion import AmineContaminantSelection as AmineContaminantSelectionInput
19
+ from ..amine_screening import AmineCrackingScreen as AmineCrackingScreenInput
20
+ from ..amine_screening import AmineFigure as AmineFigureInput
21
+ from ..amine_corrosion import AmineLoadingSelection as Amine_corrosionAmineLoadingSelectionInput
22
+ from ..amine_corrosion import AmineStainlessService as AmineStainlessServiceInput
23
+ from ..amine_corrosion import AmineStrength as AmineStrengthInput
24
+ from ..scc_mechanisms import Assessment as AssessmentInput
25
+ from ..brittle import BrittleReference as BrittleReferenceInput
26
+ from ..brittle import BrittleService as BrittleServiceInput
27
+ from ..co2_corrosion import CO2Assessment as CO2AssessmentInput
28
+ from ..co2_corrosion import CO2Glycol as CO2GlycolInput
29
+ from ..co2_screening import CO2HydrocarbonWetting as CO2HydrocarbonWettingInput
30
+ from ..co2_screening import CO2MaterialScreen as CO2MaterialScreenInput
31
+ from ..co2_screening import CO2MoistureScreen as CO2MoistureScreenInput
32
+ from ..co2_screening import CO2PartialPressure as CO2PartialPressureInput
33
+ from ..co2_screening import CO2ScreenedAssessment as CO2ScreenedAssessmentInput
34
+ from ..co2_corrosion import CO2WetModel as CO2WetModelInput
35
+ from ..caustic_screening import CausticFigureSusceptibility as Caustic_screeningCausticFigureSusceptibilityInput
36
+ from ..caustic_screening import CausticPlotEvidence as CausticPlotEvidenceInput
37
+ from ..caustic_screening import CausticScreen as CausticScreenInput
38
+ from ..clad_thinning import CladWall as CladWallInput
39
+ from ..clscc_screening import ClsccScreen as ClsccScreenInput
40
+ from ..external_corrosion import CoatingExposure as External_corrosionCoatingExposureInput
41
+ from ..clad_thinning import CodeStrength as CodeStrengthInput
42
+ from ..cooling_water import CoolingFresh as CoolingFreshInput
43
+ from ..cooling_selection import CoolingMeasurement as CoolingMeasurementInput
44
+ from ..cooling_selection import CoolingRateSelection as CoolingRateSelectionInput
45
+ from ..cooling_water import CoolingSeawater as CoolingSeawaterInput
46
+ from ..cooling_water import CoolingTemperature as CoolingTemperatureInput
47
+ from ..external_corrosion import CuiAdjustment as CuiAdjustmentInput
48
+ from ..thinning_conditions import Deadleg as DeadlegInput
49
+ from ..clad_thinning import DesignStrengthRatio as DesignStrengthRatioInput
50
+ from ..hydrochloric_acid import EstimatedHClPH as EstimatedHClPHInput
51
+ from ..alkaline_sour_water import EstimatedNH4HS as EstimatedNH4HSInput
52
+ from ..co2_corrosion import EstimatedPH as EstimatedPHInput
53
+ from ..external_corrosion import ExposurePeriod as ExposurePeriodInput
54
+ from ..thinning_selection import FallbackThinningRate as FallbackThinningRateInput
55
+ from ..fatigue import FatigueAdjustments as FatigueFatigueAdjustmentsInput
56
+ from ..fatigue import FatigueBase as FatigueFatigueBaseInput
57
+ from ..cooling_selection import FreshChoice as FreshChoiceInput
58
+ from ..groundwater import GroundwaterAssessment as GroundwaterGroundwaterAssessmentInput
59
+ from ..groundwater import GroundwaterChemistry as GroundwaterChemistryInput
60
+ from ..groundwater import GroundwaterRate as GroundwaterRateInput
61
+ from ..h2sh2_corrosion import H2SH2Assessment as H2SH2AssessmentInput
62
+ from ..h2sh2_corrosion import H2SH2Service as H2SH2ServiceInput
63
+ from ..hydrochloric_acid import HClAlloyWet as HClAlloyWetInput
64
+ from ..hydrochloric_acid import HClAssessment as HClAssessmentInput
65
+ from ..hydrochloric_acid import HClPHWet as HClPHWetInput
66
+ from ..hydrofluoric_acid import HFAlloy400Service as HFAlloy400ServiceInput
67
+ from ..hydrofluoric_acid import HFAssessment as HFAssessmentInput
68
+ from ..hydrofluoric_acid import HFCarbonService as HFCarbonServiceInput
69
+ from ..hydrofluoric_acid import HFPublishedRate as HFPublishedRateInput
70
+ from ..hic_screened import HicQualifiedService as HicQualifiedServiceInput
71
+ from ..thinning_conditions import InjectionPoint as InjectionPointInput
72
+ from ..scc_mechanisms import InspectionCounts as InspectionCountsInput
73
+ from ..lining import LiningAge as LiningAgeInput
74
+ from ..lining import LiningCondition as LiningConditionInput
75
+ from ..lining import LiningInspection as LiningInspectionInput
76
+ from ..lining import LiningMonitoring as LiningMonitoringInput
77
+ from ..thinning_history import MeasuredBaseline as MeasuredBaselineInput
78
+ from ..hydrochloric_acid import MeasuredHClPH as MeasuredHClPHInput
79
+ from ..thinning_selection import MeasuredThinningRate as MeasuredThinningRateInput
80
+ from ..thinning_selection import MechanismThinningRate as MechanismThinningRateInput
81
+ from ..thinning_conditions import MonitoringRow as MonitoringRowInput
82
+ from ..thinning_conditions import OnlineMonitoring as OnlineMonitoringInput
83
+ from ..cooling_selection import OtherChoice as OtherChoiceInput
84
+ from ..cooling_selection import OtherCoolingMaterial as OtherCoolingMaterialInput
85
+ from ..oxidation import OxidationAssessment as OxidationOxidationAssessmentInput
86
+ from ..oxidation import OxidationRate as OxidationOxidationRateInput
87
+ from ..pascc_screening import PasccFigure as PasccFigureInput
88
+ from ..pascc_screening import PasccScreen as PasccScreenInput
89
+ from ..scc_mechanisms import PasccSusceptibility as Scc_mechanismsPasccSusceptibilityInput
90
+ from ..thinning import Posterior as PosteriorInput
91
+ from ..clad_thinning import PressureStrength as PressureStrengthInput
92
+ from ..thinning import PriorSelection as PriorSelectionInput
93
+ from ..external_corrosion import RateAdjustment as RateAdjustmentInput
94
+ from ..cooling_selection import SeawaterChoice as SeawaterChoiceInput
95
+ from ..hydrochloric_acid import SelectedHClChloride as SelectedHClChlorideInput
96
+ from ..soil_corrosion import SoilCathodicProtection as SoilCathodicProtectionInput
97
+ from ..soil_corrosion import SoilCoating as SoilCoatingInput
98
+ from ..soil_corrosion import SoilRate as SoilRateInput
99
+ from ..soil_corrosion import SoilResistivity as SoilResistivityInput
100
+ from ..soil_corrosion import SoilTemperature as SoilTemperatureInput
101
+ from ..ssc_screening import SscQualifiedService as SscQualifiedServiceInput
102
+ from ..ssc_screening import SscScreen as SscScreenInput
103
+ from ..thinning import StrengthRatio as StrengthRatioInput
104
+ from ..sulfidic_corrosion import SulfidicAssessment as SulfidicAssessmentInput
105
+ from ..sulfidic_corrosion import SulfidicService as SulfidicServiceInput
106
+ from ..sulfidic_corrosion import SulfidicTableRate as Sulfidic_corrosionSulfidicTableRateInput
107
+ from ..sulfidic_corrosion import SulfidicVelocity as SulfidicVelocityInput
108
+ from ..sulfuric_acid import SulfuricAssessment as SulfuricAssessmentInput
109
+ from ..sulfuric_acid import SulfuricRate as SulfuricRateInput
110
+ from ..sulfuric_acid import SulfuricSpecialistRate as SulfuricSpecialistRateInput
111
+ from ..sulfuric_acid import SulfuricTableService as SulfuricTableServiceInput
112
+ from ..sulfuric_acid import SulfuricThinningClassification as Sulfuric_acidSulfuricThinningClassificationInput
113
+ from ..hydrochloric_acid import SuppliedHClChloride as SuppliedHClChlorideInput
114
+ from ..alkaline_sour_water import SuppliedNH4HS as SuppliedNH4HSInput
115
+ from ..co2_corrosion import SuppliedPH as SuppliedPHInput
116
+ from ..co2_corrosion import SuppliedShear as SuppliedShearInput
117
+ from ..thinning_conditions import ThinningConditions as ThinningConditionsInput
118
+ from ..thinning_history import ThinningInspectionHistory as Thinning_historyThinningInspectionHistoryInput
119
+ from ..thinning_history import ThinningInspectionRecord as ThinningInspectionRecordInput
120
+ from ..thinning_selection import ThinningRateSelection as Thinning_selectionThinningRateSelectionInput
121
+ from ..cooling_selection import TreatedCooling as TreatedCoolingInput
122
+ from ..cooling_selection import TreatmentChoice as TreatmentChoiceInput
123
+ from ..co2_corrosion import TurbulentShear as TurbulentShearInput
124
+ from ..thinning import WallLoss as WallLossInput
125
+ from ..scc_mechanisms import WetH2sEnvironment as Scc_mechanismsWetH2sEnvironmentInput
126
+
127
+ from ..pof import GoverningDamage as CombineInput
128
+ from ..outputs import DamageCombineOutput as CombineOutput
129
+
130
+ def combine(inputs: CombineInput, *, context: Context | None = None) -> CalculationResult[CombineOutput]:
131
+ 'Governing and total damage factors'
132
+ return calculate('damage/combine', inputs, output_type=CombineOutput, context=context)
133
+
134
+
135
+ from ..thinning import WallLoss as ThinningWallLossInput
136
+ from ..outputs import DamageThinningWallLossOutput as ThinningWallLossOutput
137
+
138
+ def thinning_wall_loss(inputs: ThinningWallLossInput, *, context: Context | None = None) -> CalculationResult[ThinningWallLossOutput]:
139
+ 'Unclad fractional wall loss'
140
+ return calculate('damage/thinning-wall-loss', inputs, output_type=ThinningWallLossOutput, context=context)
141
+
142
+
143
+ from ..thinning import FlowStress as FlowStressInput
144
+ from ..outputs import DamageFlowStressOutput as FlowStressOutput
145
+
146
+ def flow_stress(inputs: FlowStressInput, *, context: Context | None = None) -> CalculationResult[FlowStressOutput]:
147
+ 'Thinning flow stress'
148
+ return calculate('damage/flow-stress', inputs, output_type=FlowStressOutput, context=context)
149
+
150
+
151
+ from ..thinning import StrengthRatio as ThinningStrengthRatioInput
152
+ from ..outputs import DamageThinningStrengthRatioOutput as ThinningStrengthRatioOutput
153
+
154
+ def thinning_strength_ratio(inputs: ThinningStrengthRatioInput, *, context: Context | None = None) -> CalculationResult[ThinningStrengthRatioOutput]:
155
+ 'Internal-pressure thinning strength ratio'
156
+ return calculate('damage/thinning-strength-ratio', inputs, output_type=ThinningStrengthRatioOutput, context=context)
157
+
158
+
159
+ from ..thinning import PriorSelection as ThinningPriorSelectionInput
160
+ from ..outputs import DamageThinningPriorSelectionOutput as ThinningPriorSelectionOutput
161
+
162
+ def thinning_prior_selection(inputs: ThinningPriorSelectionInput, *, context: Context | None = None) -> CalculationResult[ThinningPriorSelectionOutput]:
163
+ 'Table4.5 or qualified customized thinning damage-state prior'
164
+ return calculate('damage/thinning-prior-selection', inputs, output_type=ThinningPriorSelectionOutput, context=context)
165
+
166
+
167
+ from ..thinning import Posterior as ThinningPosteriorInput
168
+ from ..outputs import DamageThinningPosteriorOutput as ThinningPosteriorOutput
169
+
170
+ def thinning_posterior(inputs: ThinningPosteriorInput, *, context: Context | None = None) -> CalculationResult[ThinningPosteriorOutput]:
171
+ 'Bayesian thinning damage-state probabilities'
172
+ return calculate('damage/thinning-posterior', inputs, output_type=ThinningPosteriorOutput, context=context)
173
+
174
+
175
+ from ..thinning import ThinningBase as ThinningBaseInput
176
+ from ..outputs import DamageThinningBaseOutput as ThinningBaseOutput
177
+
178
+ def thinning_base(inputs: ThinningBaseInput, *, context: Context | None = None) -> CalculationResult[ThinningBaseOutput]:
179
+ 'Thinning reliability indices and base damage factor'
180
+ return calculate('damage/thinning-base', inputs, output_type=ThinningBaseOutput, context=context)
181
+
182
+
183
+ from ..thinning import ThinningAdjustment as ThinningAdjustInput
184
+ from ..outputs import DamageThinningAdjustOutput as ThinningAdjustOutput
185
+
186
+ def thinning_adjust(inputs: ThinningAdjustInput, *, context: Context | None = None) -> CalculationResult[ThinningAdjustOutput]:
187
+ 'Apply thinning damage factor adjustments'
188
+ return calculate('damage/thinning-adjust', inputs, output_type=ThinningAdjustOutput, context=context)
189
+
190
+
191
+ from ..thinning import UncladThinning as ThinningUncladInput
192
+ from ..outputs import DamageThinningUncladOutput as ThinningUncladOutput
193
+
194
+ def thinning_unclad(inputs: ThinningUncladInput, *, context: Context | None = None) -> CalculationResult[ThinningUncladOutput]:
195
+ 'Compose unclad non-AST thinning damage calculation'
196
+ return calculate('damage/thinning-unclad', inputs, output_type=ThinningUncladOutput, context=context)
197
+
198
+
199
+ from ..cracking import SccBase as SccBaseInput
200
+ from ..outputs import DamageSccBaseOutput as SccBaseOutput
201
+
202
+ def scc_base(inputs: SccBaseInput, *, context: Context | None = None) -> CalculationResult[SccBaseOutput]:
203
+ 'SCC base damage factor lookup'
204
+ return calculate('damage/scc-base', inputs, output_type=SccBaseOutput, context=context)
205
+
206
+
207
+ from ..cracking import CausticSeverity as CausticSeverityInput
208
+ from ..outputs import DamageCausticSeverityOutput as CausticSeverityOutput
209
+
210
+ def caustic_severity(inputs: CausticSeverityInput, *, context: Context | None = None) -> CalculationResult[CausticSeverityOutput]:
211
+ 'Caustic cracking severity index'
212
+ return calculate('damage/caustic-severity', inputs, output_type=CausticSeverityOutput, context=context)
213
+
214
+
215
+ from ..cracking import CausticEscalation as CausticEscalationInput
216
+ from ..outputs import DamageCausticEscalationOutput as CausticEscalationOutput
217
+
218
+ def caustic_escalation(inputs: CausticEscalationInput, *, context: Context | None = None) -> CalculationResult[CausticEscalationOutput]:
219
+ 'Caustic cracking time escalation'
220
+ return calculate('damage/caustic-escalation', inputs, output_type=CausticEscalationOutput, context=context)
221
+
222
+
223
+ from ..cracking import LiningAdjustment as LiningAdjustInput
224
+ from ..outputs import DamageLiningAdjustOutput as LiningAdjustOutput
225
+
226
+ def lining_adjust(inputs: LiningAdjustInput, *, context: Context | None = None) -> CalculationResult[LiningAdjustOutput]:
227
+ 'Lining condition and monitoring adjustment'
228
+ return calculate('damage/lining-adjust', inputs, output_type=LiningAdjustOutput, context=context)
229
+
230
+
231
+ from ..scc_mechanisms import Severity as SccSeverityInput
232
+ from ..outputs import DamageSccSeverityOutput as SccSeverityOutput
233
+
234
+ def scc_severity(inputs: SccSeverityInput, *, context: Context | None = None) -> CalculationResult[SccSeverityOutput]:
235
+ 'Mechanism-specific SCC severity index'
236
+ return calculate('damage/scc-severity', inputs, output_type=SccSeverityOutput, context=context)
237
+
238
+
239
+ from ..scc_mechanisms import Monitoring as HicMonitoringFactorInput
240
+ from ..outputs import DamageHicMonitoringFactorOutput as HicMonitoringFactorOutput
241
+
242
+ def hic_monitoring_factor(inputs: HicMonitoringFactorInput, *, context: Context | None = None) -> CalculationResult[HicMonitoringFactorOutput]:
243
+ 'HIC/SOHIC monitoring adjustment factor'
244
+ return calculate('damage/hic-monitoring-factor', inputs, output_type=HicMonitoringFactorOutput, context=context)
245
+
246
+
247
+ from ..scc_mechanisms import Assessment as CausticInput
248
+ from ..outputs import DamageCausticOutput as CausticOutput
249
+
250
+ def caustic(inputs: CausticInput, *, context: Context | None = None) -> CalculationResult[CausticOutput]:
251
+ 'caustic damage factor from qualified susceptibility and inspections'
252
+ return calculate('damage/caustic', inputs, output_type=CausticOutput, context=context)
253
+
254
+
255
+ from ..scc_mechanisms import Assessment as AmineInput
256
+ from ..outputs import DamageAmineOutput as AmineOutput
257
+
258
+ def amine(inputs: AmineInput, *, context: Context | None = None) -> CalculationResult[AmineOutput]:
259
+ 'amine damage factor from qualified susceptibility and inspections'
260
+ return calculate('damage/amine', inputs, output_type=AmineOutput, context=context)
261
+
262
+
263
+ from ..scc_mechanisms import Assessment as SscInput
264
+ from ..outputs import DamageSscOutput as SscOutput
265
+
266
+ def ssc(inputs: SscInput, *, context: Context | None = None) -> CalculationResult[SscOutput]:
267
+ 'ssc damage factor from qualified susceptibility and inspections'
268
+ return calculate('damage/ssc', inputs, output_type=SscOutput, context=context)
269
+
270
+
271
+ from ..scc_mechanisms import HicAssessment as HicSohicH2sInput
272
+ from ..outputs import DamageHicSohicH2sOutput as HicSohicH2sOutput
273
+
274
+ def hic_sohic_h2s(inputs: HicSohicH2sInput, *, context: Context | None = None) -> CalculationResult[HicSohicH2sOutput]:
275
+ 'hic-sohic-h2s damage factor from qualified susceptibility and inspections'
276
+ return calculate('damage/hic-sohic-h2s', inputs, output_type=HicSohicH2sOutput, context=context)
277
+
278
+
279
+ from ..scc_mechanisms import Assessment as AcsccInput
280
+ from ..outputs import DamageAcsccOutput as AcsccOutput
281
+
282
+ def acscc(inputs: AcsccInput, *, context: Context | None = None) -> CalculationResult[AcsccOutput]:
283
+ 'acscc damage factor from qualified susceptibility and inspections'
284
+ return calculate('damage/acscc', inputs, output_type=AcsccOutput, context=context)
285
+
286
+
287
+ from ..scc_mechanisms import Assessment as PasccInput
288
+ from ..outputs import DamagePasccOutput as PasccOutput
289
+
290
+ def pascc(inputs: PasccInput, *, context: Context | None = None) -> CalculationResult[PasccOutput]:
291
+ 'pascc damage factor from qualified susceptibility and inspections'
292
+ return calculate('damage/pascc', inputs, output_type=PasccOutput, context=context)
293
+
294
+
295
+ from ..scc_mechanisms import Assessment as ClsccInput
296
+ from ..outputs import DamageClsccOutput as ClsccOutput
297
+
298
+ def clscc(inputs: ClsccInput, *, context: Context | None = None) -> CalculationResult[ClsccOutput]:
299
+ 'clscc damage factor from qualified susceptibility and inspections'
300
+ return calculate('damage/clscc', inputs, output_type=ClsccOutput, context=context)
301
+
302
+
303
+ from ..scc_mechanisms import Assessment as HscHfInput
304
+ from ..outputs import DamageHscHfOutput as HscHfOutput
305
+
306
+ def hsc_hf(inputs: HscHfInput, *, context: Context | None = None) -> CalculationResult[HscHfOutput]:
307
+ 'hsc-hf damage factor from qualified susceptibility and inspections'
308
+ return calculate('damage/hsc-hf', inputs, output_type=HscHfOutput, context=context)
309
+
310
+
311
+ from ..scc_mechanisms import HicAssessment as HicSohicHfInput
312
+ from ..outputs import DamageHicSohicHfOutput as HicSohicHfOutput
313
+
314
+ def hic_sohic_hf(inputs: HicSohicHfInput, *, context: Context | None = None) -> CalculationResult[HicSohicHfOutput]:
315
+ 'hic-sohic-hf damage factor from qualified susceptibility and inspections'
316
+ return calculate('damage/hic-sohic-hf', inputs, output_type=HicSohicHfOutput, context=context)
317
+
318
+
319
+ from ..scc_mechanisms import HscSusceptibility as HscHfSusceptibilityInput
320
+ from ..outputs import DamageHscHfSusceptibilityOutput as HscHfSusceptibilityOutput
321
+
322
+ def hsc_hf_susceptibility(inputs: HscHfSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[HscHfSusceptibilityOutput]:
323
+ 'HSC-HF susceptibility of eligible steel weldments'
324
+ return calculate('damage/hsc-hf-susceptibility', inputs, output_type=HscHfSusceptibilityOutput, context=context)
325
+
326
+
327
+ from ..scc_mechanisms import SscSusceptibility as SscSusceptibilityInput
328
+ from ..outputs import DamageSscSusceptibilityOutput as SscSusceptibilityOutput
329
+
330
+ def ssc_susceptibility(inputs: SscSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[SscSusceptibilityOutput]:
331
+ 'SSC hardness/heat-treatment susceptibility'
332
+ return calculate('damage/ssc-susceptibility', inputs, output_type=SscSusceptibilityOutput, context=context)
333
+
334
+
335
+ from ..scc_mechanisms import HicMaterial as HicHfSusceptibilityInput
336
+ from ..outputs import DamageHicHfSusceptibilityOutput as HicHfSusceptibilityOutput
337
+
338
+ def hic_hf_susceptibility(inputs: HicHfSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[HicHfSusceptibilityOutput]:
339
+ 'HIC/SOHIC-HF steel/product susceptibility'
340
+ return calculate('damage/hic-hf-susceptibility', inputs, output_type=HicHfSusceptibilityOutput, context=context)
341
+
342
+
343
+ from ..scc_mechanisms import HicH2sMaterial as HicH2sSusceptibilityInput
344
+ from ..outputs import DamageHicH2sSusceptibilityOutput as HicH2sSusceptibilityOutput
345
+
346
+ def hic_h2s_susceptibility(inputs: HicH2sSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[HicH2sSusceptibilityOutput]:
347
+ 'HIC/SOHIC-H2S steel/product susceptibility'
348
+ return calculate('damage/hic-h2s-susceptibility', inputs, output_type=HicH2sSusceptibilityOutput, context=context)
349
+
350
+
351
+ from ..scc_mechanisms import ClsccSusceptibility as ClsccSusceptibilityInput
352
+ from ..outputs import DamageClsccSusceptibilityOutput as ClsccSusceptibilityOutput
353
+
354
+ def clscc_susceptibility(inputs: ClsccSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[ClsccSusceptibilityOutput]:
355
+ 'CLSCC SI/US temperature/chloride susceptibility'
356
+ return calculate('damage/clscc-susceptibility', inputs, output_type=ClsccSusceptibilityOutput, context=context)
357
+
358
+
359
+ from ..scc_mechanisms import WetH2sEnvironment as WetH2sEnvironmentInput
360
+ from ..outputs import DamageWetH2sEnvironmentOutput as WetH2sEnvironmentOutput
361
+
362
+ def wet_h2s_environment(inputs: WetH2sEnvironmentInput, *, context: Context | None = None) -> CalculationResult[WetH2sEnvironmentOutput]:
363
+ 'Wet H2S environmental severity and cyanide flag'
364
+ return calculate('damage/wet-h2s-environment', inputs, output_type=WetH2sEnvironmentOutput, context=context)
365
+
366
+
367
+ from ..scc_mechanisms import AcsccSusceptibility as AcsccSusceptibilityInput
368
+ from ..outputs import DamageAcsccSusceptibilityOutput as AcsccSusceptibilityOutput
369
+
370
+ def acscc_susceptibility(inputs: AcsccSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[AcsccSusceptibilityOutput]:
371
+ 'ACSCC carbonate/PWHT susceptibility'
372
+ return calculate('damage/acscc-susceptibility', inputs, output_type=AcsccSusceptibilityOutput, context=context)
373
+
374
+
375
+ from ..scc_mechanisms import PasccSusceptibility as PasccSusceptibilityInput
376
+ from ..outputs import DamagePasccSusceptibilityOutput as PasccSusceptibilityOutput
377
+
378
+ def pascc_susceptibility(inputs: PasccSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[PasccSusceptibilityOutput]:
379
+ 'PASCC temperature/material/heat-treatment susceptibility'
380
+ return calculate('damage/pascc-susceptibility', inputs, output_type=PasccSusceptibilityOutput, context=context)
381
+
382
+
383
+ from ..external_corrosion import RateQuery as ExternalBaseRateInput
384
+ from ..outputs import DamageExternalBaseRateOutput as ExternalBaseRateOutput
385
+
386
+ def external_base_rate(inputs: ExternalBaseRateInput, *, context: Context | None = None) -> CalculationResult[ExternalBaseRateOutput]:
387
+ 'External corrosion SI base rate'
388
+ return calculate('damage/external-base-rate', inputs, output_type=ExternalBaseRateOutput, context=context)
389
+
390
+
391
+ from ..external_corrosion import RateQuery as CuiBaseRateInput
392
+ from ..outputs import DamageCuiBaseRateOutput as CuiBaseRateOutput
393
+
394
+ def cui_base_rate(inputs: CuiBaseRateInput, *, context: Context | None = None) -> CalculationResult[CuiBaseRateOutput]:
395
+ 'CUI SI base corrosion rate'
396
+ return calculate('damage/cui-base-rate', inputs, output_type=CuiBaseRateOutput, context=context)
397
+
398
+
399
+ from ..external_corrosion import WeightedRate as ExternalTimeWeightedRateInput
400
+ from ..outputs import DamageExternalTimeWeightedRateOutput as ExternalTimeWeightedRateOutput
401
+
402
+ def external_time_weighted_rate(inputs: ExternalTimeWeightedRateInput, *, context: Context | None = None) -> CalculationResult[ExternalTimeWeightedRateOutput]:
403
+ 'Time-weighted external/CUI base rate'
404
+ return calculate('damage/external-time-weighted-rate', inputs, output_type=ExternalTimeWeightedRateOutput, context=context)
405
+
406
+
407
+ from ..external_corrosion import RateAdjustment as ExternalRateAdjustInput
408
+ from ..outputs import DamageExternalRateAdjustOutput as ExternalRateAdjustOutput
409
+
410
+ def external_rate_adjust(inputs: ExternalRateAdjustInput, *, context: Context | None = None) -> CalculationResult[ExternalRateAdjustOutput]:
411
+ 'External corrosion design/interface adjustment'
412
+ return calculate('damage/external-rate-adjust', inputs, output_type=ExternalRateAdjustOutput, context=context)
413
+
414
+
415
+ from ..external_corrosion import CuiAdjustment as CuiRateAdjustInput
416
+ from ..outputs import DamageCuiRateAdjustOutput as CuiRateAdjustOutput
417
+
418
+ def cui_rate_adjust(inputs: CuiRateAdjustInput, *, context: Context | None = None) -> CalculationResult[CuiRateAdjustOutput]:
419
+ 'CUI insulation/condition/complexity adjustment'
420
+ return calculate('damage/cui-rate-adjust', inputs, output_type=CuiRateAdjustOutput, context=context)
421
+
422
+
423
+ from ..external_corrosion import CoatingExposure as CoatingExposureInput
424
+ from ..outputs import DamageCoatingExposureOutput as CoatingExposureOutput
425
+
426
+ def coating_exposure(inputs: CoatingExposureInput, *, context: Context | None = None) -> CalculationResult[CoatingExposureOutput]:
427
+ 'Coating-adjusted corrosion exposure time'
428
+ return calculate('damage/coating-exposure', inputs, output_type=CoatingExposureOutput, context=context)
429
+
430
+
431
+ from ..external_corrosion import ExternalAssessment as ExternalCorrosionInput
432
+ from ..outputs import DamageExternalCorrosionOutput as ExternalCorrosionOutput
433
+
434
+ def external_corrosion(inputs: ExternalCorrosionInput, *, context: Context | None = None) -> CalculationResult[ExternalCorrosionOutput]:
435
+ 'External corrosion Bayesian damage factor'
436
+ return calculate('damage/external-corrosion', inputs, output_type=ExternalCorrosionOutput, context=context)
437
+
438
+
439
+ from ..external_corrosion import CuiAssessment as CuiInput
440
+ from ..outputs import DamageCuiOutput as CuiOutput
441
+
442
+ def cui(inputs: CuiInput, *, context: Context | None = None) -> CalculationResult[CuiOutput]:
443
+ 'Corrosion-under-insulation Bayesian damage factor'
444
+ return calculate('damage/cui', inputs, output_type=CuiOutput, context=context)
445
+
446
+
447
+ from ..external_cracking import SusceptibilityQuery as ExternalClsccBaseSusceptibilityInput
448
+ from ..outputs import DamageExternalClsccBaseSusceptibilityOutput as ExternalClsccBaseSusceptibilityOutput
449
+
450
+ def external_clscc_base_susceptibility(inputs: ExternalClsccBaseSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[ExternalClsccBaseSusceptibilityOutput]:
451
+ 'External/CUI CLSCC climate-temperature base susceptibility'
452
+ return calculate('damage/external-clscc-base-susceptibility', inputs, output_type=ExternalClsccBaseSusceptibilityOutput, context=context)
453
+
454
+
455
+ from ..external_cracking import CrackingAssessment as ExternalClsccInput
456
+ from ..outputs import DamageExternalClsccOutput as ExternalClsccOutput
457
+
458
+ def external_clscc(inputs: ExternalClsccInput, *, context: Context | None = None) -> CalculationResult[ExternalClsccOutput]:
459
+ 'External chloride SCC damage factor'
460
+ return calculate('damage/external-clscc', inputs, output_type=ExternalClsccOutput, context=context)
461
+
462
+
463
+ from ..external_cracking import CrackingAssessment as CuiClsccInput
464
+ from ..outputs import DamageCuiClsccOutput as CuiClsccOutput
465
+
466
+ def cui_clscc(inputs: CuiClsccInput, *, context: Context | None = None) -> CalculationResult[CuiClsccOutput]:
467
+ 'Chloride SCC under insulation damage factor'
468
+ return calculate('damage/cui-clscc', inputs, output_type=CuiClsccOutput, context=context)
469
+
470
+
471
+ from ..fatigue import FatigueBase as FatigueBaseInput
472
+ from ..outputs import DamageFatigueBaseOutput as FatigueBaseOutput
473
+
474
+ def fatigue_base(inputs: FatigueBaseInput, *, context: Context | None = None) -> CalculationResult[FatigueBaseOutput]:
475
+ 'Piping mechanical fatigue base factor'
476
+ return calculate('damage/fatigue-base', inputs, output_type=FatigueBaseOutput, context=context)
477
+
478
+
479
+ from ..fatigue import FatigueAdjustments as FatigueAdjustmentsInput
480
+ from ..outputs import DamageFatigueAdjustmentsOutput as FatigueAdjustmentsOutput
481
+
482
+ def fatigue_adjustments(inputs: FatigueAdjustmentsInput, *, context: Context | None = None) -> CalculationResult[FatigueAdjustmentsOutput]:
483
+ 'Piping mechanical fatigue adjustment factors'
484
+ return calculate('damage/fatigue-adjustments', inputs, output_type=FatigueAdjustmentsOutput, context=context)
485
+
486
+
487
+ from ..fatigue import FatigueAssessment as MechanicalFatigueInput
488
+ from ..outputs import DamageMechanicalFatigueOutput as MechanicalFatigueOutput
489
+
490
+ def mechanical_fatigue(inputs: MechanicalFatigueInput, *, context: Context | None = None) -> CalculationResult[MechanicalFatigueOutput]:
491
+ 'Piping mechanical fatigue damage factor'
492
+ return calculate('damage/mechanical-fatigue', inputs, output_type=MechanicalFatigueOutput, context=context)
493
+
494
+
495
+ from ..htha import HthaDamage as HthaFactorInput
496
+ from ..outputs import DamageHthaFactorOutput as HthaFactorOutput
497
+
498
+ def htha_factor(inputs: HthaFactorInput, *, context: Context | None = None) -> CalculationResult[HthaFactorOutput]:
499
+ 'HTHA susceptibility damage factor'
500
+ return calculate('damage/htha-factor', inputs, output_type=HthaFactorOutput, context=context)
501
+
502
+
503
+ from ..htha import CarbonHtha as HthaCarbonScreenInput
504
+ from ..outputs import DamageHthaCarbonScreenOutput as HthaCarbonScreenOutput
505
+
506
+ def htha_carbon_screen(inputs: HthaCarbonScreenInput, *, context: Context | None = None) -> CalculationResult[HthaCarbonScreenOutput]:
507
+ 'Carbon/C-half-Mo HTHA screening and factor'
508
+ return calculate('damage/htha-carbon-screen', inputs, output_type=HthaCarbonScreenOutput, context=context)
509
+
510
+
511
+ from ..brittle import BrittleReference as BrittleReferenceTemperatureInput
512
+ from ..outputs import DamageBrittleReferenceTemperatureOutput as BrittleReferenceTemperatureOutput
513
+
514
+ def brittle_reference_temperature(inputs: BrittleReferenceTemperatureInput, *, context: Context | None = None) -> CalculationResult[BrittleReferenceTemperatureOutput]:
515
+ 'Brittle fracture reference temperature'
516
+ return calculate('damage/brittle-reference-temperature', inputs, output_type=BrittleReferenceTemperatureOutput, context=context)
517
+
518
+
519
+ from ..brittle import BrittleService as BrittleServiceFactorInput
520
+ from ..outputs import DamageBrittleServiceFactorOutput as BrittleServiceFactorOutput
521
+
522
+ def brittle_service_factor(inputs: BrittleServiceFactorInput, *, context: Context | None = None) -> CalculationResult[BrittleServiceFactorOutput]:
523
+ 'Brittle fracture service-experience adjustment'
524
+ return calculate('damage/brittle-service-factor', inputs, output_type=BrittleServiceFactorOutput, context=context)
525
+
526
+
527
+ from ..brittle import BrittleBase as BrittleBaseInput
528
+ from ..outputs import DamageBrittleBaseOutput as BrittleBaseOutput
529
+
530
+ def brittle_base(inputs: BrittleBaseInput, *, context: Context | None = None) -> CalculationResult[BrittleBaseOutput]:
531
+ 'Brittle fracture base damage table'
532
+ return calculate('damage/brittle-base', inputs, output_type=BrittleBaseOutput, context=context)
533
+
534
+
535
+ from ..brittle import BrittleFracture as BrittleFractureInput
536
+ from ..outputs import DamageBrittleFractureOutput as BrittleFractureOutput
537
+
538
+ def brittle_fracture(inputs: BrittleFractureInput, *, context: Context | None = None) -> CalculationResult[BrittleFractureOutput]:
539
+ 'Brittle fracture reference/base/service calculation'
540
+ return calculate('damage/brittle-fracture', inputs, output_type=BrittleFractureOutput, context=context)
541
+
542
+
543
+ from ..brittle import Embrittlement885 as Embrittlement885fInput
544
+ from ..outputs import DamageEmbrittlement885fOutput as Embrittlement885fOutput
545
+
546
+ def embrittlement_885f(inputs: Embrittlement885fInput, *, context: Context | None = None) -> CalculationResult[Embrittlement885fOutput]:
547
+ '885 F embrittlement damage factor'
548
+ return calculate('damage/embrittlement-885f', inputs, output_type=Embrittlement885fOutput, context=context)
549
+
550
+
551
+ from ..brittle import SigmaContent as SigmaContentInput
552
+ from ..outputs import DamageSigmaContentOutput as SigmaContentOutput
553
+
554
+ def sigma_content(inputs: SigmaContentInput, *, context: Context | None = None) -> CalculationResult[SigmaContentOutput]:
555
+ 'Sigma-phase content category'
556
+ return calculate('damage/sigma-content', inputs, output_type=SigmaContentOutput, context=context)
557
+
558
+
559
+ from ..brittle import SigmaDamage as SigmaEmbrittlementInput
560
+ from ..outputs import DamageSigmaEmbrittlementOutput as SigmaEmbrittlementOutput
561
+
562
+ def sigma_embrittlement(inputs: SigmaEmbrittlementInput, *, context: Context | None = None) -> CalculationResult[SigmaEmbrittlementOutput]:
563
+ 'Sigma-phase embrittlement damage factor'
564
+ return calculate('damage/sigma-embrittlement', inputs, output_type=SigmaEmbrittlementOutput, context=context)
565
+
566
+
567
+ from ..temper import JComposition as TemperJFactorInput
568
+ from ..outputs import DamageTemperJFactorOutput as TemperJFactorOutput
569
+
570
+ def temper_j_factor(inputs: TemperJFactorInput, *, context: Context | None = None) -> CalculationResult[TemperJFactorOutput]:
571
+ 'Temper embrittlement composition J factor'
572
+ return calculate('damage/temper-j-factor', inputs, output_type=TemperJFactorOutput, context=context)
573
+
574
+
575
+ from ..temper import XbarComposition as TemperXbarInput
576
+ from ..outputs import DamageTemperXbarOutput as TemperXbarOutput
577
+
578
+ def temper_xbar(inputs: TemperXbarInput, *, context: Context | None = None) -> CalculationResult[TemperXbarOutput]:
579
+ 'Temper embrittlement composition X-bar factor'
580
+ return calculate('damage/temper-xbar', inputs, output_type=TemperXbarOutput, context=context)
581
+
582
+
583
+ from ..temper import XbarShift as TemperXbarShiftInput
584
+ from ..outputs import DamageTemperXbarShiftOutput as TemperXbarShiftOutput
585
+
586
+ def temper_xbar_shift(inputs: TemperXbarShiftInput, *, context: Context | None = None) -> CalculationResult[TemperXbarShiftOutput]:
587
+ 'X-bar long-term FATT temperature shift'
588
+ return calculate('damage/temper-xbar-shift', inputs, output_type=TemperXbarShiftOutput, context=context)
589
+
590
+
591
+ from ..temper import GenerationShift as TemperGenerationShiftInput
592
+ from ..outputs import DamageTemperGenerationShiftOutput as TemperGenerationShiftOutput
593
+
594
+ def temper_generation_shift(inputs: TemperGenerationShiftInput, *, context: Context | None = None) -> CalculationResult[TemperGenerationShiftOutput]:
595
+ 'Fabrication-era conservative FATT shift'
596
+ return calculate('damage/temper-generation-shift', inputs, output_type=TemperGenerationShiftOutput, context=context)
597
+
598
+
599
+ from ..temper import TemperDamage as TemperEmbrittlementInput
600
+ from ..outputs import DamageTemperEmbrittlementOutput as TemperEmbrittlementOutput
601
+
602
+ def temper_embrittlement(inputs: TemperEmbrittlementInput, *, context: Context | None = None) -> CalculationResult[TemperEmbrittlementOutput]:
603
+ 'Low-alloy temper embrittlement damage factor'
604
+ return calculate('damage/temper-embrittlement', inputs, output_type=TemperEmbrittlementOutput, context=context)
605
+
606
+
607
+ from ..soil_corrosion import SoilBaseRate as SoilBaseRateTableInput
608
+ from ..outputs import DamageSoilBaseRateTableOutput as SoilBaseRateTableOutput
609
+
610
+ def soil_base_rate_table(inputs: SoilBaseRateTableInput, *, context: Context | None = None) -> CalculationResult[SoilBaseRateTableOutput]:
611
+ 'Soil base corrosion-rate reference profiles'
612
+ return calculate('damage/soil-base-rate-table', inputs, output_type=SoilBaseRateTableOutput, context=context)
613
+
614
+
615
+ from ..soil_corrosion import SoilResistivity as SoilResistivityFactorInput
616
+ from ..outputs import DamageSoilResistivityFactorOutput as SoilResistivityFactorOutput
617
+
618
+ def soil_resistivity_factor(inputs: SoilResistivityFactorInput, *, context: Context | None = None) -> CalculationResult[SoilResistivityFactorOutput]:
619
+ 'Optional soil resistivity adjustment factor'
620
+ return calculate('damage/soil-resistivity-factor', inputs, output_type=SoilResistivityFactorOutput, context=context)
621
+
622
+
623
+ from ..soil_corrosion import SoilTemperature as SoilTemperatureFactorInput
624
+ from ..outputs import DamageSoilTemperatureFactorOutput as SoilTemperatureFactorOutput
625
+
626
+ def soil_temperature_factor(inputs: SoilTemperatureFactorInput, *, context: Context | None = None) -> CalculationResult[SoilTemperatureFactorOutput]:
627
+ 'Buried equipment soil-corrosion temperature factor'
628
+ return calculate('damage/soil-temperature-factor', inputs, output_type=SoilTemperatureFactorOutput, context=context)
629
+
630
+
631
+ from ..soil_corrosion import SoilCathodicProtection as SoilCpFactorInput
632
+ from ..outputs import DamageSoilCpFactorOutput as SoilCpFactorOutput
633
+
634
+ def soil_cp_factor(inputs: SoilCpFactorInput, *, context: Context | None = None) -> CalculationResult[SoilCpFactorOutput]:
635
+ 'Soil corrosion cathodic-protection effectiveness factor'
636
+ return calculate('damage/soil-cp-factor', inputs, output_type=SoilCpFactorOutput, context=context)
637
+
638
+
639
+ from ..soil_corrosion import SoilCoating as SoilCoatingFactorInput
640
+ from ..outputs import DamageSoilCoatingFactorOutput as SoilCoatingFactorOutput
641
+
642
+ def soil_coating_factor(inputs: SoilCoatingFactorInput, *, context: Context | None = None) -> CalculationResult[SoilCoatingFactorOutput]:
643
+ 'Product of independent soil-coating effectiveness factors'
644
+ return calculate('damage/soil-coating-factor', inputs, output_type=SoilCoatingFactorOutput, context=context)
645
+
646
+
647
+ from ..soil_corrosion import SoilRateEquation as SoilRateEquationInput
648
+ from ..outputs import DamageSoilRateEquationOutput as SoilRateEquationOutput
649
+
650
+ def soil_rate_equation(inputs: SoilRateEquationInput, *, context: Context | None = None) -> CalculationResult[SoilRateEquationOutput]:
651
+ 'Soil corrosion multiplicative rate equation'
652
+ return calculate('damage/soil-rate-equation', inputs, output_type=SoilRateEquationOutput, context=context)
653
+
654
+
655
+ from ..soil_corrosion import SoilRate as SoilCorrosionRateInput
656
+ from ..outputs import DamageSoilCorrosionRateOutput as SoilCorrosionRateOutput
657
+
658
+ def soil_corrosion_rate(inputs: SoilCorrosionRateInput, *, context: Context | None = None) -> CalculationResult[SoilCorrosionRateOutput]:
659
+ 'Compose qualified soil-side corrosion base rate and table factors'
660
+ return calculate('damage/soil-corrosion-rate', inputs, output_type=SoilCorrosionRateOutput, context=context)
661
+
662
+
663
+ from ..soil_corrosion import SoilThinning as SoilThinningAssessmentInput
664
+ from ..outputs import DamageSoilThinningAssessmentOutput as SoilThinningAssessmentOutput
665
+
666
+ def soil_thinning_assessment(inputs: SoilThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[SoilThinningAssessmentOutput]:
667
+ 'Soil corrosion rate through unclad non-AST thinning DF'
668
+ return calculate('damage/soil-thinning-assessment', inputs, output_type=SoilThinningAssessmentOutput, context=context)
669
+
670
+
671
+ from ..clad_thinning import CladdingLife as CladdingRemainingLifeInput
672
+ from ..outputs import DamageCladdingRemainingLifeOutput as CladdingRemainingLifeOutput
673
+
674
+ def cladding_remaining_life(inputs: CladdingRemainingLifeInput, *, context: Context | None = None) -> CalculationResult[CladdingRemainingLifeOutput]:
675
+ 'Cladding or weld overlay depletion time from thickness baseline'
676
+ return calculate('damage/cladding-remaining-life', inputs, output_type=CladdingRemainingLifeOutput, context=context)
677
+
678
+
679
+ from ..clad_thinning import CladWall as ThinningCladWallLossInput
680
+ from ..outputs import DamageThinningCladWallLossOutput as ThinningCladWallLossOutput
681
+
682
+ def thinning_clad_wall_loss(inputs: ThinningCladWallLossInput, *, context: Context | None = None) -> CalculationResult[ThinningCladWallLossOutput]:
683
+ 'Sequential cladding and base-material fractional wall loss'
684
+ return calculate('damage/thinning-clad-wall-loss', inputs, output_type=ThinningCladWallLossOutput, context=context)
685
+
686
+
687
+ from ..clad_thinning import DesignStrengthRatio as ThinningDesignStrengthRatioInput
688
+ from ..outputs import DamageThinningDesignStrengthRatioOutput as ThinningDesignStrengthRatioOutput
689
+
690
+ def thinning_design_strength_ratio(inputs: ThinningDesignStrengthRatioInput, *, context: Context | None = None) -> CalculationResult[ThinningDesignStrengthRatioOutput]:
691
+ 'Thinning strength ratio from required and structural thickness'
692
+ return calculate('damage/thinning-design-strength-ratio', inputs, output_type=ThinningDesignStrengthRatioOutput, context=context)
693
+
694
+
695
+ from ..clad_thinning import CladThinning as ThinningCladInput
696
+ from ..outputs import DamageThinningCladOutput as ThinningCladOutput
697
+
698
+ def thinning_clad(inputs: ThinningCladInput, *, context: Context | None = None) -> CalculationResult[ThinningCladOutput]:
699
+ 'Compose clad non-AST thinning with selected strength-ratio method'
700
+ return calculate('damage/thinning-clad', inputs, output_type=ThinningCladOutput, context=context)
701
+
702
+
703
+ from ..clad_thinning import UncladDesignThinning as ThinningUncladDesignInput
704
+ from ..outputs import DamageThinningUncladDesignOutput as ThinningUncladDesignOutput
705
+
706
+ def thinning_unclad_design(inputs: ThinningUncladDesignInput, *, context: Context | None = None) -> CalculationResult[ThinningUncladDesignOutput]:
707
+ 'Compose unclad thinning with code and structural minimum strength ratio'
708
+ return calculate('damage/thinning-unclad-design', inputs, output_type=ThinningUncladDesignOutput, context=context)
709
+
710
+
711
+ from ..thinning_conditions import MonitoringRow as ThinningMonitoringRowInput
712
+ from ..outputs import DamageThinningMonitoringRowOutput as ThinningMonitoringRowOutput
713
+
714
+ def thinning_monitoring_row(inputs: ThinningMonitoringRowInput, *, context: Context | None = None) -> CalculationResult[ThinningMonitoringRowOutput]:
715
+ 'Select thinning online-monitoring table row'
716
+ return calculate('damage/thinning-monitoring-row', inputs, output_type=ThinningMonitoringRowOutput, context=context)
717
+
718
+
719
+ from ..thinning_conditions import MonitoringCell as ThinningMonitoringTableFactorInput
720
+ from ..outputs import DamageThinningMonitoringTableFactorOutput as ThinningMonitoringTableFactorOutput
721
+
722
+ def thinning_monitoring_table_factor(inputs: ThinningMonitoringTableFactorInput, *, context: Context | None = None) -> CalculationResult[ThinningMonitoringTableFactorOutput]:
723
+ 'Thinning online-monitoring table cell and explicit joint exception'
724
+ return calculate('damage/thinning-monitoring-table-factor', inputs, output_type=ThinningMonitoringTableFactorOutput, context=context)
725
+
726
+
727
+ from ..thinning_conditions import OnlineMonitoring as ThinningOnlineMonitoringFactorInput
728
+ from ..outputs import DamageThinningOnlineMonitoringFactorOutput as ThinningOnlineMonitoringFactorOutput
729
+
730
+ def thinning_online_monitoring_factor(inputs: ThinningOnlineMonitoringFactorInput, *, context: Context | None = None) -> CalculationResult[ThinningOnlineMonitoringFactorOutput]:
731
+ 'Qualified thinning monitoring credit without stacking'
732
+ return calculate('damage/thinning-online-monitoring-factor', inputs, output_type=ThinningOnlineMonitoringFactorOutput, context=context)
733
+
734
+
735
+ from ..thinning_conditions import InjectionPoint as ThinningInjectionPointFactorInput
736
+ from ..outputs import DamageThinningInjectionPointFactorOutput as ThinningInjectionPointFactorOutput
737
+
738
+ def thinning_injection_point_factor(inputs: ThinningInjectionPointFactorInput, *, context: Context | None = None) -> CalculationResult[ThinningInjectionPointFactorOutput]:
739
+ 'Thinning injection or corrosive mix point adjustment'
740
+ return calculate('damage/thinning-injection-point-factor', inputs, output_type=ThinningInjectionPointFactorOutput, context=context)
741
+
742
+
743
+ from ..thinning_conditions import Deadleg as ThinningDeadlegFactorInput
744
+ from ..outputs import DamageThinningDeadlegFactorOutput as ThinningDeadlegFactorOutput
745
+
746
+ def thinning_deadleg_factor(inputs: ThinningDeadlegFactorInput, *, context: Context | None = None) -> CalculationResult[ThinningDeadlegFactorOutput]:
747
+ 'Thinning intermittent-service or stagnant deadleg adjustment'
748
+ return calculate('damage/thinning-deadleg-factor', inputs, output_type=ThinningDeadlegFactorOutput, context=context)
749
+
750
+
751
+ from ..thinning_conditions import ConditionalAdjustment as ThinningConditionalAdjustmentInput
752
+ from ..outputs import DamageThinningConditionalAdjustmentOutput as ThinningConditionalAdjustmentOutput
753
+
754
+ def thinning_conditional_adjustment(inputs: ThinningConditionalAdjustmentInput, *, context: Context | None = None) -> CalculationResult[ThinningConditionalAdjustmentOutput]:
755
+ 'Apply qualified non-AST thinning adjustment conditions'
756
+ return calculate('damage/thinning-conditional-adjustment', inputs, output_type=ThinningConditionalAdjustmentOutput, context=context)
757
+
758
+
759
+ from ..thinning_conditions import QualifiedUnclad as ThinningUncladQualifiedInput
760
+ from ..outputs import DamageThinningUncladQualifiedOutput as ThinningUncladQualifiedOutput
761
+
762
+ def thinning_unclad_qualified(inputs: ThinningUncladQualifiedInput, *, context: Context | None = None) -> CalculationResult[ThinningUncladQualifiedOutput]:
763
+ 'Unclad non-AST thinning with condition-derived adjustment factors'
764
+ return calculate('damage/thinning-unclad-qualified', inputs, output_type=ThinningUncladQualifiedOutput, context=context)
765
+
766
+
767
+ from ..thinning_conditions import QualifiedClad as ThinningCladQualifiedInput
768
+ from ..outputs import DamageThinningCladQualifiedOutput as ThinningCladQualifiedOutput
769
+
770
+ def thinning_clad_qualified(inputs: ThinningCladQualifiedInput, *, context: Context | None = None) -> CalculationResult[ThinningCladQualifiedOutput]:
771
+ 'Clad pressure-vessel thinning with condition-derived monitoring adjustment'
772
+ return calculate('damage/thinning-clad-qualified', inputs, output_type=ThinningCladQualifiedOutput, context=context)
773
+
774
+
775
+ from ..lining import LiningAge as LiningEffectiveAgeInput
776
+ from ..outputs import DamageLiningEffectiveAgeOutput as LiningEffectiveAgeOutput
777
+
778
+ def lining_effective_age(inputs: LiningEffectiveAgeInput, *, context: Context | None = None) -> CalculationResult[LiningEffectiveAgeOutput]:
779
+ 'Lining age from installation or qualified A/B inspection'
780
+ return calculate('damage/lining-effective-age', inputs, output_type=LiningEffectiveAgeOutput, context=context)
781
+
782
+
783
+ from ..lining import LiningBase as LiningBaseFactorInput
784
+ from ..outputs import DamageLiningBaseFactorOutput as LiningBaseFactorOutput
785
+
786
+ def lining_base_factor(inputs: LiningBaseFactorInput, *, context: Context | None = None) -> CalculationResult[LiningBaseFactorOutput]:
787
+ 'Inorganic and organic lining base damage factor tables'
788
+ return calculate('damage/lining-base-factor', inputs, output_type=LiningBaseFactorOutput, context=context)
789
+
790
+
791
+ from ..lining import LiningCondition as LiningConditionFactorInput
792
+ from ..outputs import DamageLiningConditionFactorOutput as LiningConditionFactorOutput
793
+
794
+ def lining_condition_factor(inputs: LiningConditionFactorInput, *, context: Context | None = None) -> CalculationResult[LiningConditionFactorOutput]:
795
+ 'Qualitative lining condition factor'
796
+ return calculate('damage/lining-condition-factor', inputs, output_type=LiningConditionFactorOutput, context=context)
797
+
798
+
799
+ from ..lining import LiningMonitoring as LiningMonitoringFactorInput
800
+ from ..outputs import DamageLiningMonitoringFactorOutput as LiningMonitoringFactorOutput
801
+
802
+ def lining_monitoring_factor(inputs: LiningMonitoringFactorInput, *, context: Context | None = None) -> CalculationResult[LiningMonitoringFactorOutput]:
803
+ 'Lining early-detection monitoring credit'
804
+ return calculate('damage/lining-monitoring-factor', inputs, output_type=LiningMonitoringFactorOutput, context=context)
805
+
806
+
807
+ from ..lining import GoverningLining as LiningGoverningThinningInput
808
+ from ..outputs import DamageLiningGoverningThinningOutput as LiningGoverningThinningOutput
809
+
810
+ def lining_governing_thinning(inputs: LiningGoverningThinningInput, *, context: Context | None = None) -> CalculationResult[LiningGoverningThinningOutput]:
811
+ 'Minimum of base-material thinning and lining damage factors'
812
+ return calculate('damage/lining-governing-thinning', inputs, output_type=LiningGoverningThinningOutput, context=context)
813
+
814
+
815
+ from ..lining import LiningAssessment as LiningAssessmentInput
816
+ from ..outputs import DamageLiningAssessmentOutput as LiningAssessmentOutput
817
+
818
+ def lining_assessment(inputs: LiningAssessmentInput, *, context: Context | None = None) -> CalculationResult[LiningAssessmentOutput]:
819
+ 'Compose lining age base factor condition monitoring and governing thinning'
820
+ return calculate('damage/lining-assessment', inputs, output_type=LiningAssessmentOutput, context=context)
821
+
822
+
823
+ from ..cooling_water import CoolingRateFactors as CoolingWaterRateFactorsInput
824
+ from ..outputs import DamageCoolingWaterRateFactorsOutput as CoolingWaterRateFactorsOutput
825
+
826
+ def cooling_water_rate_factors(inputs: CoolingWaterRateFactorsInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterRateFactorsOutput]:
827
+ 'Cooling-water qualitative corrosion-rate factor flags'
828
+ return calculate('damage/cooling-water-rate-factors', inputs, output_type=CoolingWaterRateFactorsOutput, context=context)
829
+
830
+
831
+ from ..cooling_water import CoolingCoefficients as CoolingWaterPhCoefficientsInput
832
+ from ..outputs import DamageCoolingWaterPhCoefficientsOutput as CoolingWaterPhCoefficientsOutput
833
+
834
+ def cooling_water_ph_coefficients(inputs: CoolingWaterPhCoefficientsInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterPhCoefficientsOutput]:
835
+ 'Cooling water saturation-pH coefficient table'
836
+ return calculate('damage/cooling-water-ph-coefficients', inputs, output_type=CoolingWaterPhCoefficientsOutput, context=context)
837
+
838
+
839
+ from ..cooling_water import CoolingIndices as CoolingWaterStabilityIndicesInput
840
+ from ..outputs import DamageCoolingWaterStabilityIndicesOutput as CoolingWaterStabilityIndicesOutput
841
+
842
+ def cooling_water_stability_indices(inputs: CoolingWaterStabilityIndicesInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterStabilityIndicesOutput]:
843
+ 'Langelier and Ryznar cooling-water indices'
844
+ return calculate('damage/cooling-water-stability-indices', inputs, output_type=CoolingWaterStabilityIndicesOutput, context=context)
845
+
846
+
847
+ from ..cooling_water import CoolingSaturationPH as CoolingWaterSaturationPhInput
848
+ from ..outputs import DamageCoolingWaterSaturationPhOutput as CoolingWaterSaturationPhOutput
849
+
850
+ def cooling_water_saturation_ph(inputs: CoolingWaterSaturationPhInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterSaturationPhOutput]:
851
+ 'Cooling water saturation pH from four coefficients'
852
+ return calculate('damage/cooling-water-saturation-ph', inputs, output_type=CoolingWaterSaturationPhOutput, context=context)
853
+
854
+
855
+ from ..cooling_water import CoolingBase as CoolingWaterBaseRateInput
856
+ from ..outputs import DamageCoolingWaterBaseRateOutput as CoolingWaterBaseRateOutput
857
+
858
+ def cooling_water_base_rate(inputs: CoolingWaterBaseRateInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterBaseRateOutput]:
859
+ 'Cooling water chloride and scaling base corrosion rate'
860
+ return calculate('damage/cooling-water-base-rate', inputs, output_type=CoolingWaterBaseRateOutput, context=context)
861
+
862
+
863
+ from ..cooling_water import CoolingTemperature as CoolingWaterTemperatureFactorInput
864
+ from ..outputs import DamageCoolingWaterTemperatureFactorOutput as CoolingWaterTemperatureFactorOutput
865
+
866
+ def cooling_water_temperature_factor(inputs: CoolingWaterTemperatureFactorInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterTemperatureFactorOutput]:
867
+ 'Cooling water open or closed system temperature factor'
868
+ return calculate('damage/cooling-water-temperature-factor', inputs, output_type=CoolingWaterTemperatureFactorOutput, context=context)
869
+
870
+
871
+ from ..cooling_water import CoolingVelocity as CoolingWaterVelocityFactorInput
872
+ from ..outputs import DamageCoolingWaterVelocityFactorOutput as CoolingWaterVelocityFactorOutput
873
+
874
+ def cooling_water_velocity_factor(inputs: CoolingWaterVelocityFactorInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterVelocityFactorOutput]:
875
+ 'Cooling water velocity adjustment equation'
876
+ return calculate('damage/cooling-water-velocity-factor', inputs, output_type=CoolingWaterVelocityFactorOutput, context=context)
877
+
878
+
879
+ from ..cooling_water import CoolingRateEquation as CoolingWaterRateEquationInput
880
+ from ..outputs import DamageCoolingWaterRateEquationOutput as CoolingWaterRateEquationOutput
881
+
882
+ def cooling_water_rate_equation(inputs: CoolingWaterRateEquationInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterRateEquationOutput]:
883
+ 'Cooling water base rate with temperature and velocity factors'
884
+ return calculate('damage/cooling-water-rate-equation', inputs, output_type=CoolingWaterRateEquationOutput, context=context)
885
+
886
+
887
+ from ..cooling_water import CoolingSeawater as CoolingWaterSeawaterRateInput
888
+ from ..outputs import DamageCoolingWaterSeawaterRateOutput as CoolingWaterSeawaterRateOutput
889
+
890
+ def cooling_water_seawater_rate(inputs: CoolingWaterSeawaterRateInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterSeawaterRateOutput]:
891
+ 'Once-through seawater carbon-steel corrosion correlation'
892
+ return calculate('damage/cooling-water-seawater-rate', inputs, output_type=CoolingWaterSeawaterRateOutput, context=context)
893
+
894
+
895
+ from ..cooling_water import CoolingCoupon as CoolingWaterCouponPittingRateInput
896
+ from ..outputs import DamageCoolingWaterCouponPittingRateOutput as CoolingWaterCouponPittingRateOutput
897
+
898
+ def cooling_water_coupon_pitting_rate(inputs: CoolingWaterCouponPittingRateInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterCouponPittingRateOutput]:
899
+ 'Qualified cooling-water coupon general to pitting estimate'
900
+ return calculate('damage/cooling-water-coupon-pitting-rate', inputs, output_type=CoolingWaterCouponPittingRateOutput, context=context)
901
+
902
+
903
+ from ..cooling_water import CoolingFresh as CoolingWaterFreshAssessmentInput
904
+ from ..outputs import DamageCoolingWaterFreshAssessmentOutput as CoolingWaterFreshAssessmentOutput
905
+
906
+ def cooling_water_fresh_assessment(inputs: CoolingWaterFreshAssessmentInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterFreshAssessmentOutput]:
907
+ 'Untreated freshwater cooling corrosion with qualified supplied saturation pH'
908
+ return calculate('damage/cooling-water-fresh-assessment', inputs, output_type=CoolingWaterFreshAssessmentOutput, context=context)
909
+
910
+
911
+ from ..cooling_water import CoolingThinning as CoolingWaterThinningAssessmentInput
912
+ from ..outputs import DamageCoolingWaterThinningAssessmentOutput as CoolingWaterThinningAssessmentOutput
913
+
914
+ def cooling_water_thinning_assessment(inputs: CoolingWaterThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterThinningAssessmentOutput]:
915
+ 'Freshwater cooling rate through qualified non-AST thinning DF'
916
+ return calculate('damage/cooling-water-thinning-assessment', inputs, output_type=CoolingWaterThinningAssessmentOutput, context=context)
917
+
918
+
919
+ from ..cooling_selection import CoolingSystemType as CoolingWaterSystemTypeInput
920
+ from ..outputs import DamageCoolingWaterSystemTypeOutput as CoolingWaterSystemTypeOutput
921
+
922
+ def cooling_water_system_type(inputs: CoolingWaterSystemTypeInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterSystemTypeOutput]:
923
+ 'Cooling-water system type and operating premise'
924
+ return calculate('damage/cooling-water-system-type', inputs, output_type=CoolingWaterSystemTypeOutput, context=context)
925
+
926
+
927
+ from ..cooling_selection import TreatedCooling as CoolingWaterTreatmentBoundsInput
928
+ from ..outputs import DamageCoolingWaterTreatmentBoundsOutput as CoolingWaterTreatmentBoundsOutput
929
+
930
+ def cooling_water_treatment_bounds(inputs: CoolingWaterTreatmentBoundsInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterTreatmentBoundsOutput]:
931
+ 'Qualified treated cooling-water strict corrosion bounds'
932
+ return calculate('damage/cooling-water-treatment-bounds', inputs, output_type=CoolingWaterTreatmentBoundsOutput, context=context)
933
+
934
+
935
+ from ..cooling_selection import OtherCoolingMaterial as CoolingWaterOtherMaterialEstimateInput
936
+ from ..outputs import DamageCoolingWaterOtherMaterialEstimateOutput as CoolingWaterOtherMaterialEstimateOutput
937
+
938
+ def cooling_water_other_material_estimate(inputs: CoolingWaterOtherMaterialEstimateInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterOtherMaterialEstimateOutput]:
939
+ 'Cooling-water non-carbon/low-alloy nominal figure estimate'
940
+ return calculate('damage/cooling-water-other-material-estimate', inputs, output_type=CoolingWaterOtherMaterialEstimateOutput, context=context)
941
+
942
+
943
+ from ..cooling_selection import MeasuredCoolingSelection as CoolingWaterMeasuredRateInput
944
+ from ..outputs import DamageCoolingWaterMeasuredRateOutput as CoolingWaterMeasuredRateOutput
945
+
946
+ def cooling_water_measured_rate(inputs: CoolingWaterMeasuredRateInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterMeasuredRateOutput]:
947
+ 'Qualified representative measured cooling-water rate'
948
+ return calculate('damage/cooling-water-measured-rate', inputs, output_type=CoolingWaterMeasuredRateOutput, context=context)
949
+
950
+
951
+ from ..cooling_selection import CoolingRateSelection as CoolingWaterRateSelectionInput
952
+ from ..outputs import DamageCoolingWaterRateSelectionOutput as CoolingWaterRateSelectionOutput
953
+
954
+ def cooling_water_rate_selection(inputs: CoolingWaterRateSelectionInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterRateSelectionOutput]:
955
+ 'Select measured treated freshwater seawater or other-material cooling rate'
956
+ return calculate('damage/cooling-water-rate-selection', inputs, output_type=CoolingWaterRateSelectionOutput, context=context)
957
+
958
+
959
+ from ..cooling_selection import SelectedCoolingThinning as CoolingWaterSelectedThinningInput
960
+ from ..outputs import DamageCoolingWaterSelectedThinningOutput as CoolingWaterSelectedThinningOutput
961
+
962
+ def cooling_water_selected_thinning(inputs: CoolingWaterSelectedThinningInput, *, context: Context | None = None) -> CalculationResult[CoolingWaterSelectedThinningOutput]:
963
+ 'Selected cooling-water measured or model rate through non-AST thinning DF'
964
+ return calculate('damage/cooling-water-selected-thinning', inputs, output_type=CoolingWaterSelectedThinningOutput, context=context)
965
+
966
+
967
+ from ..co2_corrosion import CO2Humidity as Co2RelativeHumidityInput
968
+ from ..outputs import DamageCo2RelativeHumidityOutput as Co2RelativeHumidityOutput
969
+
970
+ def co2_relative_humidity(inputs: Co2RelativeHumidityInput, *, context: Context | None = None) -> CalculationResult[Co2RelativeHumidityOutput]:
971
+ 'CO2-service source relative-humidity approximation'
972
+ return calculate('damage/co2-relative-humidity', inputs, output_type=Co2RelativeHumidityOutput, context=context)
973
+
974
+
975
+ from ..co2_corrosion import CO2DewPoint as Co2DewPointInput
976
+ from ..outputs import DamageCo2DewPointOutput as Co2DewPointOutput
977
+
978
+ def co2_dew_point(inputs: Co2DewPointInput, *, context: Context | None = None) -> CalculationResult[Co2DewPointOutput]:
979
+ 'Approximate source dew point for water-containing gas'
980
+ return calculate('damage/co2-dew-point', inputs, output_type=Co2DewPointOutput, context=context)
981
+
982
+
983
+ from ..co2_corrosion import CO2TemperaturePH as Co2TemperaturePhFactorInput
984
+ from ..outputs import DamageCo2TemperaturePhFactorOutput as Co2TemperaturePhFactorOutput
985
+
986
+ def co2_temperature_ph_factor(inputs: Co2TemperaturePhFactorInput, *, context: Context | None = None) -> CalculationResult[Co2TemperaturePhFactorOutput]:
987
+ 'CO2 corrosion temperature-pH table function'
988
+ return calculate('damage/co2-temperature-ph-factor', inputs, output_type=Co2TemperaturePhFactorOutput, context=context)
989
+
990
+
991
+ from ..co2_corrosion import CO2PHEstimate as Co2PhEstimateInput
992
+ from ..outputs import DamageCo2PhEstimateOutput as Co2PhEstimateOutput
993
+
994
+ def co2_ph_estimate(inputs: Co2PhEstimateInput, *, context: Context | None = None) -> CalculationResult[Co2PhEstimateOutput]:
995
+ 'Carbonic-acid RBI pH approximation by water case'
996
+ return calculate('damage/co2-ph-estimate', inputs, output_type=Co2PhEstimateOutput, context=context)
997
+
998
+
999
+ from ..co2_corrosion import CO2Fugacity as Co2FugacityInput
1000
+ from ..outputs import DamageCo2FugacityOutput as Co2FugacityOutput
1001
+
1002
+ def co2_fugacity(inputs: Co2FugacityInput, *, context: Context | None = None) -> CalculationResult[Co2FugacityOutput]:
1003
+ 'CO2 fugacity and coefficient from partial pressure'
1004
+ return calculate('damage/co2-fugacity', inputs, output_type=Co2FugacityOutput, context=context)
1005
+
1006
+
1007
+ from ..co2_corrosion import CO2Reynolds as Co2ReynoldsInput
1008
+ from ..outputs import DamageCo2ReynoldsOutput as Co2ReynoldsOutput
1009
+
1010
+ def co2_reynolds(inputs: Co2ReynoldsInput, *, context: Context | None = None) -> CalculationResult[Co2ReynoldsOutput]:
1011
+ 'Mixture Reynolds number for CO2 flow correlation'
1012
+ return calculate('damage/co2-reynolds', inputs, output_type=Co2ReynoldsOutput, context=context)
1013
+
1014
+
1015
+ from ..co2_corrosion import CO2Friction as Co2FrictionFactorInput
1016
+ from ..outputs import DamageCo2FrictionFactorOutput as Co2FrictionFactorOutput
1017
+
1018
+ def co2_friction_factor(inputs: Co2FrictionFactorInput, *, context: Context | None = None) -> CalculationResult[Co2FrictionFactorOutput]:
1019
+ 'Source turbulent mixture friction factor'
1020
+ return calculate('damage/co2-friction-factor', inputs, output_type=Co2FrictionFactorOutput, context=context)
1021
+
1022
+
1023
+ from ..co2_corrosion import CO2Shear as Co2ShearStressInput
1024
+ from ..outputs import DamageCo2ShearStressOutput as Co2ShearStressOutput
1025
+
1026
+ def co2_shear_stress(inputs: Co2ShearStressInput, *, context: Context | None = None) -> CalculationResult[Co2ShearStressOutput]:
1027
+ 'CO2 mixture wall shear stress'
1028
+ return calculate('damage/co2-shear-stress', inputs, output_type=Co2ShearStressOutput, context=context)
1029
+
1030
+
1031
+ from ..co2_corrosion import CO2BaseRate as Co2BaseRateInput
1032
+ from ..outputs import DamageCo2BaseRateOutput as Co2BaseRateOutput
1033
+
1034
+ def co2_base_rate(inputs: Co2BaseRateInput, *, context: Context | None = None) -> CalculationResult[Co2BaseRateOutput]:
1035
+ 'CO2 carbonic-acid base corrosion equation'
1036
+ return calculate('damage/co2-base-rate', inputs, output_type=Co2BaseRateOutput, context=context)
1037
+
1038
+
1039
+ from ..co2_corrosion import CO2Glycol as Co2GlycolFactorInput
1040
+ from ..outputs import DamageCo2GlycolFactorOutput as Co2GlycolFactorOutput
1041
+
1042
+ def co2_glycol_factor(inputs: Co2GlycolFactorInput, *, context: Context | None = None) -> CalculationResult[Co2GlycolFactorOutput]:
1043
+ 'CO2 glycol reduction with explicit composition basis'
1044
+ return calculate('damage/co2-glycol-factor', inputs, output_type=Co2GlycolFactorOutput, context=context)
1045
+
1046
+
1047
+ from ..co2_corrosion import CO2Adjustment as Co2RateAdjustmentInput
1048
+ from ..outputs import DamageCo2RateAdjustmentOutput as Co2RateAdjustmentOutput
1049
+
1050
+ def co2_rate_adjustment(inputs: Co2RateAdjustmentInput, *, context: Context | None = None) -> CalculationResult[Co2RateAdjustmentOutput]:
1051
+ 'Apply minimum of glycol and independently qualified inhibitor factors'
1052
+ return calculate('damage/co2-rate-adjustment', inputs, output_type=Co2RateAdjustmentOutput, context=context)
1053
+
1054
+
1055
+ from ..co2_corrosion import CO2Assessment as Co2CorrosionAssessmentInput
1056
+ from ..outputs import DamageCo2CorrosionAssessmentOutput as Co2CorrosionAssessmentOutput
1057
+
1058
+ def co2_corrosion_assessment(inputs: Co2CorrosionAssessmentInput, *, context: Context | None = None) -> CalculationResult[Co2CorrosionAssessmentOutput]:
1059
+ 'Qualified free-water CO2 corrosion from pH fugacity flow and reductions'
1060
+ return calculate('damage/co2-corrosion-assessment', inputs, output_type=Co2CorrosionAssessmentOutput, context=context)
1061
+
1062
+
1063
+ from ..co2_corrosion import CO2Thinning as Co2ThinningAssessmentInput
1064
+ from ..outputs import DamageCo2ThinningAssessmentOutput as Co2ThinningAssessmentOutput
1065
+
1066
+ def co2_thinning_assessment(inputs: Co2ThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[Co2ThinningAssessmentOutput]:
1067
+ 'CO2 corrosion through qualified non-AST unclad thinning DF'
1068
+ return calculate('damage/co2-thinning-assessment', inputs, output_type=Co2ThinningAssessmentOutput, context=context)
1069
+
1070
+
1071
+ from ..co2_screening import CO2MassFlowReynolds as Co2ReynoldsMassFlowInput
1072
+ from ..outputs import DamageCo2ReynoldsMassFlowOutput as Co2ReynoldsMassFlowOutput
1073
+
1074
+ def co2_reynolds_mass_flow(inputs: Co2ReynoldsMassFlowInput, *, context: Context | None = None) -> CalculationResult[Co2ReynoldsMassFlowOutput]:
1075
+ 'CO2 mixture Reynolds number from mass flow and area'
1076
+ return calculate('damage/co2-reynolds-mass-flow', inputs, output_type=Co2ReynoldsMassFlowOutput, context=context)
1077
+
1078
+
1079
+ from ..co2_screening import CO2MaterialScreen as Co2MaterialScreenInput
1080
+ from ..outputs import DamageCo2MaterialScreenOutput as Co2MaterialScreenOutput
1081
+
1082
+ def co2_material_screen(inputs: Co2MaterialScreenInput, *, context: Context | None = None) -> CalculationResult[Co2MaterialScreenOutput]:
1083
+ 'CO2 figure chromium or table material screening'
1084
+ return calculate('damage/co2-material-screen', inputs, output_type=Co2MaterialScreenOutput, context=context)
1085
+
1086
+
1087
+ from ..co2_screening import CO2HydrocarbonWetting as Co2HydrocarbonWettingScreenInput
1088
+ from ..outputs import DamageCo2HydrocarbonWettingScreenOutput as Co2HydrocarbonWettingScreenOutput
1089
+
1090
+ def co2_hydrocarbon_wetting_screen(inputs: Co2HydrocarbonWettingScreenInput, *, context: Context | None = None) -> CalculationResult[Co2HydrocarbonWettingScreenOutput]:
1091
+ 'CO2 low-water high-velocity hydrocarbon figure screen'
1092
+ return calculate('damage/co2-hydrocarbon-wetting-screen', inputs, output_type=Co2HydrocarbonWettingScreenOutput, context=context)
1093
+
1094
+
1095
+ from ..co2_screening import CO2MoistureScreen as Co2MoistureScreenInput
1096
+ from ..outputs import DamageCo2MoistureScreenOutput as Co2MoistureScreenOutput
1097
+
1098
+ def co2_moisture_screen(inputs: Co2MoistureScreenInput, *, context: Context | None = None) -> CalculationResult[Co2MoistureScreenOutput]:
1099
+ 'CO2 free-water or dew-point screening with explicit uncertainty'
1100
+ return calculate('damage/co2-moisture-screen', inputs, output_type=Co2MoistureScreenOutput, context=context)
1101
+
1102
+
1103
+ from ..co2_screening import CO2ScreenedAssessment as Co2ScreenedAssessmentInput
1104
+ from ..outputs import DamageCo2ScreenedAssessmentOutput as Co2ScreenedAssessmentOutput
1105
+
1106
+ def co2_screened_assessment(inputs: Co2ScreenedAssessmentInput, *, context: Context | None = None) -> CalculationResult[Co2ScreenedAssessmentOutput]:
1107
+ 'CO2 material hydrocarbon moisture screening through corrosion model'
1108
+ return calculate('damage/co2-screened-assessment', inputs, output_type=Co2ScreenedAssessmentOutput, context=context)
1109
+
1110
+
1111
+ from ..co2_screening import CO2ScreenedThinning as Co2ScreenedThinningInput
1112
+ from ..outputs import DamageCo2ScreenedThinningOutput as Co2ScreenedThinningOutput
1113
+
1114
+ def co2_screened_thinning(inputs: Co2ScreenedThinningInput, *, context: Context | None = None) -> CalculationResult[Co2ScreenedThinningOutput]:
1115
+ 'Screened CO2 rate through non-AST unclad thinning DF'
1116
+ return calculate('damage/co2-screened-thinning', inputs, output_type=Co2ScreenedThinningOutput, context=context)
1117
+
1118
+
1119
+ from ..oxidation import OxidationScreen as OxidationScreenInput
1120
+ from ..outputs import DamageOxidationScreenOutput as OxidationScreenOutput
1121
+
1122
+ def oxidation_screen(inputs: OxidationScreenInput, *, context: Context | None = None) -> CalculationResult[OxidationScreenOutput]:
1123
+ 'High-temperature oxidation temperature and oxygen screening'
1124
+ return calculate('damage/oxidation-screen', inputs, output_type=OxidationScreenOutput, context=context)
1125
+
1126
+
1127
+ from ..oxidation import OxidationTableRow as OxidationTableRowInput
1128
+ from ..outputs import DamageOxidationTableRowOutput as OxidationTableRowOutput
1129
+
1130
+ def oxidation_table_row(inputs: OxidationTableRowInput, *, context: Context | None = None) -> CalculationResult[OxidationTableRowOutput]:
1131
+ 'Full oxidation table row with explicit unavailable cells'
1132
+ return calculate('damage/oxidation-table-row', inputs, output_type=OxidationTableRowOutput, context=context)
1133
+
1134
+
1135
+ from ..oxidation import OxidationRate as OxidationRateInput
1136
+ from ..outputs import DamageOxidationRateOutput as OxidationRateOutput
1137
+
1138
+ def oxidation_rate(inputs: OxidationRateInput, *, context: Context | None = None) -> CalculationResult[OxidationRateOutput]:
1139
+ 'Material and maximum-metal-temperature oxidation rate'
1140
+ return calculate('damage/oxidation-rate', inputs, output_type=OxidationRateOutput, context=context)
1141
+
1142
+
1143
+ from ..oxidation import OxidationAssessment as OxidationAssessmentInput
1144
+ from ..outputs import DamageOxidationAssessmentOutput as OxidationAssessmentOutput
1145
+
1146
+ def oxidation_assessment(inputs: OxidationAssessmentInput, *, context: Context | None = None) -> CalculationResult[OxidationAssessmentOutput]:
1147
+ 'Screened qualified maximum-metal-temperature oxidation estimate'
1148
+ return calculate('damage/oxidation-assessment', inputs, output_type=OxidationAssessmentOutput, context=context)
1149
+
1150
+
1151
+ from ..oxidation import OxidationThinning as OxidationThinningAssessmentInput
1152
+ from ..outputs import DamageOxidationThinningAssessmentOutput as OxidationThinningAssessmentOutput
1153
+
1154
+ def oxidation_thinning_assessment(inputs: OxidationThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[OxidationThinningAssessmentOutput]:
1155
+ 'Oxidation rate through qualified non-AST unclad thinning DF'
1156
+ return calculate('damage/oxidation-thinning-assessment', inputs, output_type=OxidationThinningAssessmentOutput, context=context)
1157
+
1158
+
1159
+ from ..acid_sour_water import AcidSourRoute as AcidSourWaterRouteInput
1160
+ from ..outputs import DamageAcidSourWaterRouteOutput as AcidSourWaterRouteOutput
1161
+
1162
+ def acid_sour_water_route(inputs: AcidSourWaterRouteInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterRouteOutput]:
1163
+ 'Acid sour water free-water pH and chloride route'
1164
+ return calculate('damage/acid-sour-water-route', inputs, output_type=AcidSourWaterRouteOutput, context=context)
1165
+
1166
+
1167
+ from ..acid_sour_water import AcidSourBase as AcidSourWaterBaseRateInput
1168
+ from ..outputs import DamageAcidSourWaterBaseRateOutput as AcidSourWaterBaseRateOutput
1169
+
1170
+ def acid_sour_water_base_rate(inputs: AcidSourWaterBaseRateInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterBaseRateOutput]:
1171
+ 'Acid sour water pH and temperature base corrosion rate'
1172
+ return calculate('damage/acid-sour-water-base-rate', inputs, output_type=AcidSourWaterBaseRateOutput, context=context)
1173
+
1174
+
1175
+ from ..acid_sour_water import AcidSourOxygen as AcidSourWaterOxygenFactorInput
1176
+ from ..outputs import DamageAcidSourWaterOxygenFactorOutput as AcidSourWaterOxygenFactorOutput
1177
+
1178
+ def acid_sour_water_oxygen_factor(inputs: AcidSourWaterOxygenFactorInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterOxygenFactorOutput]:
1179
+ 'Acid sour water oxygen adjustment factor'
1180
+ return calculate('damage/acid-sour-water-oxygen-factor', inputs, output_type=AcidSourWaterOxygenFactorOutput, context=context)
1181
+
1182
+
1183
+ from ..acid_sour_water import AcidSourVelocity as AcidSourWaterVelocityFactorInput
1184
+ from ..outputs import DamageAcidSourWaterVelocityFactorOutput as AcidSourWaterVelocityFactorOutput
1185
+
1186
+ def acid_sour_water_velocity_factor(inputs: AcidSourWaterVelocityFactorInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterVelocityFactorOutput]:
1187
+ 'Acid sour water piecewise velocity factor'
1188
+ return calculate('damage/acid-sour-water-velocity-factor', inputs, output_type=AcidSourWaterVelocityFactorOutput, context=context)
1189
+
1190
+
1191
+ from ..acid_sour_water import AcidSourEquation as AcidSourWaterRateEquationInput
1192
+ from ..outputs import DamageAcidSourWaterRateEquationOutput as AcidSourWaterRateEquationOutput
1193
+
1194
+ def acid_sour_water_rate_equation(inputs: AcidSourWaterRateEquationInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterRateEquationOutput]:
1195
+ 'Acid sour water base rate times oxygen and velocity'
1196
+ return calculate('damage/acid-sour-water-rate-equation', inputs, output_type=AcidSourWaterRateEquationOutput, context=context)
1197
+
1198
+
1199
+ from ..acid_sour_water import AcidSourOtherMaterial as AcidSourWaterOtherMaterialRateInput
1200
+ from ..outputs import DamageAcidSourWaterOtherMaterialRateOutput as AcidSourWaterOtherMaterialRateOutput
1201
+
1202
+ def acid_sour_water_other_material_rate(inputs: AcidSourWaterOtherMaterialRateInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterOtherMaterialRateOutput]:
1203
+ 'Acid sour water suitable-other-material source estimate'
1204
+ return calculate('damage/acid-sour-water-other-material-rate', inputs, output_type=AcidSourWaterOtherMaterialRateOutput, context=context)
1205
+
1206
+
1207
+ from ..acid_sour_water import AcidSourAssessment as AcidSourWaterAssessmentInput
1208
+ from ..outputs import DamageAcidSourWaterAssessmentOutput as AcidSourWaterAssessmentOutput
1209
+
1210
+ def acid_sour_water_assessment(inputs: AcidSourWaterAssessmentInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterAssessmentOutput]:
1211
+ 'Acid sour water routed material and corrected corrosion estimate'
1212
+ return calculate('damage/acid-sour-water-assessment', inputs, output_type=AcidSourWaterAssessmentOutput, context=context)
1213
+
1214
+
1215
+ from ..acid_sour_water import AcidSourThinning as AcidSourWaterThinningAssessmentInput
1216
+ from ..outputs import DamageAcidSourWaterThinningAssessmentOutput as AcidSourWaterThinningAssessmentOutput
1217
+
1218
+ def acid_sour_water_thinning_assessment(inputs: AcidSourWaterThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[AcidSourWaterThinningAssessmentOutput]:
1219
+ 'Acid sour water rate through qualified non-AST thinning DF'
1220
+ return calculate('damage/acid-sour-water-thinning-assessment', inputs, output_type=AcidSourWaterThinningAssessmentOutput, context=context)
1221
+
1222
+
1223
+ from ..alkaline_sour_water import NH4HSEstimate as AlkalineSourWaterNh4hsEstimateInput
1224
+ from ..outputs import DamageAlkalineSourWaterNh4hsEstimateOutput as AlkalineSourWaterNh4hsEstimateOutput
1225
+
1226
+ def alkaline_sour_water_nh4hs_estimate(inputs: AlkalineSourWaterNh4hsEstimateInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterNh4hsEstimateOutput]:
1227
+ 'Source NH4HS analytical approximation with disputed branch gate'
1228
+ return calculate('damage/alkaline-sour-water-nh4hs-estimate', inputs, output_type=AlkalineSourWaterNh4hsEstimateOutput, context=context)
1229
+
1230
+
1231
+ from ..alkaline_sour_water import AlkalineVelocity as AlkalineSourWaterVelocitySelectionInput
1232
+ from ..outputs import DamageAlkalineSourWaterVelocitySelectionOutput as AlkalineSourWaterVelocitySelectionOutput
1233
+
1234
+ def alkaline_sour_water_velocity_selection(inputs: AlkalineSourWaterVelocitySelectionInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterVelocitySelectionOutput]:
1235
+ 'Select vapor or liquid velocity for NH4HS table'
1236
+ return calculate('damage/alkaline-sour-water-velocity-selection', inputs, output_type=AlkalineSourWaterVelocitySelectionOutput, context=context)
1237
+
1238
+
1239
+ from ..alkaline_sour_water import AlkalineBase as AlkalineSourWaterBaseRateInput
1240
+ from ..outputs import DamageAlkalineSourWaterBaseRateOutput as AlkalineSourWaterBaseRateOutput
1241
+
1242
+ def alkaline_sour_water_base_rate(inputs: AlkalineSourWaterBaseRateInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterBaseRateOutput]:
1243
+ 'NH4HS and phase-velocity baseline carbon-steel corrosion rate'
1244
+ return calculate('damage/alkaline-sour-water-base-rate', inputs, output_type=AlkalineSourWaterBaseRateOutput, context=context)
1245
+
1246
+
1247
+ from ..alkaline_sour_water import AlkalinePressure as AlkalineSourWaterPressureAdjustmentInput
1248
+ from ..outputs import DamageAlkalineSourWaterPressureAdjustmentOutput as AlkalineSourWaterPressureAdjustmentOutput
1249
+
1250
+ def alkaline_sour_water_pressure_adjustment(inputs: AlkalineSourWaterPressureAdjustmentInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterPressureAdjustmentOutput]:
1251
+ 'NH4HS sour-water H2S partial-pressure correction'
1252
+ return calculate('damage/alkaline-sour-water-pressure-adjustment', inputs, output_type=AlkalineSourWaterPressureAdjustmentOutput, context=context)
1253
+
1254
+
1255
+ from ..alkaline_sour_water import AlkalineAssessment as AlkalineSourWaterAssessmentInput
1256
+ from ..outputs import DamageAlkalineSourWaterAssessmentOutput as AlkalineSourWaterAssessmentOutput
1257
+
1258
+ def alkaline_sour_water_assessment(inputs: AlkalineSourWaterAssessmentInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterAssessmentOutput]:
1259
+ 'Qualified alkaline NH4HS carbon-steel corrosion assessment'
1260
+ return calculate('damage/alkaline-sour-water-assessment', inputs, output_type=AlkalineSourWaterAssessmentOutput, context=context)
1261
+
1262
+
1263
+ from ..alkaline_sour_water import AlkalineThinning as AlkalineSourWaterThinningAssessmentInput
1264
+ from ..outputs import DamageAlkalineSourWaterThinningAssessmentOutput as AlkalineSourWaterThinningAssessmentOutput
1265
+
1266
+ def alkaline_sour_water_thinning_assessment(inputs: AlkalineSourWaterThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[AlkalineSourWaterThinningAssessmentOutput]:
1267
+ 'NH4HS corrosion through qualified non-AST unclad thinning DF'
1268
+ return calculate('damage/alkaline-sour-water-thinning-assessment', inputs, output_type=AlkalineSourWaterThinningAssessmentOutput, context=context)
1269
+
1270
+
1271
+ from ..hydrochloric_acid import HClPHFromChloride as HclPhFromChlorideInput
1272
+ from ..outputs import DamageHclPhFromChlorideOutput as HclPhFromChlorideOutput
1273
+
1274
+ def hcl_ph_from_chloride(inputs: HclPhFromChlorideInput, *, context: Context | None = None) -> CalculationResult[HclPhFromChlorideOutput]:
1275
+ 'Dilute HCl pH estimate from printed chloride concentration bands'
1276
+ return calculate('damage/hcl-ph-from-chloride', inputs, output_type=HclPhFromChlorideOutput, context=context)
1277
+
1278
+
1279
+ from ..hydrochloric_acid import HClChlorideInterval as HclChlorideIntervalFromPhInput
1280
+ from ..outputs import DamageHclChlorideIntervalFromPhOutput as HclChlorideIntervalFromPhOutput
1281
+
1282
+ def hcl_chloride_interval_from_ph(inputs: HclChlorideIntervalFromPhInput, *, context: Context | None = None) -> CalculationResult[HclChlorideIntervalFromPhOutput]:
1283
+ 'Printed chloride interval corresponding to a tabulated HCl pH'
1284
+ return calculate('damage/hcl-chloride-interval-from-ph', inputs, output_type=HclChlorideIntervalFromPhOutput, context=context)
1285
+
1286
+
1287
+ from ..hydrochloric_acid import HClPHRate as HclPhRateInput
1288
+ from ..outputs import DamageHclPhRateOutput as HclPhRateOutput
1289
+
1290
+ def hcl_ph_rate(inputs: HclPhRateInput, *, context: Context | None = None) -> CalculationResult[HclPhRateOutput]:
1291
+ 'HCl carbon-steel and 304/316/321/347 pH-temperature rate tables'
1292
+ return calculate('damage/hcl-ph-rate', inputs, output_type=HclPhRateOutput, context=context)
1293
+
1294
+
1295
+ from ..hydrochloric_acid import HClAlloyRate as HclAlloyRateInput
1296
+ from ..outputs import DamageHclAlloyRateOutput as HclAlloyRateOutput
1297
+
1298
+ def hcl_alloy_rate(inputs: HclAlloyRateInput, *, context: Context | None = None) -> CalculationResult[HclAlloyRateOutput]:
1299
+ 'HCl high-alloy chloride-temperature and oxidant rate tables'
1300
+ return calculate('damage/hcl-alloy-rate', inputs, output_type=HclAlloyRateOutput, context=context)
1301
+
1302
+
1303
+ from ..hydrochloric_acid import HClAssessment as HclAssessmentInput
1304
+ from ..outputs import DamageHclAssessmentOutput as HclAssessmentOutput
1305
+
1306
+ def hcl_assessment(inputs: HclAssessmentInput, *, context: Context | None = None) -> CalculationResult[HclAssessmentOutput]:
1307
+ 'Qualified dilute HCl chemistry material and corrosion-rate assessment'
1308
+ return calculate('damage/hcl-assessment', inputs, output_type=HclAssessmentOutput, context=context)
1309
+
1310
+
1311
+ from ..hydrochloric_acid import HClThinning as HclThinningAssessmentInput
1312
+ from ..outputs import DamageHclThinningAssessmentOutput as HclThinningAssessmentOutput
1313
+
1314
+ def hcl_thinning_assessment(inputs: HclThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[HclThinningAssessmentOutput]:
1315
+ 'Dilute HCl rate through qualified non-AST unclad thinning DF'
1316
+ return calculate('damage/hcl-thinning-assessment', inputs, output_type=HclThinningAssessmentOutput, context=context)
1317
+
1318
+
1319
+ from ..alkaline_sour_water import SourWaterAssessment as SourWaterAssessmentInput
1320
+ from ..outputs import DamageSourWaterAssessmentOutput as SourWaterAssessmentOutput
1321
+
1322
+ def sour_water_assessment(inputs: SourWaterAssessmentInput, *, context: Context | None = None) -> CalculationResult[SourWaterAssessmentOutput]:
1323
+ 'Route qualified sour water to acid or alkaline quantitative model'
1324
+ return calculate('damage/sour-water-assessment', inputs, output_type=SourWaterAssessmentOutput, context=context)
1325
+
1326
+
1327
+ from ..hydrofluoric_acid import HFConcentration as HfConcentrationSelectionInput
1328
+ from ..outputs import DamageHfConcentrationSelectionOutput as HfConcentrationSelectionOutput
1329
+
1330
+ def hf_concentration_selection(inputs: HfConcentrationSelectionInput, *, context: Context | None = None) -> CalculationResult[HfConcentrationSelectionOutput]:
1331
+ 'HF table concentration with explicit above81wt% extension policy'
1332
+ return calculate('damage/hf-concentration-selection', inputs, output_type=HfConcentrationSelectionOutput, context=context)
1333
+
1334
+
1335
+ from ..hydrofluoric_acid import HFVelocity as HfCarbonVelocityBandInput
1336
+ from ..outputs import DamageHfCarbonVelocityBandOutput as HfCarbonVelocityBandOutput
1337
+
1338
+ def hf_carbon_velocity_band(inputs: HfCarbonVelocityBandInput, *, context: Context | None = None) -> CalculationResult[HfCarbonVelocityBandOutput]:
1339
+ 'HF carbon-steel low/high velocity band'
1340
+ return calculate('damage/hf-carbon-velocity-band', inputs, output_type=HfCarbonVelocityBandOutput, context=context)
1341
+
1342
+
1343
+ from ..hydrofluoric_acid import HFCarbonRate as HfCarbonRateInput
1344
+ from ..outputs import DamageHfCarbonRateOutput as HfCarbonRateOutput
1345
+
1346
+ def hf_carbon_rate(inputs: HfCarbonRateInput, *, context: Context | None = None) -> CalculationResult[HfCarbonRateOutput]:
1347
+ 'HF carbon-steel concentration temperature velocity residual rate table'
1348
+ return calculate('damage/hf-carbon-rate', inputs, output_type=HfCarbonRateOutput, context=context)
1349
+
1350
+
1351
+ from ..hydrofluoric_acid import HFAlloy400Rate as HfAlloy400RateInput
1352
+ from ..outputs import DamageHfAlloy400RateOutput as HfAlloy400RateOutput
1353
+
1354
+ def hf_alloy400_rate(inputs: HfAlloy400RateInput, *, context: Context | None = None) -> CalculationResult[HfAlloy400RateOutput]:
1355
+ 'HF Alloy400 concentration temperature aeration rate table'
1356
+ return calculate('damage/hf-alloy400-rate', inputs, output_type=HfAlloy400RateOutput, context=context)
1357
+
1358
+
1359
+ from ..hydrofluoric_acid import HFAssessment as HfAssessmentInput
1360
+ from ..outputs import DamageHfAssessmentOutput as HfAssessmentOutput
1361
+
1362
+ def hf_assessment(inputs: HfAssessmentInput, *, context: Context | None = None) -> CalculationResult[HfAssessmentOutput]:
1363
+ 'Qualified HF exposure material and source-classification corrosion assessment'
1364
+ return calculate('damage/hf-assessment', inputs, output_type=HfAssessmentOutput, context=context)
1365
+
1366
+
1367
+ from ..hydrofluoric_acid import HFThinning as HfThinningAssessmentInput
1368
+ from ..outputs import DamageHfThinningAssessmentOutput as HfThinningAssessmentOutput
1369
+
1370
+ def hf_thinning_assessment(inputs: HfThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[HfThinningAssessmentOutput]:
1371
+ 'Qualified HF rate through non-AST unclad thinning DF'
1372
+ return calculate('damage/hf-thinning-assessment', inputs, output_type=HfThinningAssessmentOutput, context=context)
1373
+
1374
+
1375
+ from ..amine_corrosion import AmineAcidGasLoading as AmineAcidGasLoadingInput
1376
+ from ..outputs import DamageAmineAcidGasLoadingOutput as AmineAcidGasLoadingOutput
1377
+
1378
+ def amine_acid_gas_loading(inputs: AmineAcidGasLoadingInput, *, context: Context | None = None) -> CalculationResult[AmineAcidGasLoadingOutput]:
1379
+ 'Combined H2S and CO2 loading per mole of active amine'
1380
+ return calculate('damage/amine-acid-gas-loading', inputs, output_type=AmineAcidGasLoadingOutput, context=context)
1381
+
1382
+
1383
+ from ..amine_corrosion import AmineLoadingSelection as AmineLoadingSelectionInput
1384
+ from ..outputs import DamageAmineLoadingSelectionOutput as AmineLoadingSelectionOutput
1385
+
1386
+ def amine_loading_selection(inputs: AmineLoadingSelectionInput, *, context: Context | None = None) -> CalculationResult[AmineLoadingSelectionOutput]:
1387
+ 'Amine lean/rich source loading rows and explicit gap selection'
1388
+ return calculate('damage/amine-loading-selection', inputs, output_type=AmineLoadingSelectionOutput, context=context)
1389
+
1390
+
1391
+ from ..amine_corrosion import AmineContaminantSelection as AmineContaminantRowInput
1392
+ from ..outputs import DamageAmineContaminantRowOutput as AmineContaminantRowOutput
1393
+
1394
+ def amine_contaminant_row(inputs: AmineContaminantRowInput, *, context: Context | None = None) -> CalculationResult[AmineContaminantRowOutput]:
1395
+ 'Select amine HSAS or MDEA organic-acid contamination row'
1396
+ return calculate('damage/amine-contaminant-row', inputs, output_type=AmineContaminantRowOutput, context=context)
1397
+
1398
+
1399
+ from ..amine_corrosion import AmineStrength as AmineStrengthFactorInput
1400
+ from ..outputs import DamageAmineStrengthFactorOutput as AmineStrengthFactorOutput
1401
+
1402
+ def amine_strength_factor(inputs: AmineStrengthFactorInput, *, context: Context | None = None) -> CalculationResult[AmineStrengthFactorOutput]:
1403
+ 'Carbon-steel amine concentration multiplier'
1404
+ return calculate('damage/amine-strength-factor', inputs, output_type=AmineStrengthFactorOutput, context=context)
1405
+
1406
+
1407
+ from ..amine_corrosion import AmineCarbonBaseRate as AmineCarbonBaseRateInput
1408
+ from ..outputs import DamageAmineCarbonBaseRateOutput as AmineCarbonBaseRateOutput
1409
+
1410
+ def amine_carbon_base_rate(inputs: AmineCarbonBaseRateInput, *, context: Context | None = None) -> CalculationResult[AmineCarbonBaseRateOutput]:
1411
+ 'Carbon-steel amine loading temperature contamination velocity tables'
1412
+ return calculate('damage/amine-carbon-base-rate', inputs, output_type=AmineCarbonBaseRateOutput, context=context)
1413
+
1414
+
1415
+ from ..amine_corrosion import AmineStainlessRate as AmineStainlessRateInput
1416
+ from ..outputs import DamageAmineStainlessRateOutput as AmineStainlessRateOutput
1417
+
1418
+ def amine_stainless_rate(inputs: AmineStainlessRateInput, *, context: Context | None = None) -> CalculationResult[AmineStainlessRateOutput]:
1419
+ 'Type300 stainless amine loading corrosion table'
1420
+ return calculate('damage/amine-stainless-rate', inputs, output_type=AmineStainlessRateOutput, context=context)
1421
+
1422
+
1423
+ from ..amine_corrosion import AmineAssessment as AmineCorrosionAssessmentInput
1424
+ from ..outputs import DamageAmineCorrosionAssessmentOutput as AmineCorrosionAssessmentOutput
1425
+
1426
+ def amine_corrosion_assessment(inputs: AmineCorrosionAssessmentInput, *, context: Context | None = None) -> CalculationResult[AmineCorrosionAssessmentOutput]:
1427
+ 'Qualified amine chemistry and material corrosion assessment'
1428
+ return calculate('damage/amine-corrosion-assessment', inputs, output_type=AmineCorrosionAssessmentOutput, context=context)
1429
+
1430
+
1431
+ from ..amine_corrosion import AmineThinning as AmineThinningAssessmentInput
1432
+ from ..outputs import DamageAmineThinningAssessmentOutput as AmineThinningAssessmentOutput
1433
+
1434
+ def amine_thinning_assessment(inputs: AmineThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[AmineThinningAssessmentOutput]:
1435
+ 'Amine rate through qualified non-AST unclad thinning DF'
1436
+ return calculate('damage/amine-thinning-assessment', inputs, output_type=AmineThinningAssessmentOutput, context=context)
1437
+
1438
+
1439
+ from ..sulfuric_acid import SulfuricAxes as SulfuricTableAxesInput
1440
+ from ..outputs import DamageSulfuricTableAxesOutput as SulfuricTableAxesOutput
1441
+
1442
+ def sulfuric_table_axes(inputs: SulfuricTableAxesInput, *, context: Context | None = None) -> CalculationResult[SulfuricTableAxesOutput]:
1443
+ 'Sulfuric material table concentration temperature and velocity axes'
1444
+ return calculate('damage/sulfuric-table-axes', inputs, output_type=SulfuricTableAxesOutput, context=context)
1445
+
1446
+
1447
+ from ..sulfuric_acid import SulfuricRate as SulfuricTableRateInput
1448
+ from ..outputs import DamageSulfuricTableRateOutput as SulfuricTableRateOutput
1449
+
1450
+ def sulfuric_table_rate(inputs: SulfuricTableRateInput, *, context: Context | None = None) -> CalculationResult[SulfuricTableRateOutput]:
1451
+ 'Sulfuric concentration temperature velocity material corrosion table'
1452
+ return calculate('damage/sulfuric-table-rate', inputs, output_type=SulfuricTableRateOutput, context=context)
1453
+
1454
+
1455
+ from ..sulfuric_acid import SulfuricThinningClassification as SulfuricThinningClassificationInput
1456
+ from ..outputs import DamageSulfuricThinningClassificationOutput as SulfuricThinningClassificationOutput
1457
+
1458
+ def sulfuric_thinning_classification(inputs: SulfuricThinningClassificationInput, *, context: Context | None = None) -> CalculationResult[SulfuricThinningClassificationOutput]:
1459
+ 'Sulfuric source general/local thinning velocity classification'
1460
+ return calculate('damage/sulfuric-thinning-classification', inputs, output_type=SulfuricThinningClassificationOutput, context=context)
1461
+
1462
+
1463
+ from ..sulfuric_acid import SulfuricAssessment as SulfuricCorrosionAssessmentInput
1464
+ from ..outputs import DamageSulfuricCorrosionAssessmentOutput as SulfuricCorrosionAssessmentOutput
1465
+
1466
+ def sulfuric_corrosion_assessment(inputs: SulfuricCorrosionAssessmentInput, *, context: Context | None = None) -> CalculationResult[SulfuricCorrosionAssessmentOutput]:
1467
+ 'Qualified sulfuric material rate and thinning classification assessment'
1468
+ return calculate('damage/sulfuric-corrosion-assessment', inputs, output_type=SulfuricCorrosionAssessmentOutput, context=context)
1469
+
1470
+
1471
+ from ..sulfuric_acid import SulfuricThinning as SulfuricThinningAssessmentInput
1472
+ from ..outputs import DamageSulfuricThinningAssessmentOutput as SulfuricThinningAssessmentOutput
1473
+
1474
+ def sulfuric_thinning_assessment(inputs: SulfuricThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[SulfuricThinningAssessmentOutput]:
1475
+ 'Qualified sulfuric corrosion through non-AST unclad thinning DF'
1476
+ return calculate('damage/sulfuric-thinning-assessment', inputs, output_type=SulfuricThinningAssessmentOutput, context=context)
1477
+
1478
+
1479
+ from ..h2sh2_corrosion import H2SH2Axes as H2sh2TableAxesInput
1480
+ from ..outputs import DamageH2sh2TableAxesOutput as H2sh2TableAxesOutput
1481
+
1482
+ def h2sh2_table_axes(inputs: H2sh2TableAxesInput, *, context: Context | None = None) -> CalculationResult[H2sh2TableAxesOutput]:
1483
+ 'High-temperature H2S/H2 material and table axes'
1484
+ return calculate('damage/h2sh2-table-axes', inputs, output_type=H2sh2TableAxesOutput, context=context)
1485
+
1486
+
1487
+ from ..h2sh2_corrosion import H2SH2Rate as H2sh2TableRateInput
1488
+ from ..outputs import DamageH2sh2TableRateOutput as H2sh2TableRateOutput
1489
+
1490
+ def h2sh2_table_rate(inputs: H2sh2TableRateInput, *, context: Context | None = None) -> CalculationResult[H2sh2TableRateOutput]:
1491
+ 'High-temperature H2S/H2 concentration-temperature corrosion rate'
1492
+ return calculate('damage/h2sh2-table-rate', inputs, output_type=H2sh2TableRateOutput, context=context)
1493
+
1494
+
1495
+ from ..h2sh2_corrosion import H2SH2Assessment as H2sh2CorrosionAssessmentInput
1496
+ from ..outputs import DamageH2sh2CorrosionAssessmentOutput as H2sh2CorrosionAssessmentOutput
1497
+
1498
+ def h2sh2_corrosion_assessment(inputs: H2sh2CorrosionAssessmentInput, *, context: Context | None = None) -> CalculationResult[H2sh2CorrosionAssessmentOutput]:
1499
+ 'Qualified high-temperature H2S/H2 corrosion assessment'
1500
+ return calculate('damage/h2sh2-corrosion-assessment', inputs, output_type=H2sh2CorrosionAssessmentOutput, context=context)
1501
+
1502
+
1503
+ from ..h2sh2_corrosion import H2SH2Thinning as H2sh2ThinningAssessmentInput
1504
+ from ..outputs import DamageH2sh2ThinningAssessmentOutput as H2sh2ThinningAssessmentOutput
1505
+
1506
+ def h2sh2_thinning_assessment(inputs: H2sh2ThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[H2sh2ThinningAssessmentOutput]:
1507
+ 'High-temperature H2S/H2 rate through qualified unclad thinning DF'
1508
+ return calculate('damage/h2sh2-thinning-assessment', inputs, output_type=H2sh2ThinningAssessmentOutput, context=context)
1509
+
1510
+
1511
+ from ..sulfidic_corrosion import SulfidicMaterial as SulfidicMaterialSelectionInput
1512
+ from ..outputs import DamageSulfidicMaterialSelectionOutput as SulfidicMaterialSelectionOutput
1513
+
1514
+ def sulfidic_material_selection(inputs: SulfidicMaterialSelectionInput, *, context: Context | None = None) -> CalculationResult[SulfidicMaterialSelectionOutput]:
1515
+ 'Sulfidic/naphthenic material and316 molybdenum source group'
1516
+ return calculate('damage/sulfidic-material-selection', inputs, output_type=SulfidicMaterialSelectionOutput, context=context)
1517
+
1518
+
1519
+ from ..sulfidic_corrosion import SulfidicAxes as SulfidicTableAxesInput
1520
+ from ..outputs import DamageSulfidicTableAxesOutput as SulfidicTableAxesOutput
1521
+
1522
+ def sulfidic_table_axes(inputs: SulfidicTableAxesInput, *, context: Context | None = None) -> CalculationResult[SulfidicTableAxesOutput]:
1523
+ 'Sulfidic/naphthenic sulfur TAN and temperature-bin axes'
1524
+ return calculate('damage/sulfidic-table-axes', inputs, output_type=SulfidicTableAxesOutput, context=context)
1525
+
1526
+
1527
+ from ..sulfidic_corrosion import SulfidicTableRate as SulfidicTableRateInput
1528
+ from ..outputs import DamageSulfidicTableRateOutput as SulfidicTableRateOutput
1529
+
1530
+ def sulfidic_table_rate(inputs: SulfidicTableRateInput, *, context: Context | None = None) -> CalculationResult[SulfidicTableRateOutput]:
1531
+ 'Sulfidic/naphthenic sulfur TAN temperature base rate'
1532
+ return calculate('damage/sulfidic-table-rate', inputs, output_type=SulfidicTableRateOutput, context=context)
1533
+
1534
+
1535
+ from ..sulfidic_corrosion import SulfidicVelocity as SulfidicVelocityFactorInput
1536
+ from ..outputs import DamageSulfidicVelocityFactorOutput as SulfidicVelocityFactorOutput
1537
+
1538
+ def sulfidic_velocity_factor(inputs: SulfidicVelocityFactorInput, *, context: Context | None = None) -> CalculationResult[SulfidicVelocityFactorOutput]:
1539
+ 'Sulfidic/naphthenic high-velocity factor with100ft/s boundary policy'
1540
+ return calculate('damage/sulfidic-velocity-factor', inputs, output_type=SulfidicVelocityFactorOutput, context=context)
1541
+
1542
+
1543
+ from ..sulfidic_corrosion import SulfidicThinningClassification as SulfidicThinningClassificationInput
1544
+ from ..outputs import DamageSulfidicThinningClassificationOutput as SulfidicThinningClassificationOutput
1545
+
1546
+ def sulfidic_thinning_classification(inputs: SulfidicThinningClassificationInput, *, context: Context | None = None) -> CalculationResult[SulfidicThinningClassificationOutput]:
1547
+ 'Sulfidic/naphthenic TAN general/local source classification'
1548
+ return calculate('damage/sulfidic-thinning-classification', inputs, output_type=SulfidicThinningClassificationOutput, context=context)
1549
+
1550
+
1551
+ from ..sulfidic_corrosion import SulfidicAssessment as SulfidicCorrosionAssessmentInput
1552
+ from ..outputs import DamageSulfidicCorrosionAssessmentOutput as SulfidicCorrosionAssessmentOutput
1553
+
1554
+ def sulfidic_corrosion_assessment(inputs: SulfidicCorrosionAssessmentInput, *, context: Context | None = None) -> CalculationResult[SulfidicCorrosionAssessmentOutput]:
1555
+ 'Qualified high-temperature sulfidic/naphthenic corrosion assessment'
1556
+ return calculate('damage/sulfidic-corrosion-assessment', inputs, output_type=SulfidicCorrosionAssessmentOutput, context=context)
1557
+
1558
+
1559
+ from ..sulfidic_corrosion import SulfidicThinning as SulfidicThinningAssessmentInput
1560
+ from ..outputs import DamageSulfidicThinningAssessmentOutput as SulfidicThinningAssessmentOutput
1561
+
1562
+ def sulfidic_thinning_assessment(inputs: SulfidicThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[SulfidicThinningAssessmentOutput]:
1563
+ 'Sulfidic/naphthenic rate through qualified unclad thinning DF'
1564
+ return calculate('damage/sulfidic-thinning-assessment', inputs, output_type=SulfidicThinningAssessmentOutput, context=context)
1565
+
1566
+
1567
+ from ..groundwater import GroundwaterChemistry as GroundwaterTksInput
1568
+ from ..outputs import DamageGroundwaterTksOutput as GroundwaterTksOutput
1569
+
1570
+ def groundwater_tks(inputs: GroundwaterTksInput, *, context: Context | None = None) -> CalculationResult[GroundwaterTksOutput]:
1571
+ 'Groundwater Total Key Species on a qualified common concentration basis'
1572
+ return calculate('damage/groundwater-tks', inputs, output_type=GroundwaterTksOutput, context=context)
1573
+
1574
+
1575
+ from ..groundwater import GroundwaterRate as GroundwaterRateClassificationInput
1576
+ from ..outputs import DamageGroundwaterRateClassificationOutput as GroundwaterRateClassificationOutput
1577
+
1578
+ def groundwater_rate_classification(inputs: GroundwaterRateClassificationInput, *, context: Context | None = None) -> CalculationResult[GroundwaterRateClassificationOutput]:
1579
+ 'Groundwater steel corrosivity category from supplied corrosion rate'
1580
+ return calculate('damage/groundwater-rate-classification', inputs, output_type=GroundwaterRateClassificationOutput, context=context)
1581
+
1582
+
1583
+ from ..groundwater import GroundwaterAssessment as GroundwaterAssessmentInput
1584
+ from ..outputs import DamageGroundwaterAssessmentOutput as GroundwaterAssessmentOutput
1585
+
1586
+ def groundwater_assessment(inputs: GroundwaterAssessmentInput, *, context: Context | None = None) -> CalculationResult[GroundwaterAssessmentOutput]:
1587
+ 'Qualified groundwater chemistry and externally established steel corrosion rate'
1588
+ return calculate('damage/groundwater-assessment', inputs, output_type=GroundwaterAssessmentOutput, context=context)
1589
+
1590
+
1591
+ from ..groundwater import GroundwaterThinning as GroundwaterThinningAssessmentInput
1592
+ from ..outputs import DamageGroundwaterThinningAssessmentOutput as GroundwaterThinningAssessmentOutput
1593
+
1594
+ def groundwater_thinning_assessment(inputs: GroundwaterThinningAssessmentInput, *, context: Context | None = None) -> CalculationResult[GroundwaterThinningAssessmentOutput]:
1595
+ 'Qualified groundwater rate through non-AST unclad thinning'
1596
+ return calculate('damage/groundwater-thinning-assessment', inputs, output_type=GroundwaterThinningAssessmentOutput, context=context)
1597
+
1598
+
1599
+ from ..thinning_selection import ThinningRateSelection as ThinningRateSelectionInput
1600
+ from ..outputs import DamageThinningRateSelectionOutput as ThinningRateSelectionOutput
1601
+
1602
+ def thinning_rate_selection(inputs: ThinningRateSelectionInput, *, context: Context | None = None) -> CalculationResult[ThinningRateSelectionOutput]:
1603
+ 'Measured-first and maximum-mechanism rate with governing thinning type'
1604
+ return calculate('damage/thinning-rate-selection', inputs, output_type=ThinningRateSelectionOutput, context=context)
1605
+
1606
+
1607
+ from ..thinning_selection import SelectedMechanismThinning as ThinningSelectedMechanismsInput
1608
+ from ..outputs import DamageThinningSelectedMechanismsOutput as ThinningSelectedMechanismsOutput
1609
+
1610
+ def thinning_selected_mechanisms(inputs: ThinningSelectedMechanismsInput, *, context: Context | None = None) -> CalculationResult[ThinningSelectedMechanismsOutput]:
1611
+ 'Selected multi-mechanism rate through qualified non-AST thinning'
1612
+ return calculate('damage/thinning-selected-mechanisms', inputs, output_type=ThinningSelectedMechanismsOutput, context=context)
1613
+
1614
+
1615
+ from ..thinning_history import ThinningPeriod as ThinningAssessmentPeriodInput
1616
+ from ..outputs import DamageThinningAssessmentPeriodOutput as ThinningAssessmentPeriodOutput
1617
+
1618
+ def thinning_assessment_period(inputs: ThinningAssessmentPeriodInput, *, context: Context | None = None) -> CalculationResult[ThinningAssessmentPeriodOutput]:
1619
+ 'Consistent furnished/measured thickness baseline and elapsed period'
1620
+ return calculate('damage/thinning-assessment-period', inputs, output_type=ThinningAssessmentPeriodOutput, context=context)
1621
+
1622
+
1623
+ from ..thinning_history import ThinningInspectionHistory as ThinningInspectionHistoryInput
1624
+ from ..outputs import DamageThinningInspectionHistoryOutput as ThinningInspectionHistoryOutput
1625
+
1626
+ def thinning_inspection_history(inputs: ThinningInspectionHistoryInput, *, context: Context | None = None) -> CalculationResult[ThinningInspectionHistoryOutput]:
1627
+ 'Assessment-period inspection eligibility and direct A-D counts'
1628
+ return calculate('damage/thinning-inspection-history', inputs, output_type=ThinningInspectionHistoryOutput, context=context)
1629
+
1630
+
1631
+ from ..thinning_history import HistoryThinningAssessment as ThinningHistoryAssessmentInput
1632
+ from ..outputs import DamageThinningHistoryAssessmentOutput as ThinningHistoryAssessmentOutput
1633
+
1634
+ def thinning_history_assessment(inputs: ThinningHistoryAssessmentInput, *, context: Context | None = None) -> CalculationResult[ThinningHistoryAssessmentOutput]:
1635
+ 'Thickness/history/rate selection through period-consistent thinning DF'
1636
+ return calculate('damage/thinning-history-assessment', inputs, output_type=ThinningHistoryAssessmentOutput, context=context)
1637
+
1638
+
1639
+ from ..caustic_screening import CausticScreen as CausticScreeningInput
1640
+ from ..outputs import DamageCausticScreeningOutput as CausticScreeningOutput
1641
+
1642
+ def caustic_screening(inputs: CausticScreeningInput, *, context: Context | None = None) -> CalculationResult[CausticScreeningOutput]:
1643
+ 'Caustic cracking material and any-concentration exposure screen'
1644
+ return calculate('damage/caustic-screening', inputs, output_type=CausticScreeningOutput, context=context)
1645
+
1646
+
1647
+ from ..caustic_screening import CausticFigureSusceptibility as CausticFigureSusceptibilityInput
1648
+ from ..outputs import DamageCausticFigureSusceptibilityOutput as CausticFigureSusceptibilityOutput
1649
+
1650
+ def caustic_figure_susceptibility(inputs: CausticFigureSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[CausticFigureSusceptibilityOutput]:
1651
+ 'Qualified caustic graph area through Figure6.2 and crack-history gate'
1652
+ return calculate('damage/caustic-figure-susceptibility', inputs, output_type=CausticFigureSusceptibilityOutput, context=context)
1653
+
1654
+
1655
+ from ..caustic_screening import QualifiedCausticAssessment as CausticScreenedAssessmentInput
1656
+ from ..outputs import DamageCausticScreenedAssessmentOutput as CausticScreenedAssessmentOutput
1657
+
1658
+ def caustic_screened_assessment(inputs: CausticScreenedAssessmentInput, *, context: Context | None = None) -> CalculationResult[CausticScreenedAssessmentOutput]:
1659
+ 'Caustic screen and Figure6.2 through SCC severity/inspection/age DF'
1660
+ return calculate('damage/caustic-screened-assessment', inputs, output_type=CausticScreenedAssessmentOutput, context=context)
1661
+
1662
+
1663
+ from ..amine_screening import AmineCrackingScreen as AmineCrackingScreeningInput
1664
+ from ..outputs import DamageAmineCrackingScreeningOutput as AmineCrackingScreeningOutput
1665
+
1666
+ def amine_cracking_screening(inputs: AmineCrackingScreeningInput, *, context: Context | None = None) -> CalculationResult[AmineCrackingScreeningOutput]:
1667
+ 'Any-concentration acid-gas-treating amine SCC material screen'
1668
+ return calculate('damage/amine-cracking-screening', inputs, output_type=AmineCrackingScreeningOutput, context=context)
1669
+
1670
+
1671
+ from ..amine_screening import ScreenedAmineCracking as AmineCrackingScreenedAssessmentInput
1672
+ from ..outputs import DamageAmineCrackingScreenedAssessmentOutput as AmineCrackingScreenedAssessmentOutput
1673
+
1674
+ def amine_cracking_screened_assessment(inputs: AmineCrackingScreenedAssessmentInput, *, context: Context | None = None) -> CalculationResult[AmineCrackingScreenedAssessmentOutput]:
1675
+ 'Screened amine exposure through qualified SCC susceptibility and DF'
1676
+ return calculate('damage/amine-cracking-screened-assessment', inputs, output_type=AmineCrackingScreenedAssessmentOutput, context=context)
1677
+
1678
+
1679
+ from ..amine_screening import AmineFigure as AmineFigureSusceptibilityInput
1680
+ from ..outputs import DamageAmineFigureSusceptibilityOutput as AmineFigureSusceptibilityOutput
1681
+
1682
+ def amine_figure_susceptibility(inputs: AmineFigureSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[AmineFigureSusceptibilityOutput]:
1683
+ 'Figure7.1 amine cracking susceptibility'
1684
+ return calculate('damage/amine-figure-susceptibility', inputs, output_type=AmineFigureSusceptibilityOutput, context=context)
1685
+
1686
+
1687
+ from ..amine_screening import FigureAmineAssessment as AmineFigureAssessmentInput
1688
+ from ..outputs import DamageAmineFigureAssessmentOutput as AmineFigureAssessmentOutput
1689
+
1690
+ def amine_figure_assessment(inputs: AmineFigureAssessmentInput, *, context: Context | None = None) -> CalculationResult[AmineFigureAssessmentOutput]:
1691
+ 'Figure7.1 susceptibility through amine SCC DF'
1692
+ return calculate('damage/amine-figure-assessment', inputs, output_type=AmineFigureAssessmentOutput, context=context)
1693
+
1694
+
1695
+ from ..ssc_screening import SscScreen as SscScreeningInput
1696
+ from ..outputs import DamageSscScreeningOutput as SscScreeningOutput
1697
+
1698
+ def ssc_screening(inputs: SscScreeningInput, *, context: Context | None = None) -> CalculationResult[SscScreeningOutput]:
1699
+ 'SSC carbon/low-alloy steel wet-H2S any-concentration screen'
1700
+ return calculate('damage/ssc-screening', inputs, output_type=SscScreeningOutput, context=context)
1701
+
1702
+
1703
+ from ..ssc_screening import SscScreen as HicH2sScreeningInput
1704
+ from ..outputs import DamageHicH2sScreeningOutput as HicH2sScreeningOutput
1705
+
1706
+ def hic_h2s_screening(inputs: HicH2sScreeningInput, *, context: Context | None = None) -> CalculationResult[HicH2sScreeningOutput]:
1707
+ 'HIC/SOHIC-H2S steel and wet-H2S any-concentration screen'
1708
+ return calculate('damage/hic-h2s-screening', inputs, output_type=HicH2sScreeningOutput, context=context)
1709
+
1710
+
1711
+ from ..ssc_screening import SscQualifiedService as SscQualifiedSusceptibilityInput
1712
+ from ..outputs import DamageSscQualifiedSusceptibilityOutput as SscQualifiedSusceptibilityOutput
1713
+
1714
+ def ssc_qualified_susceptibility(inputs: SscQualifiedSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[SscQualifiedSusceptibilityOutput]:
1715
+ 'SSC environment and measured hardness with cyanide susceptibility upgrade'
1716
+ return calculate('damage/ssc-qualified-susceptibility', inputs, output_type=SscQualifiedSusceptibilityOutput, context=context)
1717
+
1718
+
1719
+ from ..ssc_screening import SscQualifiedAssessment as SscQualifiedAssessmentInput
1720
+ from ..outputs import DamageSscQualifiedAssessmentOutput as SscQualifiedAssessmentOutput
1721
+
1722
+ def ssc_qualified_assessment(inputs: SscQualifiedAssessmentInput, *, context: Context | None = None) -> CalculationResult[SscQualifiedAssessmentOutput]:
1723
+ 'SSC material/exposure through environment/hardness/cyanide and DF'
1724
+ return calculate('damage/ssc-qualified-assessment', inputs, output_type=SscQualifiedAssessmentOutput, context=context)
1725
+
1726
+
1727
+ from ..hic_screened import HicQualifiedService as HicH2sQualifiedSusceptibilityInput
1728
+ from ..outputs import DamageHicH2sQualifiedSusceptibilityOutput as HicH2sQualifiedSusceptibilityOutput
1729
+
1730
+ def hic_h2s_qualified_susceptibility(inputs: HicH2sQualifiedSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[HicH2sQualifiedSusceptibilityOutput]:
1731
+ 'HIC/SOHIC-H2S environment/material/cyanide susceptibility'
1732
+ return calculate('damage/hic-h2s-qualified-susceptibility', inputs, output_type=HicH2sQualifiedSusceptibilityOutput, context=context)
1733
+
1734
+
1735
+ from ..hic_screened import HicMonitoringSelection as HicH2sMonitoringSelectionInput
1736
+ from ..outputs import DamageHicH2sMonitoringSelectionOutput as HicH2sMonitoringSelectionOutput
1737
+
1738
+ def hic_h2s_monitoring_selection(inputs: HicH2sMonitoringSelectionInput, *, context: Context | None = None) -> CalculationResult[HicH2sMonitoringSelectionOutput]:
1739
+ 'Table9.5 or qualified experience replacement monitoring factor'
1740
+ return calculate('damage/hic-h2s-monitoring-selection', inputs, output_type=HicH2sMonitoringSelectionOutput, context=context)
1741
+
1742
+
1743
+ from ..hic_screened import HicQualifiedAssessment as HicH2sQualifiedAssessmentInput
1744
+ from ..outputs import DamageHicH2sQualifiedAssessmentOutput as HicH2sQualifiedAssessmentOutput
1745
+
1746
+ def hic_h2s_qualified_assessment(inputs: HicH2sQualifiedAssessmentInput, *, context: Context | None = None) -> CalculationResult[HicH2sQualifiedAssessmentOutput]:
1747
+ 'Screened HIC/SOHIC-H2S service through monitoring-adjusted DF'
1748
+ return calculate('damage/hic-h2s-qualified-assessment', inputs, output_type=HicH2sQualifiedAssessmentOutput, context=context)
1749
+
1750
+
1751
+ from ..acscc_screening import AcsccScreen as AcsccScreeningInput
1752
+ from ..outputs import DamageAcsccScreeningOutput as AcsccScreeningOutput
1753
+
1754
+ def acscc_screening(inputs: AcsccScreeningInput, *, context: Context | None = None) -> CalculationResult[AcsccScreeningOutput]:
1755
+ 'ACSCC alkaline-water and FCCU feed-change evaluation triggers'
1756
+ return calculate('damage/acscc-screening', inputs, output_type=AcsccScreeningOutput, context=context)
1757
+
1758
+
1759
+ from ..acscc_screening import AcsccWaterSusceptibility as AcsccWaterSusceptibilityInput
1760
+ from ..outputs import DamageAcsccWaterSusceptibilityOutput as AcsccWaterSusceptibilityOutput
1761
+
1762
+ def acscc_water_susceptibility(inputs: AcsccWaterSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[AcsccWaterSusceptibilityOutput]:
1763
+ 'Qualified numeric water pH to ACSCC carbonate/PWHT susceptibility'
1764
+ return calculate('damage/acscc-water-susceptibility', inputs, output_type=AcsccWaterSusceptibilityOutput, context=context)
1765
+
1766
+
1767
+ from ..acscc_screening import AcsccQualifiedAssessment as AcsccQualifiedAssessmentInput
1768
+ from ..outputs import DamageAcsccQualifiedAssessmentOutput as AcsccQualifiedAssessmentOutput
1769
+
1770
+ def acscc_qualified_assessment(inputs: AcsccQualifiedAssessmentInput, *, context: Context | None = None) -> CalculationResult[AcsccQualifiedAssessmentOutput]:
1771
+ 'ACSCC screen and common water chemistry through inspection/age DF'
1772
+ return calculate('damage/acscc-qualified-assessment', inputs, output_type=AcsccQualifiedAssessmentOutput, context=context)
1773
+
1774
+
1775
+ from ..pascc_screening import PasccScreen as PasccScreeningInput
1776
+ from ..outputs import DamagePasccScreeningOutput as PasccScreeningOutput
1777
+
1778
+ def pascc_screening(inputs: PasccScreeningInput, *, context: Context | None = None) -> CalculationResult[PasccScreeningOutput]:
1779
+ 'PASCC austenitic stainless/nickel alloy sulfur exposure screen'
1780
+ return calculate('damage/pascc-screening', inputs, output_type=PasccScreeningOutput, context=context)
1781
+
1782
+
1783
+ from ..pascc_screening import PasccFigure as PasccFigureSusceptibilityInput
1784
+ from ..outputs import DamagePasccFigureSusceptibilityOutput as PasccFigureSusceptibilityOutput
1785
+
1786
+ def pascc_figure_susceptibility(inputs: PasccFigureSusceptibilityInput, *, context: Context | None = None) -> CalculationResult[PasccFigureSusceptibilityOutput]:
1787
+ 'PASCC Figure11.1 exposure and qualified downtime protection'
1788
+ return calculate('damage/pascc-figure-susceptibility', inputs, output_type=PasccFigureSusceptibilityOutput, context=context)
1789
+
1790
+
1791
+ from ..pascc_screening import PasccQualifiedAssessment as PasccQualifiedAssessmentInput
1792
+ from ..outputs import DamagePasccQualifiedAssessmentOutput as PasccQualifiedAssessmentOutput
1793
+
1794
+ def pascc_qualified_assessment(inputs: PasccQualifiedAssessmentInput, *, context: Context | None = None) -> CalculationResult[PasccQualifiedAssessmentOutput]:
1795
+ 'PASCC screen/Figure11.1 through inspection and age DF'
1796
+ return calculate('damage/pascc-qualified-assessment', inputs, output_type=PasccQualifiedAssessmentOutput, context=context)
1797
+
1798
+
1799
+ from ..clscc_screening import ClsccScreen as ClsccScreeningInput
1800
+ from ..outputs import DamageClsccScreeningOutput as ClsccScreeningOutput
1801
+
1802
+ def clscc_screening(inputs: ClsccScreeningInput, *, context: Context | None = None) -> CalculationResult[ClsccScreeningOutput]:
1803
+ 'CLSCC material/potential wet-chloride and operating-temperature screen'
1804
+ return calculate('damage/clscc-screening', inputs, output_type=ClsccScreeningOutput, context=context)
1805
+
1806
+
1807
+ from ..clscc_screening import QualifiedClsccAssessment as ClsccQualifiedAssessmentInput
1808
+ from ..outputs import DamageClsccQualifiedAssessmentOutput as ClsccQualifiedAssessmentOutput
1809
+
1810
+ def clscc_qualified_assessment(inputs: ClsccQualifiedAssessmentInput, *, context: Context | None = None) -> CalculationResult[ClsccQualifiedAssessmentOutput]:
1811
+ 'CLSCC wet-chloride screen through SI susceptibility and inspection DF'
1812
+ return calculate('damage/clscc-qualified-assessment', inputs, output_type=ClsccQualifiedAssessmentOutput, context=context)
1813
+
1814
+
1815
+ from ..corrosion_rate import MeasuredCorrosionRate as MeasuredCorrosionRateInput
1816
+ from ..outputs import DamageMeasuredCorrosionRateOutput as MeasuredCorrosionRateOutput
1817
+
1818
+ def measured_corrosion_rate(inputs: MeasuredCorrosionRateInput, *, context: Context | None = None) -> CalculationResult[MeasuredCorrosionRateOutput]:
1819
+ 'Measured thickness-loss corrosion rate'
1820
+ return calculate('damage/measured-corrosion-rate', inputs, output_type=MeasuredCorrosionRateOutput, context=context)
1821
+
1822
+
1823
+ from ..thinning_type import ThinningTypeSelection as ThinningTypeInput
1824
+ from ..outputs import DamageThinningTypeOutput as ThinningTypeOutput
1825
+
1826
+ def thinning_type(inputs: ThinningTypeInput, *, context: Context | None = None) -> CalculationResult[ThinningTypeOutput]:
1827
+ 'API 581 Annex 2.B.1.2 general versus localized thinning designation'
1828
+ return calculate('damage/thinning-type', inputs, output_type=ThinningTypeOutput, context=context)
1829
+
1830
+
1831
+ __all__ = ['AcidSourAssessmentInput', 'AcidSourCarbonInput', 'AcidSourOtherMaterialInput', 'AcidSourRouteInput', 'AcsccScreenInput', 'Acscc_screeningAcsccWaterSusceptibilityInput', 'AlkalineAssessmentInput', 'AlkalineVelocityInput', 'AlkalineWetInput', 'AmineAssessmentInput', 'AmineCarbonServiceInput', 'AmineContaminantSelectionInput', 'AmineCrackingScreenInput', 'AmineFigureInput', 'Amine_corrosionAmineLoadingSelectionInput', 'AmineStainlessServiceInput', 'AmineStrengthInput', 'AssessmentInput', 'BrittleReferenceInput', 'BrittleServiceInput', 'CO2AssessmentInput', 'CO2GlycolInput', 'CO2HydrocarbonWettingInput', 'CO2MaterialScreenInput', 'CO2MoistureScreenInput', 'CO2PartialPressureInput', 'CO2ScreenedAssessmentInput', 'CO2WetModelInput', 'Caustic_screeningCausticFigureSusceptibilityInput', 'CausticPlotEvidenceInput', 'CausticScreenInput', 'CladWallInput', 'ClsccScreenInput', 'External_corrosionCoatingExposureInput', 'CodeStrengthInput', 'CoolingFreshInput', 'CoolingMeasurementInput', 'CoolingRateSelectionInput', 'CoolingSeawaterInput', 'CoolingTemperatureInput', 'CuiAdjustmentInput', 'DeadlegInput', 'DesignStrengthRatioInput', 'EstimatedHClPHInput', 'EstimatedNH4HSInput', 'EstimatedPHInput', 'ExposurePeriodInput', 'FallbackThinningRateInput', 'FatigueFatigueAdjustmentsInput', 'FatigueFatigueBaseInput', 'FreshChoiceInput', 'GroundwaterGroundwaterAssessmentInput', 'GroundwaterChemistryInput', 'GroundwaterRateInput', 'H2SH2AssessmentInput', 'H2SH2ServiceInput', 'HClAlloyWetInput', 'HClAssessmentInput', 'HClPHWetInput', 'HFAlloy400ServiceInput', 'HFAssessmentInput', 'HFCarbonServiceInput', 'HFPublishedRateInput', 'HicQualifiedServiceInput', 'InjectionPointInput', 'InspectionCountsInput', 'LiningAgeInput', 'LiningConditionInput', 'LiningInspectionInput', 'LiningMonitoringInput', 'MeasuredBaselineInput', 'MeasuredHClPHInput', 'MeasuredThinningRateInput', 'MechanismThinningRateInput', 'MonitoringRowInput', 'OnlineMonitoringInput', 'OtherChoiceInput', 'OtherCoolingMaterialInput', 'OxidationOxidationAssessmentInput', 'OxidationOxidationRateInput', 'PasccFigureInput', 'PasccScreenInput', 'Scc_mechanismsPasccSusceptibilityInput', 'PosteriorInput', 'PressureStrengthInput', 'PriorSelectionInput', 'RateAdjustmentInput', 'SeawaterChoiceInput', 'SelectedHClChlorideInput', 'SoilCathodicProtectionInput', 'SoilCoatingInput', 'SoilRateInput', 'SoilResistivityInput', 'SoilTemperatureInput', 'SscQualifiedServiceInput', 'SscScreenInput', 'StrengthRatioInput', 'SulfidicAssessmentInput', 'SulfidicServiceInput', 'Sulfidic_corrosionSulfidicTableRateInput', 'SulfidicVelocityInput', 'SulfuricAssessmentInput', 'SulfuricRateInput', 'SulfuricSpecialistRateInput', 'SulfuricTableServiceInput', 'Sulfuric_acidSulfuricThinningClassificationInput', 'SuppliedHClChlorideInput', 'SuppliedNH4HSInput', 'SuppliedPHInput', 'SuppliedShearInput', 'ThinningConditionsInput', 'Thinning_historyThinningInspectionHistoryInput', 'ThinningInspectionRecordInput', 'Thinning_selectionThinningRateSelectionInput', 'TreatedCoolingInput', 'TreatmentChoiceInput', 'TurbulentShearInput', 'WallLossInput', 'Scc_mechanismsWetH2sEnvironmentInput', 'combine', 'CombineInput', 'CombineOutput', 'thinning_wall_loss', 'ThinningWallLossInput', 'ThinningWallLossOutput', 'flow_stress', 'FlowStressInput', 'FlowStressOutput', 'thinning_strength_ratio', 'ThinningStrengthRatioInput', 'ThinningStrengthRatioOutput', 'thinning_prior_selection', 'ThinningPriorSelectionInput', 'ThinningPriorSelectionOutput', 'thinning_posterior', 'ThinningPosteriorInput', 'ThinningPosteriorOutput', 'thinning_base', 'ThinningBaseInput', 'ThinningBaseOutput', 'thinning_adjust', 'ThinningAdjustInput', 'ThinningAdjustOutput', 'thinning_unclad', 'ThinningUncladInput', 'ThinningUncladOutput', 'scc_base', 'SccBaseInput', 'SccBaseOutput', 'caustic_severity', 'CausticSeverityInput', 'CausticSeverityOutput', 'caustic_escalation', 'CausticEscalationInput', 'CausticEscalationOutput', 'lining_adjust', 'LiningAdjustInput', 'LiningAdjustOutput', 'scc_severity', 'SccSeverityInput', 'SccSeverityOutput', 'hic_monitoring_factor', 'HicMonitoringFactorInput', 'HicMonitoringFactorOutput', 'caustic', 'CausticInput', 'CausticOutput', 'amine', 'AmineInput', 'AmineOutput', 'ssc', 'SscInput', 'SscOutput', 'hic_sohic_h2s', 'HicSohicH2sInput', 'HicSohicH2sOutput', 'acscc', 'AcsccInput', 'AcsccOutput', 'pascc', 'PasccInput', 'PasccOutput', 'clscc', 'ClsccInput', 'ClsccOutput', 'hsc_hf', 'HscHfInput', 'HscHfOutput', 'hic_sohic_hf', 'HicSohicHfInput', 'HicSohicHfOutput', 'hsc_hf_susceptibility', 'HscHfSusceptibilityInput', 'HscHfSusceptibilityOutput', 'ssc_susceptibility', 'SscSusceptibilityInput', 'SscSusceptibilityOutput', 'hic_hf_susceptibility', 'HicHfSusceptibilityInput', 'HicHfSusceptibilityOutput', 'hic_h2s_susceptibility', 'HicH2sSusceptibilityInput', 'HicH2sSusceptibilityOutput', 'clscc_susceptibility', 'ClsccSusceptibilityInput', 'ClsccSusceptibilityOutput', 'wet_h2s_environment', 'WetH2sEnvironmentInput', 'WetH2sEnvironmentOutput', 'acscc_susceptibility', 'AcsccSusceptibilityInput', 'AcsccSusceptibilityOutput', 'pascc_susceptibility', 'PasccSusceptibilityInput', 'PasccSusceptibilityOutput', 'external_base_rate', 'ExternalBaseRateInput', 'ExternalBaseRateOutput', 'cui_base_rate', 'CuiBaseRateInput', 'CuiBaseRateOutput', 'external_time_weighted_rate', 'ExternalTimeWeightedRateInput', 'ExternalTimeWeightedRateOutput', 'external_rate_adjust', 'ExternalRateAdjustInput', 'ExternalRateAdjustOutput', 'cui_rate_adjust', 'CuiRateAdjustInput', 'CuiRateAdjustOutput', 'coating_exposure', 'CoatingExposureInput', 'CoatingExposureOutput', 'external_corrosion', 'ExternalCorrosionInput', 'ExternalCorrosionOutput', 'cui', 'CuiInput', 'CuiOutput', 'external_clscc_base_susceptibility', 'ExternalClsccBaseSusceptibilityInput', 'ExternalClsccBaseSusceptibilityOutput', 'external_clscc', 'ExternalClsccInput', 'ExternalClsccOutput', 'cui_clscc', 'CuiClsccInput', 'CuiClsccOutput', 'fatigue_base', 'FatigueBaseInput', 'FatigueBaseOutput', 'fatigue_adjustments', 'FatigueAdjustmentsInput', 'FatigueAdjustmentsOutput', 'mechanical_fatigue', 'MechanicalFatigueInput', 'MechanicalFatigueOutput', 'htha_factor', 'HthaFactorInput', 'HthaFactorOutput', 'htha_carbon_screen', 'HthaCarbonScreenInput', 'HthaCarbonScreenOutput', 'brittle_reference_temperature', 'BrittleReferenceTemperatureInput', 'BrittleReferenceTemperatureOutput', 'brittle_service_factor', 'BrittleServiceFactorInput', 'BrittleServiceFactorOutput', 'brittle_base', 'BrittleBaseInput', 'BrittleBaseOutput', 'brittle_fracture', 'BrittleFractureInput', 'BrittleFractureOutput', 'embrittlement_885f', 'Embrittlement885fInput', 'Embrittlement885fOutput', 'sigma_content', 'SigmaContentInput', 'SigmaContentOutput', 'sigma_embrittlement', 'SigmaEmbrittlementInput', 'SigmaEmbrittlementOutput', 'temper_j_factor', 'TemperJFactorInput', 'TemperJFactorOutput', 'temper_xbar', 'TemperXbarInput', 'TemperXbarOutput', 'temper_xbar_shift', 'TemperXbarShiftInput', 'TemperXbarShiftOutput', 'temper_generation_shift', 'TemperGenerationShiftInput', 'TemperGenerationShiftOutput', 'temper_embrittlement', 'TemperEmbrittlementInput', 'TemperEmbrittlementOutput', 'soil_base_rate_table', 'SoilBaseRateTableInput', 'SoilBaseRateTableOutput', 'soil_resistivity_factor', 'SoilResistivityFactorInput', 'SoilResistivityFactorOutput', 'soil_temperature_factor', 'SoilTemperatureFactorInput', 'SoilTemperatureFactorOutput', 'soil_cp_factor', 'SoilCpFactorInput', 'SoilCpFactorOutput', 'soil_coating_factor', 'SoilCoatingFactorInput', 'SoilCoatingFactorOutput', 'soil_rate_equation', 'SoilRateEquationInput', 'SoilRateEquationOutput', 'soil_corrosion_rate', 'SoilCorrosionRateInput', 'SoilCorrosionRateOutput', 'soil_thinning_assessment', 'SoilThinningAssessmentInput', 'SoilThinningAssessmentOutput', 'cladding_remaining_life', 'CladdingRemainingLifeInput', 'CladdingRemainingLifeOutput', 'thinning_clad_wall_loss', 'ThinningCladWallLossInput', 'ThinningCladWallLossOutput', 'thinning_design_strength_ratio', 'ThinningDesignStrengthRatioInput', 'ThinningDesignStrengthRatioOutput', 'thinning_clad', 'ThinningCladInput', 'ThinningCladOutput', 'thinning_unclad_design', 'ThinningUncladDesignInput', 'ThinningUncladDesignOutput', 'thinning_monitoring_row', 'ThinningMonitoringRowInput', 'ThinningMonitoringRowOutput', 'thinning_monitoring_table_factor', 'ThinningMonitoringTableFactorInput', 'ThinningMonitoringTableFactorOutput', 'thinning_online_monitoring_factor', 'ThinningOnlineMonitoringFactorInput', 'ThinningOnlineMonitoringFactorOutput', 'thinning_injection_point_factor', 'ThinningInjectionPointFactorInput', 'ThinningInjectionPointFactorOutput', 'thinning_deadleg_factor', 'ThinningDeadlegFactorInput', 'ThinningDeadlegFactorOutput', 'thinning_conditional_adjustment', 'ThinningConditionalAdjustmentInput', 'ThinningConditionalAdjustmentOutput', 'thinning_unclad_qualified', 'ThinningUncladQualifiedInput', 'ThinningUncladQualifiedOutput', 'thinning_clad_qualified', 'ThinningCladQualifiedInput', 'ThinningCladQualifiedOutput', 'lining_effective_age', 'LiningEffectiveAgeInput', 'LiningEffectiveAgeOutput', 'lining_base_factor', 'LiningBaseFactorInput', 'LiningBaseFactorOutput', 'lining_condition_factor', 'LiningConditionFactorInput', 'LiningConditionFactorOutput', 'lining_monitoring_factor', 'LiningMonitoringFactorInput', 'LiningMonitoringFactorOutput', 'lining_governing_thinning', 'LiningGoverningThinningInput', 'LiningGoverningThinningOutput', 'lining_assessment', 'LiningAssessmentInput', 'LiningAssessmentOutput', 'cooling_water_rate_factors', 'CoolingWaterRateFactorsInput', 'CoolingWaterRateFactorsOutput', 'cooling_water_ph_coefficients', 'CoolingWaterPhCoefficientsInput', 'CoolingWaterPhCoefficientsOutput', 'cooling_water_stability_indices', 'CoolingWaterStabilityIndicesInput', 'CoolingWaterStabilityIndicesOutput', 'cooling_water_saturation_ph', 'CoolingWaterSaturationPhInput', 'CoolingWaterSaturationPhOutput', 'cooling_water_base_rate', 'CoolingWaterBaseRateInput', 'CoolingWaterBaseRateOutput', 'cooling_water_temperature_factor', 'CoolingWaterTemperatureFactorInput', 'CoolingWaterTemperatureFactorOutput', 'cooling_water_velocity_factor', 'CoolingWaterVelocityFactorInput', 'CoolingWaterVelocityFactorOutput', 'cooling_water_rate_equation', 'CoolingWaterRateEquationInput', 'CoolingWaterRateEquationOutput', 'cooling_water_seawater_rate', 'CoolingWaterSeawaterRateInput', 'CoolingWaterSeawaterRateOutput', 'cooling_water_coupon_pitting_rate', 'CoolingWaterCouponPittingRateInput', 'CoolingWaterCouponPittingRateOutput', 'cooling_water_fresh_assessment', 'CoolingWaterFreshAssessmentInput', 'CoolingWaterFreshAssessmentOutput', 'cooling_water_thinning_assessment', 'CoolingWaterThinningAssessmentInput', 'CoolingWaterThinningAssessmentOutput', 'cooling_water_system_type', 'CoolingWaterSystemTypeInput', 'CoolingWaterSystemTypeOutput', 'cooling_water_treatment_bounds', 'CoolingWaterTreatmentBoundsInput', 'CoolingWaterTreatmentBoundsOutput', 'cooling_water_other_material_estimate', 'CoolingWaterOtherMaterialEstimateInput', 'CoolingWaterOtherMaterialEstimateOutput', 'cooling_water_measured_rate', 'CoolingWaterMeasuredRateInput', 'CoolingWaterMeasuredRateOutput', 'cooling_water_rate_selection', 'CoolingWaterRateSelectionInput', 'CoolingWaterRateSelectionOutput', 'cooling_water_selected_thinning', 'CoolingWaterSelectedThinningInput', 'CoolingWaterSelectedThinningOutput', 'co2_relative_humidity', 'Co2RelativeHumidityInput', 'Co2RelativeHumidityOutput', 'co2_dew_point', 'Co2DewPointInput', 'Co2DewPointOutput', 'co2_temperature_ph_factor', 'Co2TemperaturePhFactorInput', 'Co2TemperaturePhFactorOutput', 'co2_ph_estimate', 'Co2PhEstimateInput', 'Co2PhEstimateOutput', 'co2_fugacity', 'Co2FugacityInput', 'Co2FugacityOutput', 'co2_reynolds', 'Co2ReynoldsInput', 'Co2ReynoldsOutput', 'co2_friction_factor', 'Co2FrictionFactorInput', 'Co2FrictionFactorOutput', 'co2_shear_stress', 'Co2ShearStressInput', 'Co2ShearStressOutput', 'co2_base_rate', 'Co2BaseRateInput', 'Co2BaseRateOutput', 'co2_glycol_factor', 'Co2GlycolFactorInput', 'Co2GlycolFactorOutput', 'co2_rate_adjustment', 'Co2RateAdjustmentInput', 'Co2RateAdjustmentOutput', 'co2_corrosion_assessment', 'Co2CorrosionAssessmentInput', 'Co2CorrosionAssessmentOutput', 'co2_thinning_assessment', 'Co2ThinningAssessmentInput', 'Co2ThinningAssessmentOutput', 'co2_reynolds_mass_flow', 'Co2ReynoldsMassFlowInput', 'Co2ReynoldsMassFlowOutput', 'co2_material_screen', 'Co2MaterialScreenInput', 'Co2MaterialScreenOutput', 'co2_hydrocarbon_wetting_screen', 'Co2HydrocarbonWettingScreenInput', 'Co2HydrocarbonWettingScreenOutput', 'co2_moisture_screen', 'Co2MoistureScreenInput', 'Co2MoistureScreenOutput', 'co2_screened_assessment', 'Co2ScreenedAssessmentInput', 'Co2ScreenedAssessmentOutput', 'co2_screened_thinning', 'Co2ScreenedThinningInput', 'Co2ScreenedThinningOutput', 'oxidation_screen', 'OxidationScreenInput', 'OxidationScreenOutput', 'oxidation_table_row', 'OxidationTableRowInput', 'OxidationTableRowOutput', 'oxidation_rate', 'OxidationRateInput', 'OxidationRateOutput', 'oxidation_assessment', 'OxidationAssessmentInput', 'OxidationAssessmentOutput', 'oxidation_thinning_assessment', 'OxidationThinningAssessmentInput', 'OxidationThinningAssessmentOutput', 'acid_sour_water_route', 'AcidSourWaterRouteInput', 'AcidSourWaterRouteOutput', 'acid_sour_water_base_rate', 'AcidSourWaterBaseRateInput', 'AcidSourWaterBaseRateOutput', 'acid_sour_water_oxygen_factor', 'AcidSourWaterOxygenFactorInput', 'AcidSourWaterOxygenFactorOutput', 'acid_sour_water_velocity_factor', 'AcidSourWaterVelocityFactorInput', 'AcidSourWaterVelocityFactorOutput', 'acid_sour_water_rate_equation', 'AcidSourWaterRateEquationInput', 'AcidSourWaterRateEquationOutput', 'acid_sour_water_other_material_rate', 'AcidSourWaterOtherMaterialRateInput', 'AcidSourWaterOtherMaterialRateOutput', 'acid_sour_water_assessment', 'AcidSourWaterAssessmentInput', 'AcidSourWaterAssessmentOutput', 'acid_sour_water_thinning_assessment', 'AcidSourWaterThinningAssessmentInput', 'AcidSourWaterThinningAssessmentOutput', 'alkaline_sour_water_nh4hs_estimate', 'AlkalineSourWaterNh4hsEstimateInput', 'AlkalineSourWaterNh4hsEstimateOutput', 'alkaline_sour_water_velocity_selection', 'AlkalineSourWaterVelocitySelectionInput', 'AlkalineSourWaterVelocitySelectionOutput', 'alkaline_sour_water_base_rate', 'AlkalineSourWaterBaseRateInput', 'AlkalineSourWaterBaseRateOutput', 'alkaline_sour_water_pressure_adjustment', 'AlkalineSourWaterPressureAdjustmentInput', 'AlkalineSourWaterPressureAdjustmentOutput', 'alkaline_sour_water_assessment', 'AlkalineSourWaterAssessmentInput', 'AlkalineSourWaterAssessmentOutput', 'alkaline_sour_water_thinning_assessment', 'AlkalineSourWaterThinningAssessmentInput', 'AlkalineSourWaterThinningAssessmentOutput', 'hcl_ph_from_chloride', 'HclPhFromChlorideInput', 'HclPhFromChlorideOutput', 'hcl_chloride_interval_from_ph', 'HclChlorideIntervalFromPhInput', 'HclChlorideIntervalFromPhOutput', 'hcl_ph_rate', 'HclPhRateInput', 'HclPhRateOutput', 'hcl_alloy_rate', 'HclAlloyRateInput', 'HclAlloyRateOutput', 'hcl_assessment', 'HclAssessmentInput', 'HclAssessmentOutput', 'hcl_thinning_assessment', 'HclThinningAssessmentInput', 'HclThinningAssessmentOutput', 'sour_water_assessment', 'SourWaterAssessmentInput', 'SourWaterAssessmentOutput', 'hf_concentration_selection', 'HfConcentrationSelectionInput', 'HfConcentrationSelectionOutput', 'hf_carbon_velocity_band', 'HfCarbonVelocityBandInput', 'HfCarbonVelocityBandOutput', 'hf_carbon_rate', 'HfCarbonRateInput', 'HfCarbonRateOutput', 'hf_alloy400_rate', 'HfAlloy400RateInput', 'HfAlloy400RateOutput', 'hf_assessment', 'HfAssessmentInput', 'HfAssessmentOutput', 'hf_thinning_assessment', 'HfThinningAssessmentInput', 'HfThinningAssessmentOutput', 'amine_acid_gas_loading', 'AmineAcidGasLoadingInput', 'AmineAcidGasLoadingOutput', 'amine_loading_selection', 'AmineLoadingSelectionInput', 'AmineLoadingSelectionOutput', 'amine_contaminant_row', 'AmineContaminantRowInput', 'AmineContaminantRowOutput', 'amine_strength_factor', 'AmineStrengthFactorInput', 'AmineStrengthFactorOutput', 'amine_carbon_base_rate', 'AmineCarbonBaseRateInput', 'AmineCarbonBaseRateOutput', 'amine_stainless_rate', 'AmineStainlessRateInput', 'AmineStainlessRateOutput', 'amine_corrosion_assessment', 'AmineCorrosionAssessmentInput', 'AmineCorrosionAssessmentOutput', 'amine_thinning_assessment', 'AmineThinningAssessmentInput', 'AmineThinningAssessmentOutput', 'sulfuric_table_axes', 'SulfuricTableAxesInput', 'SulfuricTableAxesOutput', 'sulfuric_table_rate', 'SulfuricTableRateInput', 'SulfuricTableRateOutput', 'sulfuric_thinning_classification', 'SulfuricThinningClassificationInput', 'SulfuricThinningClassificationOutput', 'sulfuric_corrosion_assessment', 'SulfuricCorrosionAssessmentInput', 'SulfuricCorrosionAssessmentOutput', 'sulfuric_thinning_assessment', 'SulfuricThinningAssessmentInput', 'SulfuricThinningAssessmentOutput', 'h2sh2_table_axes', 'H2sh2TableAxesInput', 'H2sh2TableAxesOutput', 'h2sh2_table_rate', 'H2sh2TableRateInput', 'H2sh2TableRateOutput', 'h2sh2_corrosion_assessment', 'H2sh2CorrosionAssessmentInput', 'H2sh2CorrosionAssessmentOutput', 'h2sh2_thinning_assessment', 'H2sh2ThinningAssessmentInput', 'H2sh2ThinningAssessmentOutput', 'sulfidic_material_selection', 'SulfidicMaterialSelectionInput', 'SulfidicMaterialSelectionOutput', 'sulfidic_table_axes', 'SulfidicTableAxesInput', 'SulfidicTableAxesOutput', 'sulfidic_table_rate', 'SulfidicTableRateInput', 'SulfidicTableRateOutput', 'sulfidic_velocity_factor', 'SulfidicVelocityFactorInput', 'SulfidicVelocityFactorOutput', 'sulfidic_thinning_classification', 'SulfidicThinningClassificationInput', 'SulfidicThinningClassificationOutput', 'sulfidic_corrosion_assessment', 'SulfidicCorrosionAssessmentInput', 'SulfidicCorrosionAssessmentOutput', 'sulfidic_thinning_assessment', 'SulfidicThinningAssessmentInput', 'SulfidicThinningAssessmentOutput', 'groundwater_tks', 'GroundwaterTksInput', 'GroundwaterTksOutput', 'groundwater_rate_classification', 'GroundwaterRateClassificationInput', 'GroundwaterRateClassificationOutput', 'groundwater_assessment', 'GroundwaterAssessmentInput', 'GroundwaterAssessmentOutput', 'groundwater_thinning_assessment', 'GroundwaterThinningAssessmentInput', 'GroundwaterThinningAssessmentOutput', 'thinning_rate_selection', 'ThinningRateSelectionInput', 'ThinningRateSelectionOutput', 'thinning_selected_mechanisms', 'ThinningSelectedMechanismsInput', 'ThinningSelectedMechanismsOutput', 'thinning_assessment_period', 'ThinningAssessmentPeriodInput', 'ThinningAssessmentPeriodOutput', 'thinning_inspection_history', 'ThinningInspectionHistoryInput', 'ThinningInspectionHistoryOutput', 'thinning_history_assessment', 'ThinningHistoryAssessmentInput', 'ThinningHistoryAssessmentOutput', 'caustic_screening', 'CausticScreeningInput', 'CausticScreeningOutput', 'caustic_figure_susceptibility', 'CausticFigureSusceptibilityInput', 'CausticFigureSusceptibilityOutput', 'caustic_screened_assessment', 'CausticScreenedAssessmentInput', 'CausticScreenedAssessmentOutput', 'amine_cracking_screening', 'AmineCrackingScreeningInput', 'AmineCrackingScreeningOutput', 'amine_cracking_screened_assessment', 'AmineCrackingScreenedAssessmentInput', 'AmineCrackingScreenedAssessmentOutput', 'amine_figure_susceptibility', 'AmineFigureSusceptibilityInput', 'AmineFigureSusceptibilityOutput', 'amine_figure_assessment', 'AmineFigureAssessmentInput', 'AmineFigureAssessmentOutput', 'ssc_screening', 'SscScreeningInput', 'SscScreeningOutput', 'hic_h2s_screening', 'HicH2sScreeningInput', 'HicH2sScreeningOutput', 'ssc_qualified_susceptibility', 'SscQualifiedSusceptibilityInput', 'SscQualifiedSusceptibilityOutput', 'ssc_qualified_assessment', 'SscQualifiedAssessmentInput', 'SscQualifiedAssessmentOutput', 'hic_h2s_qualified_susceptibility', 'HicH2sQualifiedSusceptibilityInput', 'HicH2sQualifiedSusceptibilityOutput', 'hic_h2s_monitoring_selection', 'HicH2sMonitoringSelectionInput', 'HicH2sMonitoringSelectionOutput', 'hic_h2s_qualified_assessment', 'HicH2sQualifiedAssessmentInput', 'HicH2sQualifiedAssessmentOutput', 'acscc_screening', 'AcsccScreeningInput', 'AcsccScreeningOutput', 'acscc_water_susceptibility', 'AcsccWaterSusceptibilityInput', 'AcsccWaterSusceptibilityOutput', 'acscc_qualified_assessment', 'AcsccQualifiedAssessmentInput', 'AcsccQualifiedAssessmentOutput', 'pascc_screening', 'PasccScreeningInput', 'PasccScreeningOutput', 'pascc_figure_susceptibility', 'PasccFigureSusceptibilityInput', 'PasccFigureSusceptibilityOutput', 'pascc_qualified_assessment', 'PasccQualifiedAssessmentInput', 'PasccQualifiedAssessmentOutput', 'clscc_screening', 'ClsccScreeningInput', 'ClsccScreeningOutput', 'clscc_qualified_assessment', 'ClsccQualifiedAssessmentInput', 'ClsccQualifiedAssessmentOutput', 'measured_corrosion_rate', 'MeasuredCorrosionRateInput', 'MeasuredCorrosionRateOutput', 'thinning_type', 'ThinningTypeInput', 'ThinningTypeOutput']