Asset Integrity Engineer — physics-first, standards-traceable simulators
Open-source integrity simulators with governing equations documented in code,
hand-calc benchmarks, stated limitations, and DOI-archived releases.
I design and implement decision-support systems for asset-integrity and risk-based-inspection (RBI) programs — at the boundary of engineering judgment, structured data systems, and physics-constrained machine learning.
The objective is not algorithmic novelty. It is defensible operational decisions: explicit assumptions, transparent transformation logic, inspectable data lineage, bounded model behavior, and visible failure modes.
Core domains, and the methods & standards that sit under each.
| Domain | Methods & Standards |
|---|---|
| Asset Integrity & RBI | API 510 / 570 / 653 · API 571 (damage mechanisms) · API 580 / 581 (RBI) · API 579-1 / ASME FFS-1 · API RP 970 (CCDs) |
| Corrosion & Electrochemistry | CO₂ corrosion (NORSOK M-506) · galvanic (Butler–Volmer / Laplace) · CUI · NNpH-SCC (Chen–Sutherby–Xing) · erosion-corrosion (DNV-RP-O501 / ASTM G119) · H₂ service (B31.12) |
| Physics-Informed ML (PIML) | PINN surrogates · soft-penalty physics constraints · gradient-boosted surrogates · Monte-Carlo uncertainty quantification |
| Data Architecture & Secure Automation | ingestion-time validation · deterministic transforms · SHA-256 audit chains · CI/CD · reproducibility harnesses |
Self-contained, physics-first integrity simulators. Each one documents its governing equations, flags its assumptions and states its limitations. The simulators ship a run_all.py that reproduces their figures, and most add hand-calc benchmarks and a Monte-Carlo or sensitivity layer over the deterministic core.
Live status: integrity-code-series-dashboard — CI, releases and last-push, auto-refreshed monthly.
| # | Repository | Domain | Tests | Key standards / methods | DOI |
|---|---|---|---|---|---|
| 11 ⭐ | erosion-corrosion-multiphase | Coupled erosion-corrosion at a multiphase elbow | 471 | NORSOK M-506 · DNV-RP-O501 · ASTM G119 · API 571 / 579 | |
| 10 | nnph-scc | Near-neutral-pH stress-corrosion cracking | 219 | Chen–Sutherby–Xing · BS 7910 · API 579 · Bayesian inspection planning | |
| 9 | cui | Corrosion under insulation (thermo-hygro-electrochemical) | 156 | 2 PDEs + Butler–Volmer · Strang splitting · DFOS inverse | |
| 8 | creep-fatigue-heater | Creep-fatigue in fired-heater tubes (9Cr-1Mo) | 333 | ASME III-5 · Norton/Omega · Coffin–Manson | |
| 7 | h2-lferw | Hydrogen conversion of vintage LF-ERW pipe | 191 | H diffusion · HA-FCG · B31.12-form MAOP | |
| 6 | smartphone-galvanic | Galvanic corrosion in a thin electrolyte film | 43 | Laplace 2D · Butler–Volmer · oxide growth | |
| 3 | f1-lap-simulation | F1 lap dynamics (six-state model) | 13 | arc-length ODE integration · thermal grip window | — |
| ◆ | synthetic-integrity-digital-twin-piml | Physics-informed NN surrogate for an integrity digital twin | 5 | PINN-style demo · Paris-type rollout · soft-penalty constraints | |
| ◆ | vibration-accelerated-corrosion | Vibration-accelerated corrosion at pipe supports | 31 | SDOF · stress-modified Butler–Volmer · Archard | |
| ◆ | integrity-data-foundation | Engineering-first data validation baseline for RBI | 7 | rule-based validation · deterministic transforms | — |
⭐ flagship · ◆ companion package · test counts are from each repo's own suite.
flowchart LR
A[Physical Reality] --> B[Structured Engineering Data]
B --> C[Explicit Domain Logic]
C --> D[Physics / Risk Framing]
D --> E[Validation Harness]
E --> F[Operational Decision Support]
The series works to one standard of evidence:
- Traceable constants — constants cite a source or carry an
[ASSUMED]flag, with a confidence tier (T1 standard/paper · T2 derived · T3 practitioner). Modelling assumptions are called out, never dressed as standards. - Analytical checks — hand-calc benchmarks wherever a closed form exists.
- Uncertainty, not point estimates — Monte-Carlo or sensitivity layers around the deterministic cores.
- Reproducibility —
run_all.pyregenerates the figures; releases are archived to Zenodo with permanent DOIs.
If an assumption is not written, it fails silently. If data lineage is not explicit, the decision is not defensible. If a model cannot state its boundary conditions, it is not operational.
Eight packages are archived on Zenodo with a concept DOI (always resolves to the latest version) and a machine-readable CITATION.cff that drives GitHub's "Cite this repository" widget.
@software{rocha_integrity_code_series,
author = {Rocha, Felipe},
title = {Integrity Code Series — physics-first integrity simulators},
year = {2026},
publisher = {Zenodo},
url = {https://github.com/felipearocha},
note = {Concept DOIs resolve to the latest archived release of each package.}
}To reproduce a simulator: pip install -r requirements.txt && python run_all.py.
Open to technical discussion on asset-integrity digitalization, RBI architecture, physics-informed modeling, and engineering-grade automation.






