Skip to content

Latest commit

 

History

History
140 lines (102 loc) · 5.34 KB

File metadata and controls

140 lines (102 loc) · 5.34 KB

PRD for Phase 1 Corrosion Prediction Module

Project Objective Build the first working version of the corrosion prediction pipeline using the currently available electrochemical datasets. The goal is to validate the ML workflow using polarization curve data and derived corrosion parameters. This phase focuses only on corrosion behavior prediction. Mechanical data such as nanoindentation serrations will be integrated in later phases.

Scope of Phase 1 Use the available corrosion datasets to build a machine learning model that learns the relationship between electrochemical behavior and corrosion severity under different environmental concentrations. The model will serve as the baseline corrosion prediction module for the full project.

Available Data The system will use three corrosion datasets already collected.

Dataset 1 Excel file containing potentiodynamic polarization data. Each curve contains potential values and corresponding current values for different solution concentrations such as 0.01M, 0.1M and 1M.

Dataset 2 Document containing processed corrosion parameters extracted from experiments. Parameters include corrosion potential, corrosion current, corrosion rate and impedance related measurements.

Dataset 3 Additional corrosion data describing alloy behavior under different environmental conditions.

The polarization curves represent electrochemical corrosion behavior of the material and will be converted into numerical features.

Expected Input Structure The pipeline should support two types of input.

Raw polarization curve data Potential V Current A Environment concentration

Derived corrosion parameters Ecorr Icorr corrosion rate impedance parameters if available

Feature Engineering Requirements The system must convert polarization curves into machine learning features. From each curve compute the following values.

Corrosion potential Ecorr Corrosion current Icorr Maximum current value Anodic slope of the curve Cathodic slope of the curve Potential at rapid current increase which indicates breakdown or pitting behavior

Each polarization curve must be summarized into a single feature row.

Example training row structure

sample_id environment_concentration Ecorr Icorr max_current anodic_slope cathodic_slope breakdown_potential

Data Processing Steps Load all datasets into a unified format. Clean missing values and remove incomplete rows. Separate curves based on concentration or experiment condition. Compute the required electrochemical features from each curve. Merge curve features with corrosion parameter data if available. Create a final structured dataset for machine learning.

Prediction Target The Phase 1 model will predict corrosion severity.

Define corrosion severity classes using corrosion current or corrosion rate values.

Possible categories

Low corrosion Medium corrosion High corrosion

This allows the model to learn corrosion behavior even with a limited dataset.

Model Selection Use classical machine learning models suited for small tabular datasets.

Recommended models

Random Forest classifier as baseline Gradient Boosting model XGBoost model for comparison

The first implementation should use Random Forest because it handles nonlinear electrochemical relationships and small datasets effectively.

Training Procedure Split the dataset into training and testing sets. Recommended split is 80 percent training and 20 percent testing. Train the Random Forest model on the extracted features. Evaluate performance using classification accuracy and confusion matrix.

Model Output For each input sample the model should output

Predicted corrosion severity class Probability score for each class

The system should also compute feature importance to determine which electrochemical parameters influence corrosion prediction most strongly.

System Architecture Create a structured project directory.

data folder for raw corrosion datasets features folder for processed feature tables models folder for trained models notebooks folder for experiments and visualization src folder for feature extraction and training scripts

Main pipeline flow

Load corrosion data Extract electrochemical features from polarization curves Build structured dataset Train Random Forest model Evaluate prediction performance Save trained model

Expected Deliverables for Phase 1 Working data processing pipeline for corrosion datasets Feature extraction system for polarization curves Baseline Random Forest corrosion prediction model Evaluation metrics and feature importance analysis

Future Extensions This pipeline will later integrate mechanical signals from nanoindentation serration sequences. When those datasets are available the feature space will expand to include mechanical instability indicators and time series models such as LSTM will be introduced.

Phase 1 therefore establishes the corrosion prediction foundation that will support the full corrosion fracture prediction system later in the project.

Summary of Completed Work (as of now)

  • Phase 1: Corrosion Prediction Foundation (LSTM, RF, Heuristic) are fully implemented and verified on synthetic and real Mg datasets.
  • Phase 2: Serration Module (burst-finding, 22 features, RF) is fully implemented in src/phase_2_serration/.
  • Phase 3: Fusion System (GB, NN dual-branch) is fully implemented in src/phase_3_fusion/.
  • Integrated Pipeline: run_pipeline.py is available and supports all 3 phases.