Claude Code Plugins

Community-maintained marketplace

Feedback

cathodic-protection

@vamseeachanta/digitalmodel
3
0

Expert Electrical Engineer specializing in cathodic protection (CP) systems for oil and gas industry. Use for CP system design, corrosion prevention, sacrificial anode calculations, impressed current systems, pipeline integrity, coating defects, and NACE/ISO standards compliance.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name cathodic-protection
description Expert Electrical Engineer specializing in cathodic protection (CP) systems for oil and gas industry. Use for CP system design, corrosion prevention, sacrificial anode calculations, impressed current systems, pipeline integrity, coating defects, and NACE/ISO standards compliance.
version 1.0.0
updated Thu Jan 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
category offshore-engineering
triggers cathodic protection, corrosion prevention, sacrificial anode, impressed current, ICCP system, SACP system, pipeline CP, anode design, NACE standards, ISO 15589, DNV-RP-B401, coating breakdown, stray current

Cathodic Protection Skill

Expert guidance on cathodic protection (CP) systems for offshore platforms, subsea pipelines, storage tanks, and onshore oil and gas facilities.

When to Use

  • CP system design (SACP and ICCP)
  • Anode calculation and spacing
  • Transformer rectifier unit sizing
  • Pipeline CP design
  • Coating breakdown assessment
  • AC/DC interference analysis
  • CP monitoring system design
  • NACE/ISO/DNV compliance

Domain Expertise

Cathodic Protection Systems

System Type Applications
SACP (Sacrificial Anode) Offshore structures, pipelines, short-term protection
ICCP (Impressed Current) Long pipelines, complex structures, retrofit
Hybrid Combined systems for optimal protection

Anode Materials

Material Application Environment
Al-Zn-In Marine, seawater Offshore, subsea
Magnesium Soil, freshwater Onshore pipelines
MMO (Mixed Metal Oxide) ICCP anodes All environments
Graphite Deep well anodes Soil, groundbeds
High-silicon iron Groundbeds Soil

Industry Standards

Standard Scope
NACE SP0169 External corrosion control of pipelines
NACE SP0177 Mitigation of AC and lightning effects
NACE SP0286 Electrical isolation of CP systems
NACE RP0176 Corrosion control of steel fixed offshore platforms
ISO 15589-1 Pipelines - Onshore
ISO 15589-2 Pipelines - Offshore
DNV-RP-B401 Cathodic protection design
API RP 651 Cathodic protection of aboveground tanks
API RP 1632 Cathodic protection of underground tanks

CP Design Calculations

Anode Mass Calculation

from digitalmodel.modules.cp import AnodeDesign

# Initialize anode designer
anode = AnodeDesign()

# Calculate required anode mass
result = anode.calculate_mass(
    structure={
        "surface_area": 5000,  # m2
        "coating_efficiency": 0.95,  # 95% coating
        "bare_area": 250  # m2 (5% of total)
    },
    environment={
        "resistivity": 0.25,  # ohm-m (seawater)
        "temperature": 15,  # Celsius
        "water_depth": 100  # m
    },
    design={
        "current_density": 0.03,  # A/m2 (mean)
        "design_life": 25,  # years
        "utilization_factor": 0.85,
        "anode_material": "Al-Zn-In"
    }
)

print(f"Total current required: {result['current_required']:.2f} A")
print(f"Total anode mass: {result['mass_required']:.0f} kg")
print(f"Number of anodes: {result['anode_count']}")
print(f"Anode spacing: {result['spacing']:.1f} m")

Pipeline Attenuation

from digitalmodel.modules.cp import PipelineCP

# Initialize pipeline CP designer
pipeline = PipelineCP()

# Calculate attenuation and CP spread
result = pipeline.calculate_attenuation(
    pipeline={
        "length": 50000,  # m (50 km)
        "diameter": 0.914,  # m (36 inch)
        "wall_thickness": 0.0254,  # m (1 inch)
        "coating_type": "FBE",
        "coating_resistance": 10000  # ohm-m2
    },
    soil={
        "resistivity": 50,  # ohm-m
        "type": "clay"
    },
    cp_stations={
        "type": "ICCP",
        "voltage": -1.1,  # V vs Cu/CuSO4
        "locations": [0, 25000, 50000]  # m
    }
)

print(f"Attenuation constant: {result['attenuation_constant']:.6f} 1/m")
print(f"Effective CP spread: {result['effective_spread']:.0f} m")
print(f"Minimum potential: {result['min_potential']:.3f} V")
print(f"Protection criteria met: {result['criteria_met']}")

Coating Breakdown Factor

from digitalmodel.modules.cp import CoatingAnalysis

coating = CoatingAnalysis()

# Calculate coating breakdown factor
cbf = coating.calculate_breakdown_factor(
    coating_type="3LPE",
    initial_quality=0.99,  # 99% initial efficiency
    design_life=25,  # years
    temperature=65,  # Celsius (operating)
    method="DNV-RP-F103"  # or ISO 15589
)

print(f"Initial CBF: {cbf['initial']:.4f}")
print(f"Mean CBF: {cbf['mean']:.4f}")
print(f"Final CBF: {cbf['final']:.4f}")
print(f"Bare area at design life: {cbf['bare_area_percentage']:.1f}%")

ICCP System Design

Transformer Rectifier Sizing

from digitalmodel.modules.cp import ICCPDesign

iccp = ICCPDesign()

# Size transformer rectifier unit
tru = iccp.size_tru(
    current_requirement={
        "initial": 50,  # A
        "mean": 75,  # A
        "final": 100  # A
    },
    anode_string={
        "resistance": 0.5,  # ohm
        "count": 10,
        "type": "MMO"
    },
    cable={
        "length": 500,  # m
        "type": "XLPE",
        "size": 25  # mm2
    },
    safety_factor=1.25
)

