Skip to main content
Glama
puran-water

Corrosion Engineering MCP Server

by puran-water
README.md9.08 kB
# Validation Framework - Phase 0 This directory contains validation datasets and benchmarking tools for the corrosion engineering MCP server. --- ## Validation Strategy The MCP server uses a **3-source validation approach**: 1. **NRL Experimental Data** ✅ (Available on GitHub) 2. **NORSOK M-506 Benchmarks** ⚠️ (Pending - External Contact Required) 3. **Ohio University FREECORP** ⚠️ (Pending - External Contact Required) --- ## 1. NRL (U.S. Naval Research Laboratory) Data ### Status: ✅ **AVAILABLE** **Source**: USNavalResearchLaboratory/corrosion-modeling-applications (MIT License) **GitHub Repository**: https://github.com/USNavalResearchLaboratory/corrosion-modeling-applications **Datasets Available**: - **Galvanic Series**: `cma/SeawaterPotentialData.xml` - MIL-HDBK-1004/6 galvanic potentials in seawater - Already integrated into `utils/material_database.py` - **Polarization Curves**: `polarization-curve-modeling/` - `SS316ORRCoeffs.csv` - Oxygen reduction reaction coefficients for SS316 - `SS316HERCoeffs.csv` - Hydrogen evolution reaction coefficients for SS316 - Regression coefficients for ORR/HER/passive/pitting fits - Integrated into `databases/electrochemistry.yaml` **Validation Use**: - Tier 2 galvanic corrosion tool validation - Tier 2 localized corrosion (pitting) validation - Electrochemical kinetics parameter benchmarking **Integration Status**: - ✅ Galvanic series: Loaded in `AuthoritativeMaterialDatabase` - ✅ Polarization coefficients: Documented in `electrochemistry.yaml` - ⚠️ Full CSV parsing: TODO in Phase 0 completion --- ## 2. NORSOK M-506 Validation Datasets ### Status: ⚠️ **NOT AVAILABLE** - External Contact Required **Standard**: NORSOK M-506 "CO₂ corrosion rate calculation model" **What's Needed**: - Official validation tables from NORSOK M-506 standard - Test cases with: - Input conditions (T, P, pCO₂, pH, flow velocity) - Expected corrosion rates (mm/year) - de Waard-Milliams correlation validation data **Why Not Available**: - ❌ Not found in dungnguyen2/norsokm506 GitHub repo (implementation only, no test data) - ❌ Not found in corrosion_kb semantic search - ❌ NORSOK standards are proprietary (paywall) **Action Plan**: 1. **Contact NORSOK Standards** (Norway) - Email: info@standard.no - Request: Official validation tables from M-506 - Alternative: Contact DNV (Det Norske Veritas) 2. **Contact dungnguyen2** (GitHub repo author) - Repository: https://github.com/dungnguyen2/norsokm506 - Request: Validation datasets used in development - License: MIT (permissive for data sharing) 3. **Literature Search** - de Waard & Milliams original papers - NACE corrosion prediction papers - Oil & gas industry validation reports **Validation Use (When Available)**: - Tier 1: NORSOK M-506 CO₂ corrosion tool validation - Tier 2: Mechanistic CO₂ corrosion model benchmarking - Cross-validation with Ohio U FREECORP **Interim Approach**: - Use NRL polarization data as partial validation - Synthesize test cases from published papers - Document uncertainty in predictions until official validation --- ## 3. Ohio University FREECORP Datasets ### Status: ⚠️ **NOT AVAILABLE** - External Contact Required **Institution**: Ohio University Institute for Corrosion and Multiphase Technology (ICMT) **What's Needed**: - FREECORP (Free Corrosion Prediction) validation datasets - H₂S/CO₂ mixed-gas corrosion experimental data - MULTICORP parameter sets **Why Not Available**: - ❌ Not found in OU-ICMT/MatlabMulticorp repo (parameter catalogue only, no validation data) - ❌ Not found in corrosion_kb semantic search - ❌ Datasets likely require direct contact with ICMT **Action Plan**: 1. **Contact Ohio University ICMT** - Website: https://www.ohio.edu/engineering/icmt - Email: icmt@ohio.edu - Request: FREECORP validation datasets for academic/research use 2. **Review MULTICORP Documentation** - Repository: https://github.com/OU-ICMT/MatlabMulticorp - File: `multicorp_default_input.xml` contains parameter ranges - Use as reference for parameter validation (not rate prediction) 3. **Published Papers** - Search Ohio U ICMT publications for experimental data - Extract validation cases from peer-reviewed papers **Validation Use (When Available)**: - Tier 1: H₂S corrosion tool validation - Tier 2: Mixed-gas (CO₂ + H₂S) corrosion validation - Tier 3: Uncertainty quantification benchmarking **Interim Approach**: - Use MULTICORP parameter ranges for plausibility checks - Synthesize test cases from published ICMT papers - Document validation gaps in tool outputs --- ## Validation Workflow ### Phase 0 (Current) 1. ✅ Load NRL galvanic series 2. ✅ Load NRL polarization coefficients 3. ⚠️ Document NORSOK/Ohio U as pending 4. ✅ Create validation registry (this README) ### Phase 1 (PHREEQC Integration) - Validate PHREEQC speciation against known equilibria - Benchmark against WaterTAP/degasser-design-mcp results - Cross-check pH predictions ### Phase 2 (Mechanistic Models) - Validate galvanic corrosion against NRL data - Benchmark NORSOK M-506 against published cases - Validate Zargarnezhad coating model (if permeability data obtained) ### Phase 3 (Uncertainty Quantification) - Monte Carlo convergence testing - Sensitivity analysis against experimental variance - Validate uncertainty bounds against FREECORP data (if obtained) --- ## Validation Test Cases (Current) ### NRL Polarization Curves **File**: `validation/nrl_experiments.py` **Test Cases**: - SS316 oxygen reduction reaction (ORR) in seawater - SS316 hydrogen evolution reaction (HER) in seawater - Galvanic potential verification for common alloys **Acceptance Criteria**: - Tafel slopes within ±10% of NRL coefficients - Exchange current densities within ±20% (log scale) - Galvanic potentials within ±50 mV ### Synthetic Benchmarks **File**: `validation/norsok_benchmarks.py` **Test Cases** (Placeholder - awaiting official data): - CO₂ corrosion at 60°C, 10 bar pCO₂, pH 5.5 - Mixed-gas corrosion (CO₂ + H₂S) at various ratios - Velocity effects on corrosion rate **Acceptance Criteria** (Provisional): - Predictions within ±30% of published rates - Correct trend with temperature, pressure, pH - Passes sanity checks (no negative rates, realistic magnitudes) --- ## Running Validation Tests ```bash # Run all validation tests pytest validation/ # Run specific validation suite pytest validation/test_nrl_benchmarks.py -v # Run with coverage pytest validation/ --cov=utils --cov=tools --cov-report=html ``` --- ## Data Provenance All validation data must include: - **Source**: Repository URL or publication DOI - **License**: Ensure redistribution is permitted - **Date Retrieved**: ISO 8601 timestamp - **Version/Commit**: For reproducibility - **Processing**: Document any transformations applied Example: ```yaml source: repo: "USNavalResearchLaboratory/corrosion-modeling-applications" file: "polarization-curve-modeling/SS316ORRCoeffs.csv" url: "https://raw.githubusercontent.com/..." commit: "abc123def456" license: "MIT" retrieved_at: "2025-10-18T10:00:00Z" processing: "Converted CSV to JSON, extracted regression coefficients" ``` --- ## Contacts for External Datasets ### NORSOK M-506 - **Organization**: NORSOK Standards (Norway) - **Email**: info@standard.no - **Alternative**: DNV (Det Norske Veritas) - **Purpose**: Official validation tables from M-506 standard ### Ohio University ICMT - **Organization**: Institute for Corrosion and Multiphase Technology - **Website**: https://www.ohio.edu/engineering/icmt - **Email**: icmt@ohio.edu - **Purpose**: FREECORP validation datasets, H₂S/CO₂ experimental data ### dungnguyen2 (GitHub) - **Repository**: https://github.com/dungnguyen2/norsokm506 - **Purpose**: Validation datasets used in NORSOK M-506 implementation - **License**: MIT (permissive for data sharing) --- ## Validation Status Summary | Dataset | Status | Integration | Phase | |---------|--------|-------------|-------| | **NRL Galvanic Series** | ✅ Available | ✅ Integrated | Phase 0 | | **NRL Polarization Curves** | ✅ Available | ⚠️ Documented | Phase 0 | | **NORSOK M-506 Validation** | ❌ Pending | ❌ Not Available | Phase 1+ | | **Ohio U FREECORP** | ❌ Pending | ❌ Not Available | Phase 2+ | --- ## Next Steps **Immediate (Week 1)**: 1. ✅ Document validation strategy (this README) 2. ⚠️ Parse NRL CSV files into validation test cases 3. ⚠️ Create placeholder test cases for NORSOK/Ohio U **Week 2-3**: 4. ⚠️ Contact NORSOK Standards and Ohio U ICMT 5. ⚠️ Extract validation cases from published papers 6. ⚠️ Update `validation/run_validation.py` with NRL tests **Parallel to Phase 1**: - Continue pursuing external validation datasets - Expand NRL-based validation coverage - Document validation gaps in tool outputs --- **Last Updated**: 2025-10-18 **Phase 0 Completion**: 95% **Validation Coverage**: NRL (100%), NORSOK (0%), Ohio U (0%)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/puran-water/corrosion-engineering-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server