💧
OLI API
  • Welcome to the OLI API documentation
  • Basic workflow
  • Authentication
    • Bearer Token
    • API Keys
      • Generate a Key
      • List All Keys
      • Delete a Key
  • Generating chemistry model files
    • ChemBuilder API
      • Getting Started with ChemBuilder
        • Set Thermodynamic Framework
        • Include Private Databanks
        • Include Inflows
          • Include Assays
          • Include Pseudocomponent
        • Choose Phases
        • Specify Model Name
        • Choose Redox
        • Choose Solids
        • Add Kinetics
      • ChemBuilder Query
        • Species Query
        • Redox Query
        • Solid Phase Query
        • Databank Query
        • Kinetics Query
        • Query Output Results
      • Supporting Information for ChemBuilder
        • Add Comment
        • "enabled" Keyword
        • ChemBuilder Errors
    • Chemistry Wizard
  • Uploading chemistry model files
  • Get list of uploaded files
  • Quickstart example: Python
  • Known issues and Limitations
  • OLI ENGINE API
    • Main methods
      • API call blueprint
      • Chemistry information
      • Isothermal flash
      • Isenthalpic flash
      • Bubble point flash
      • Dew point flash
      • Vapor amount flash
      • Vapor fraction flash
      • Isochoric flash
      • set pH flash
      • Precipitation point flash
      • Autoclave
      • Custom flash
      • Corrosion contact surfaces
      • Corrosion rates
      • Water analysis
  • Additional methods
    • Flash history - Chemistry model
    • Result - by jobId
    • delete file
    • cancel run
  • Inflows input
  • Optional inputs
  • Kinetic calculation inputs
  • Kinetic calculation outputs
  • Input units
  • User defined output unit set
  • Survey calculation
  • Stream output
  • Error/Warning output
  • Definition of terms
  • OLI Process API
    • Uploading a Process API package
      • Creating a Process API package
    • Get list of all uploaded ProcessAPI packages
    • Get input specs for Process API package
    • Get output specs for ProcessAPI package
    • Run a Process API calculation
    • Get calculation status and results
  • Deleting a process package
  • Undelete a process package
  • Process API input specification
    • "data" object
      • "flowsheet" object
        • "chemical-info" object
        • "general-info" object
        • "properties" object
        • "units_set_info" object
  • OLI ScaleChem API
    • Uploading chemistry model files for ScaleChem API
    • Get list of uploaded ScaleChem model files
    • Main methods
      • Brine analysis
      • Gas analysis
      • Oil analysis
      • Mixer calculation
      • Scale scenario
Powered by GitBook
On this page
  • custom
  • Request payload
  • JSON output (status = PROCESSED)
  • Survey Calculation

Was this helpful?

  1. OLI ENGINE API
  2. Main methods

Custom flash

This function calculates equilibrium condition with any number of fixed and freed system parameters.

custom

POST https://api.olisystems.com/engine/flash/{dbs_file_id}/custom

run a custom equilibrium calculation

Headers

Name
Type
Description

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"
        },
        "fixedVars": [
            {
                "type": "vaporPhaseComposition",
                "name": "BENZENEVAP",
                "value": 16.0,
                "unit": "mole %"
            },
            {
                "type": "property",
                "name": "volume",
                "value": 440.0,
                "unit": "L"
            }
        ],
        "freedVars": [
            {
                "type": "inflow",
                "name": "BENZENE",
                "value": 0.0,
                "unit": "mol"
            },
            {
                "type": "state",
                "name": "temperature",
                "value": 0.0,
                "unit": "°C"
            }
        ],
        "inflows": {
            "unit": "mol",
            "values": {
                "H2O": 50.0,
                "BENZENE": 10.0,
                "CH4": 20.0,
                "NACL": 35.0
            },
            "totalAmount":
            {
                "value": 115.0,
                "unit": "mol"
            }
        }
}

params

type

description

temperature

pressure

fixedVars

array of objects

list of objects to describe fixed flash output variables

freedVars

array of objects

list of objects to describe freed flash input variables

The sizes of the object arrays, params.fixedVars and params.freedVars must be equal

Here is a description of the type and name attributes for the params.fixedVars array

params.fixedVars[index_number].type

params.fixedVars[index_number].name

property

volume, enthalpy, pH

liquid1PhaseComposition

species name of liquid phase

liquid2PhaseComposition

species name of liquid phase

vaporPhaseComposition

species name of vapor phase

solid

species name of solid phase

Here is a description of the unit attribute for the params.fixedVars array

params.fixedVars[index_number].type or .name

params.fixedVars[index_number].unit

liquid1PhaseComposition, liquid2PhaseComposition, vaporPhaseComposition

mol/mol, mole %, ppm (mole)

solid

mol, kgmol, lbmol, mmol, µmol, (mol/100)

volume

L, ml, cm3, m3, E3m3, E6m3, ft3, Mft3, MMft3, gal, MMgal, bbl

enthalpy

cal, E3cal, E6cal, J, kJ, MJ, Btu, MMBtu

This section explains the available flash input variables can be freed for this calculation

params.freedVars[index_number].type

params.freedVars[index_number].name

params.freedVars[index_number].unit

state

temperature

°C, K, °F, R

state

pressure

atm, bar, barg, mbar, Pa, kPa, MPa, mmHg, Torr, inHg, psia, psig, inH2O, kg/cm2

inflow

inflow name

mol, kgmol, lbmol, mmol, µmol, (mol/100)

JSON output (status = PROCESSED)

{
    "code": 200,
    "data": {
        "result": {
            ...<snip>...
            "calculatedVariables": [
                {
                    "name": "BENZENE",
                    "value": 4.048793029736938,
                    "unit": "mol"
                },
                {
                    "name": "temperature",
                    "value": 45.5766850916292,
                    "unit": "°C"
                }
            ]
        }
    }, 
    "message": "Results returned successfully", 
    "status": "PROCESSED"
}

type

description

name

string

name of calculated variable

value

number

value of calculated variable

unit

string

unit of the calculated variable

Survey Calculation

supported params.surveyInputs[{}].field

"/params/temperature/value"

"/params/pressure/value"

"/params/fixedVars/i/value" where i is the index (0 based) of params.fixedVars to be surveyed

"/params/freedVars/i/value" where i is the index (0 based) of params.freedVars to be surveyed

PreviousAutoclaveNextCorrosion contact surfaces

Last updated 8 months ago

Was this helpful?

specified or initial guess temperature with

specified or initial guess pressure with

species name can be retrieved from under result.species(trueName), respectively.

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

The output of this calculation is the which is common result output for all OLI's flash calculations or an . In addition to this output the result also contains the values of the free variables which can be conveniently retrieved from the result.calculatedVariables array

result.calculatedVariables

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

chemistry information call
here
stream output
error
Survey calculation
valueObject
unit
valueObject
unit
[{}]