Skip to content

Adding a thermodynamic model in NeqSim

Even Solbraa edited this page May 27, 2021 · 13 revisions

A thermodynamc model is added to NeqSim by adding three classes:

  1. A system class implementing the SystemInterface
  2. A phase class implementing the PhaseInterface
  3. A component class implementing the ComponentInterface.

A number of attractive/repulsive/mixing rules are implemented in NeqSim. If new terms (eg. attractive/repulsive) of EoS should be implemented, see the description below.

The SRK-EoS is implemented by adding the classes: SystemSrkEos, PhaseSrkEosand ComponentSrk

The implementation of an Equation of State is typically based on Michelsen F-functions - and is described in this thesis: https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/231326

Most F-function implementation details are found in the PhaseEoS class and the ComponentEoS class.

Alternative examples of adding a new EoS are:

  1. The sSAFT-EoS (system, phase, component)
  2. UMR-EoS (system, phase, component)

A new alpha term of the EoS is added as described in the following examples: https://github.com/equinor/neqsim/tree/master/src/main/java/neqsim/thermo/component/atractiveEosTerm

Mixing rules are implemented in the following classes: https://github.com/equinor/neqsim/tree/master/src/main/java/neqsim/thermo/mixingRule

πŸš€ Getting Started

Wiki:

  1. Getting started with NeqSim and GitHub
  2. Getting started as a NeqSim developer
  3. The NeqSim parameter database

Docs:


πŸ§ͺ Thermodynamics

Wiki: 4. Setting up a fluid and flash calculations 5. Select EOS and mixing rule 6. Flash and phase envelope calculations 7. Thermodynamic and physical properties

Docs - Fundamentals:

Docs - Equations of State:

Docs - Flash & Operations:


πŸ›’οΈ Fluid Characterization

Wiki: 8. Oil Characterization 9. Aqueous fluids 10. Electrolytes

Docs:


πŸ”¬ Physical Properties

Docs - Overview:

Docs - Specific Models:


βš™οΈ Process Simulation

Wiki: 11. Process Calculations

Docs - Fundamentals:

Docs - Advanced Process Logic:


πŸ”§ Equipment Models

Compressors & Turbomachinery:

Pumps:

Separation:

Heat Transfer:

Valves & Flow Control:

Tanks & Storage:

Streams & Mixers:

Reactors:

Wells:

Energy & Special Equipment:


🌊 Pipeline & Multiphase Flow

Docs - Overview:

Docs - Single Phase Flow:

Docs - Two-Phase & Multiphase:

Docs - Pressure Drop & Friction:

Docs - Heat & Mass Transfer:

Docs - Transient Flow:


πŸ“Š PVT & Black Oil

Docs - PVT Simulation:

Docs - Black Oil:

Docs - Gas Quality:


🧊 Flow Assurance

Docs - Asphaltene:


⚑ Dynamic & Transient Simulation

Wiki: 18. Dynamic process simulations

Docs:


πŸ›‘οΈ Safety & Relief Systems

Docs - Overview:

Docs - Relief & Blowdown:

Docs - HIPPS:

Docs - Safety Systems:


πŸ“ Standards & Quality

Docs:


πŸ“ˆ Statistics & Parameter Fitting

Docs:


πŸ”Œ Integration & APIs

Wiki: 15. How to make a NeqSim API

Docs - Overview:

Docs - AI/ML:

Docs - MPC & Control:

Docs - Risk & Safety:


🏭 Optimization & Planning

Docs:


πŸ› οΈ Extending NeqSim

Wiki: 12. Adding a thermodynamic model 13. Adding a viscosity model 14. Adding a unit operation

Docs:


⚑ Performance & Deployment

Wiki: 16. Create native image using GraalVM 17. Profiling calculations


πŸ“š Examples & Tutorials

Jupyter Notebooks:

Java Examples:

External:


πŸ”— Quick Links

Clone this wiki locally