Corrosion rates

This function calculates the corrosion rates of a given metal contact surface under a specified solution condition.

This calculation is currently only supported for the AQ thermodynamic framework

corrosion rates

POST https://api.olisystems.com/engine/flash/{dbs_file_id}/corrosion-rates

calculate the corrosion rate

Headers

NameTypeDescription

Authorization

string

Bearer {access_token}

Content-Type

string

application/json

{
	"code": 200,
	"data": {
		"file_id": "dee854a6-59db-487d-ad08-a20dee691133",
		"jobId": "f6b3375e-cd0f-4ace-a5ee-71e047b76754",
		"resultsLink": "https://api.olisystems.com/result/flash/f6b3375e-cd0f-4ace-a5ee-71e047b76754?context=engine",
		"status": "IN PROGRESS"
	},
	"message": "Process execution started Successfully",
	"status": "SUCCESS"
}

Request payload

{
    "params": {
        "temperature": {
            "value": 40.0,
            "unit": "°C"
        },
        "pressure": {
            "value": 1.5,
            "unit": "atm"
        },
        "calculationType": "isothermal",
        "inflows": {
            "unit": "mol",
            "values": {
                "H2O": 50.0,
                "NACL": 0.01,
                "HNO3": 1,
                "FEEL": 0.0
            },
            "totalAmount":
            {
                "value": 51.01,
                "unit": "mol"
            }
        },
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "static"
        }
}

params

type

description

temperature

specified or initial guess temperature with unit

pressure

specified or initial guess pressure with unit

calculationType

string

single point flash calculation type of solution, e.g. isothermal

params.calculationType currently only supports the "isothermal" type.

Corrosion parameters

params.corrosionParameters

type

description

contactSurface

string

contact surface metal name, which can be retrieved from Corrosion contact surfaces

flowType

string

flow configuration

Options for flowType

params.corrosionParameters.flowType

description

static

mimics static flow

pipeFlow

mimics pipe flow

rotatingDisk

several parallel disks that are rotating

rotatingCylinder

several parallel cylinders that are rotating

completeAgitation

liquid phase is completely agitated and no mass transfer limitations apply

definedShearStress

define the stress of applied force over material

approximateMultiPhaseFlow

mimics an approximate multi-phase flow

Additional corrosion parameters may be required for different flow types, which are explained as below

Additional parameters if flowType is pipeFlow

{
    "params": {
        ...<snip>...,
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "pipeFlow",
            "pipeDiameter": {
                "value": 0.05,
                "unit": "m"
            },
            "pipeFlowVelocity": {
                "value": 6.0,
                "unit": "ft/s"
            }
        },
        ...<snip>...
}

params.corrosionParameters

type

description

pipeDiameter

pipe diameter and unit

pipeFlowVelocity

pipe flow velocity and unit

Additional parameters if flowType is rotatingDisk

{
    "params": {
        ...<snip>...,
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "rotatingDisk",
            "diskDiameter": {
                "value": 0.6,
                "unit": "in"
            },
            "diskRotationSpeed": {
                "value": 15.0,
                "unit": "cycle/s"
            }
        },
        ...<snip>...
}

params.corrosionParameters

type

description

diskDiameter

disk diameter and unit

diskRotationSpeed

disk rotation speed and unit

Additional parameters if flowType is rotatingCylinder

{
    "params": {
        ...<snip>...,
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "rotatingCylinder",
            "rotorDiameter": {
                "value": 5,
                "unit": "mm"
            },
            "rotorRotation": {
                "value": 1000,
                "unit": "cycle/min"
            }
        },
        ...<snip>...
}

params.corrosionParameters

type

description

rotorDiameter

rotor diameter and unit

rotorRotation

rotor rotation speed and unit

Additional parameters if flowType is definedShearStress

{
    "params": {
        ...<snip>...,
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "definedShearStress",
            "shearStress": {
                "value": 0.01,
                "unit": "kPa"
            }
        },
        ...<snip>...
}

params.corrosionParameters

type

description

shearStress

shear stress and unit

Additional parameters if flowType is approximateMultiPhaseFlow

{
    "params": {
        ...<snip>...,
        "corrosionParameters":
        {
            "contactSurface": "Carbon steel G10100 (generic)",
            "flowType": "approximateMultiPhaseFlow",
            "pipeDiameter": {
                "value": 10.0,
                "unit": "cm"
            },
            "liquidFlowInPipe": {
                "value": 0.2,
                "unit": "m3/s"
            },
            "gasFlowInPipe": {
                "value": 0.1,
                "unit": "m3/s"
            },
            "pipeRoughness": {
                "value": 0.15,
                "unit": "cm"
            },
            "viscAbs2ndLiq": {
                "value": 15.0,
                "unit": "cP"
            },
            "waterCutAtPointOfDispersionInversion": 0.7,
            "maxRelViscosityOfDispersionAtInversion": 10.0
        },
        ...<snip>...
}

params.corrosionParameters

type

description

pipeDiameter

pipe diameter and unit

liquidFlowInPipe

liquid flow in pipe and unit

gasFlowInPipe

gas flow in pipe and unit

pipeRoughness

pipe roughness and unit

viscAbs2ndLiq

absolute viscosity of 2nd liquid and unit

waterCutAtPointOfDispersionInversion

number

water cut at point of dispersion inversion

maxRelViscosityOfDispersionAtInversion

number

max relative viscosity of dispersion at inversion

in addition to the inputs shown above some optional properties may also be specified. They can be viewed here

Response (status = "PROCESSED")

{
    "code": 200,
    "data": {
        "result": {
           ...<snip>...
            "corrosionOutputs": {
                "corrosionPotential": {
                    "value": -0.2751504098799078,
                    "unit": "V (SHE)"
                },
                "repassivationPotential": {
                    "value": -0.4851063187462839,
                    "unit": "V (SHE)"
                },
                "corrosionRateGPerMsqDay": {
                    "value": 382.2467320945027,
                    "unit": "g/m3-day"
                },
                "corrosionRateMmPerYear": {
                    "value": 17.728088591422296,
                    "unit": "mm/yr"
                },
                "corrosionRateMilPerYear": {
                    "value": 697.9562437567834,
                    "unit": "mil/yr"
                },
                "corrosionCurrentDensity": {
                    "value": 15.288766842782513,
                    "unit": "A/sq-m"
                },
                "maximumPitCurrentDensity": {
                    "value": 23.87887042448192,
                    "unit": "A/sq-m"
                }
            }
        }
    }, 
    "message": "Results returned successfully", 
    "status": "PROCESSED"
}

The output of this calculation is the stream output which is common result output for all OLI's flash calculations or an error. In addition to this output the the corrosion output information can be conveniently retrieved from the data.result.corrosionOutputs array

data.result.corrosionOutputs

type

description

corrosionPotential

corrosion potential

repassivationPotential

repassivation potential

corrosionRateGPerMsqDay

corrosion rate in gram per cubic meter day

corrosionRateMmPerYear

corrosion rate in mm per year

corrosionRateMilPerYear

corrosion rate in mil per year

corrosionCurrentDensity

corrosion current density

maximumPitCurrentDensity

maximum pit current density

All output units are fixed to what is shown in this example

Survey Calculation

Survey calculation is supported for the variables below. Please refer to Survey calculation for explained input schema.

supported params.surveyInputs[{}].field

"/params/temperature/value"

"/params/pressure/value"

Last updated