Autoclave

This calculation is currently not supported

The oliengine.autoclaveFlash function mimics the autoclave application, which is a high pressure, high temperature hydrometallurgy unit with carefully controlled conditions.

For this example purposes, let's assume the chemistry model file contains H2O, NACL, CO2, and CH4 as inflows in the MSE Thermodynamic framework

JSON input (sample)

{
    "method": "oliengine.autoclaveFlash",
    "params": {
        "ambientTemperature": {
            "value": 40.0,
            "unit": "°C"
        },
        "finalTemperature": {
            "value": 50.0,
            "unit": "°C"
        },
        "finalPressure": {
            "value": 2.0,
            "unit": "atm"
        },
        "vesselVolume": {
            "unit": "L",
            "value": 500.0
        },
        "computeAmbientCondition": true,
        "inflows": {
            "unit": "mol",
            "values": {
                "H2O": 50.0,
                "CO2": 10.0,
                "NACL": 0.1,
                "CH4": 10.0
            },
            "totalAmount":
            {
                "value": 70.1,
                "unit": "mol"
            }
        },
        "gasSpecifications": {
            "targetGases": [
                "CH4",
                "CO2"
            ],
            "specifiedTypePartialPressure": false,
            "unit": "mole %",
            "specifiedGasValues": {
                "CO2": 15.0
            }
        },
        ...<snip>...
}

Most flash calls for OLI API follows a very similar input to describe the calculation with minor variation to specify calculation specific information

A valueObject type is defined as JSON object of the type {"value": number, "unit": "string" }

params.temperature.unit: °C, K, °F, R

params.pressure.unit: atm, bar, barg, mbar, Pa, kPa, MPa, mmHg, Torr, inHg, psia, psig, inH2O, kg/cm2

params.computeAmbientCondition:

true: compute flash at ambient condition;

false: compute flash at final condition

Gas specification

params.gasSpecifications.specifiedTypePartialPressure:

true: targeted gas composition specified by partial pressure. params.gasSpecifications.unit from atm, bar, barg, mbar, Pa, kPa, MPa, mmHg, Torr, inHg, psia, psig, inH2O, kg/cm2

false: targeted gas composition specified by mole fraction(s) in aqueous phase. params.gasSpecifications.unit from mol/mol, mole %, ppm (mole)

params.gasSpecifications.specifiedGasValues: The number of specified gas should be the number of gasSpecifications.targetGases -1

params.gasSpecifications.targetGases and the keys of params.gasSpecifications.specifiedGasValues are the inflow names of gas species, which can be retrieved from oliengine.getChemistryInfo call under result.inflows.

Optional inputs

Some optional inputs can be specified in JSON input, see Optional Inputs.

JSON output (example)

{
    "result": {
        "phases": {
            "liquid1": {
                ...<snip>...
                }
            },
            "vapor": {
                ...<snip>...
            },
            "solid": {
                ...<snip>...
            },
            "liquid2": {
                ...<snip>...
            }
        },
        "phaseSummary": [
            {
                "phase": "liquid1",
                "found": true
            },
            {
                "phase": "vapor",
                "found": true
            },
            {
                "phase": "solid",
                "found": false
            },
            {
                "phase": "liquid2",
                "found": false
            }
        ],
        "total": {
            "totalMolecularMoles": {
                "value": 85.54088467359415,
                "unit": "mol"
            },
            ...<snip>...
        },
        "calculatedVariable": [
            {
                "type": "calculatedParameter",
                "name": "ambientTemperature",
                "value": 40.0,
                "unit": "°C"
            },
            {
                "type": "calculatedParameter",
                "name": "ambientPressure",
                "value": 1.892610720086249,
                "unit": "atm"
            },
            {
                "type": "calculatedParameter",
                "name": "finalTemperature",
                "value": 50.0,
                "unit": "°C"
            },
            {
                "type": "calculatedParameter",
                "name": "finalPressure",
                "value": 2.0,
                "unit": "atm"
            },
            {
                "type": "calculatedParameter",
                "name": "vesselVolume",
                "value": 500.0,
                "unit": "L"
            },
            {
                "type": "inflow",
                "name": "CH4",
                "value": 35.43088467359407,
                "unit": "mol"
            },
            {
                "type": "inflow",
                "name": "CO2",
                "value": 0.009999999999999998,
                "unit": "mol"
            }
        ]
    }
}

This represents the stream output JSON, which is common to all OLI's flash calculation results. Here a condensed version of the output is shown with many major parts removed. A better description of the stream output is given here: Stream output JSON

Last updated