# Bubble point flash

This function calculates mixture bubble point temperature or pressure depending on the input option.&#x20;

## bubble point

<mark style="color:green;">`POST`</mark> `https://api.olisystems.com/engine/flash/{dbs_file_id}/bubblepoint`

run a bubblepoint temperature or pressure calculation

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |
| Content-Type  | string | application/json       |

{% tabs %}
{% tab title="200 Please look at "API call blueprint" page to find out how to obtain results" %}

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

{% endtab %}
{% endtabs %}

### Request payload

```javascript
{
    "params": {
        "temperature": {
            "value": 30.0,
            "unit": "°C"
        },
        "pressure": {
            "value": 1.5,
            "unit": "atm"
        },
        "calculatedVariable": "pressure",
        "inflows": {
            "unit": "mol",
            "values": {
                "H2O": 50.0,
                "CO2": 10.0,
                "NACL": 20.0,
                "BENZENE": 10.0
            }
        }
    }
}
```

| **params**         | type                                                           | description                                                                                             |
| ------------------ | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| temperature        | [valueObject](https://devdocs.olisystems.com/terms-definition) | specified or initial guess temperature with [unit](https://devdocs.olisystems.com/input-unit-set)       |
| pressure           | [valueObject](https://devdocs.olisystems.com/terms-definition) | specified or initial guess pressure with [unit](https://devdocs.olisystems.com/input-unit-set)          |
| calculatedVariable | string                                                         | variable to be calculated, i.e. "temperature" or "pressure"                                             |
| inflows            | object                                                         | specified inflow species composition, see [Inflows Input](https://devdocs.olisystems.com/inflows-input) |

{% hint style="info" %}
in addition to the inputs shown above some optional properties may also be specified. They can be viewed [here](https://devdocs.olisystems.com/optional-inputs)
{% endhint %}

{% hint style="info" %}
If kinetic reactions are defined in the chemistry model, kinetic calculation inputs are required to be specified. A detailed description can be found [here](https://devdocs.olisystems.com/kinetic-calculation-inputs).
{% endhint %}

### Response (status = PROCESSED)

{% tabs %}
{% tab title="bubble point pressure" %}

```javascript
{
    "code": 200,
    "data": {
        "result": {
        "calculatedVariables": [
                {
                    "name": "pressure",
                    "unit": "atm",
                    "value": 41.88444899543713
                }
            ],
            ...<snip>...
        }
    },
    "message": "Results returned successfully", 
    "status": "PROCESSED"   
}
```

{% endtab %}

{% tab title="bubble point temperature" %}

```javascript
{
    "code": 200,
    "data": {
        "result": {
            "calculatedVariables": [
                {
                    "name": "temperature",
                    "unit": "°C",
                    "value": -74.08896826274247
                }
            ],
            ...<snip>...
        }
    },
    "message": "Results returned successfully", 
    "status": "PROCESSED"
}
```

{% endtab %}
{% endtabs %}

The output of this calculation is the [**stream output** ](https://devdocs.olisystems.com/stream-output-json)which is common result output for all OLI's flash calculations or an [**error**](https://devdocs.olisystems.com/error-output)**.** In addition to this output the result also contains the solution temperature/pressure which can be conveniently retrieved from the **data.result.calculatedVariables** array&#x20;

| data.result.calculatedVariables [\[ { } \]](https://devdocs.olisystems.com/terms-definition) | type   | description                                                                                                                                                |
| -------------------------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                                                                                         | string | name of the calculated variable, i.e. temperature/pressure as specified in JSON input **params.calculatedVariable**                                        |
| value                                                                                        | number | value of the calculated variable                                                                                                                           |
| unit                                                                                         | string | unit of the calculated variable, which is the same as specified in the input initial guess, i.e. **params.pressure.unit/params.temperature.unit** in input |

### Survey Calculation

Survey calculation is supported for the variables below. Please refer to [Survey calculation](https://devdocs.olisystems.com/survey-calculation) for explained input schema.

| supported **params.surveyInputs\[{}].field** |
| -------------------------------------------- |
| "/params/temperature/value"                  |
| "/params/pressure/value"                     |