print(f"TRU Rating: {tru['power_rating']:.1f} kW")
print(f"Output Voltage: {tru['voltage']:.1f} V DC")
print(f"Output Current: {tru['current']:.1f} A")
print(f"Efficiency: {tru['efficiency']:.1f}%")

Deep Well Anode Design

# Design deep well anode groundbed
groundbed = iccp.design_groundbed(
    type="deep_well",
    soil_resistivity=100,  # ohm-m
    current_output=50,  # A
    design_life=30,  # years
    anode_material="graphite"
)

print(f"Well depth: {groundbed['depth']:.1f} m")
print(f"Anode count: {groundbed['anode_count']}")
print(f"Anode length: {groundbed['anode_length']:.1f} m")
print(f"Groundbed resistance: {groundbed['resistance']:.3f} ohm")

Monitoring and Assessment

Remote Monitoring System

from digitalmodel.modules.cp import CPMonitoring

monitoring = CPMonitoring()

# Design monitoring system
system = monitoring.design_system(
    structure_type="offshore_platform",
    monitoring_points=25,
    parameters=[
        "potential",
        "current",
        "temperature",
        "reference_electrode_check"
    ],
    communication="satellite",
    data_interval=3600  # seconds
)

print(f"Monitoring units: {system['unit_count']}")
print(f"Reference electrodes: {system['reference_electrodes']}")
print(f"Communication: {system['communication_type']}")

Survey Analysis

from digitalmodel.modules.cp import SurveyAnalysis

survey = SurveyAnalysis()

# Analyze CIPS/CIS survey data
analysis = survey.analyze_cips(
    data_file="pipeline_survey.csv",
    criteria={
        "on_potential": -0.85,  # V vs Cu/CuSO4
        "off_potential": -0.85,
        "100mV_shift": True
    }
)

print(f"Protected length: {analysis['protected_percentage']:.1f}%")
print(f"Under-protected sections: {len(analysis['under_protected'])}")
print(f"Coating defects detected: {len(analysis['coating_defects'])}")

# Analyze DCVG survey
dcvg = survey.analyze_dcvg(
    data_file="dcvg_survey.csv"
)

for defect in dcvg['defects']:
    print(f"Defect at {defect['chainage']}m: {defect['severity']} ({defect['ir_drop']}mV)")

Interference Analysis

AC Interference

from digitalmodel.modules.cp import InterferenceAnalysis

interference = InterferenceAnalysis()

# Analyze AC interference from power line
ac_analysis = interference.analyze_ac(
    pipeline={
        "length": 10000,  # m parallel exposure
        "coating_resistance": 10000,  # ohm-m2
        "diameter": 0.6  # m
    },
    power_line={
        "voltage": 400000,  # V
        "current": 500,  # A
        "separation": 50  # m
    },
    soil_resistivity=100  # ohm-m
)

print(f"Induced AC voltage: {ac_analysis['voltage']:.1f} V")
print(f"AC current density: {ac_analysis['current_density']:.2f} A/m2")
print(f"Mitigation required: {ac_analysis['mitigation_required']}")

Stray Current

# Analyze DC stray current
dc_analysis = interference.analyze_stray_current(
    pipeline={
        "coating_resistance": 10000,  # ohm-m2
        "length": 5000  # m affected
    },
    source={
        "type": "railway",
        "current": 1000,  # A
        "distance": 100  # m
    }
)

print(f"Stray current pickup: {dc_analysis['pickup_current']:.2f} A")
print(f"Discharge current density: {dc_analysis['discharge_density']:.4f} A/m2")
print(f"Corrosion rate: {dc_analysis['corrosion_rate']:.2f} mm/year")

MCP Tool Integration

Swarm Coordination

// Initialize CP design swarm
mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 4 }

// Spawn specialized agents
mcp__claude-flow__agent_spawn { type: "analyst", name: "cp-calculator" }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "standards-checker" }

Memory Coordination

// Store CP design parameters
mcp__claude-flow__memory_usage {
  action: "store",
  key: "cp/design/parameters",
  namespace: "corrosion",
  value: JSON.stringify({
    structure: "offshore_platform",
    system: "SACP",
    design_life: 25,
    standards: ["DNV-RP-B401", "NACE SP0176"]
  })
}

Design Workflow

CP System Design Process

  1. Environment Assessment

    • Soil/water resistivity
    • Temperature
    • Oxygen content
    • Biological activity
  2. Current Requirement

    • Surface area calculation
    • Coating efficiency
    • Current density selection
  3. System Selection

    • SACP vs ICCP decision
    • Hybrid considerations
  4. Component Design

    • Anode sizing and distribution
    • Cable sizing
    • TRU specification (ICCP)
  5. Interference Analysis

    • AC/DC interference
    • Stray current
    • Galvanic interaction
  6. Monitoring Design

    • Reference electrode placement
    • Test point locations
    • Remote monitoring

Best Practices

  1. Conservatism: Apply appropriate safety factors
  2. Standards Compliance: Follow NACE/ISO requirements
  3. Design Life: Consider coating degradation over time
  4. Monitoring: Design for long-term performance tracking
  5. Documentation: Record all assumptions and calculations

Related Skills

References

  • NACE International Standards
  • ISO 15589-1/2: Cathodic Protection of Pipelines
  • DNV-RP-B401: Cathodic Protection Design
  • API RP 651/1632: Tank Cathodic Protection
  • Agent Source: agents/cathodic-protection-engineer.md

Version History

  • 1.0.0 (2025-01-02): Initial release from agents/cathodic-protection-engineer.md