calc_liquid_component_fugacity
Calculate the fugacity of a single-liquid component using Peng-Robinson, Soave-Redlich-Kwong, Redlich-Kwong, or van der Waals equations of state. Supports Poynting correction for accurate thermodynamic modeling.
Instructions
This function calculates the fugacity of single-liquid component using different equation of states (EOS) including Peng-Robinson (PR), Soave-Redlich-Kwong (SRK), Redlich-Kwong (RK), and van der Waals (vdW). The fugacity is calculated based on the EOS used for the gas phase and Poynting correction.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
component | Yes | Component name and properties | |
eos_model | No | EOS model to use, e.g., 'SRK', 'PR' | SRK |
liquid_fugacity_mode | No | Mode for liquid fugacity calculation, 'EOS' or 'Poynting' | EOS |
pressure | Yes | Pressure of the system | |
solver_method | No | Solver method for fugacity calculation, e.g., 'least-square method', 'fsolve', 'root' | ls |
temperature | Yes | Temperature of the system |
Input Schema (JSON Schema)
{
"$defs": {
"Component": {
"description": "Component model for input validation",
"properties": {
"formula": {
"description": "Chemical formula of the component",
"title": "Formula",
"type": "string"
},
"mole_fraction": {
"default": 1,
"description": "Mole fraction of the component in a mixture, if applicable",
"title": "Mole Fraction",
"type": "number"
},
"name": {
"description": "Name of the component",
"title": "Name",
"type": "string"
},
"state": {
"description": "State of the component: 'g' for gas, 'l' for liquid, 's' for solid",
"enum": [
"g",
"l",
"s"
],
"title": "State",
"type": "string"
}
},
"required": [
"name",
"formula",
"state"
],
"title": "Component",
"type": "object"
},
"Pressure": {
"description": "Pressure model for input validation",
"properties": {
"unit": {
"description": "Pressure unit, e.g., 'bar', 'atm', 'Pa'",
"title": "Unit",
"type": "string"
},
"value": {
"description": "Pressure value",
"title": "Value",
"type": "number"
}
},
"required": [
"value",
"unit"
],
"title": "Pressure",
"type": "object"
},
"Temperature": {
"description": "Temperature model for input validation",
"properties": {
"unit": {
"description": "Temperature unit, e.g., 'K', 'C', 'F'",
"title": "Unit",
"type": "string"
},
"value": {
"description": "Temperature value",
"title": "Value",
"type": "number"
}
},
"required": [
"value",
"unit"
],
"title": "Temperature",
"type": "object"
}
},
"properties": {
"component": {
"$ref": "#/$defs/Component",
"description": "Component name and properties",
"title": "Component"
},
"eos_model": {
"default": "SRK",
"description": "EOS model to use, e.g., 'SRK', 'PR'",
"enum": [
"PR",
"SRK",
"RK",
"vdW"
],
"title": "Eos Model",
"type": "string"
},
"liquid_fugacity_mode": {
"default": "EOS",
"description": "Mode for liquid fugacity calculation, 'EOS' or 'Poynting'",
"enum": [
"EOS",
"Poynting"
],
"title": "Liquid Fugacity Mode",
"type": "string"
},
"pressure": {
"$ref": "#/$defs/Pressure",
"description": "Pressure of the system",
"title": "Pressure"
},
"solver_method": {
"default": "ls",
"description": "Solver method for fugacity calculation, e.g., 'least-square method', 'fsolve', 'root'",
"enum": [
"ls",
"fsolve",
"root"
],
"title": "Solver Method",
"type": "string"
},
"temperature": {
"$ref": "#/$defs/Temperature",
"description": "Temperature of the system",
"title": "Temperature"
}
},
"required": [
"component",
"temperature",
"pressure"
],
"type": "object"
}