{"id":19835111,"url":"https://github.com/equinor/neqsim","last_synced_at":"2026-02-02T07:47:19.218Z","repository":{"id":36292057,"uuid":"160530865","full_name":"equinor/neqsim","owner":"equinor","description":"NeqSim is a library for calculation of fluid behavior, phase equilibrium and process simulation","archived":false,"fork":false,"pushed_at":"2024-10-24T13:29:58.000Z","size":59719,"stargazers_count":65,"open_issues_count":65,"forks_count":29,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-24T23:27:35.774Z","etag":null,"topics":["equation-of-state","fluid-properties","gas-production","gas-transport","java","oil-and-gas","phase-equilibrium","physical-properties","process-simulation","processing","pvt","thermodynamics"],"latest_commit_sha":null,"homepage":"https://equinor.github.io/neqsimhome/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equinor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-05T14:31:19.000Z","updated_at":"2024-10-24T13:30:02.000Z","dependencies_parsed_at":"2023-02-16T13:30:47.478Z","dependency_job_id":"feb0055f-2b60-4eeb-9239-fb7af7e996d4","html_url":"https://github.com/equinor/neqsim","commit_stats":{"total_commits":1215,"total_committers":22,"mean_commits":55.22727272727273,"dds":0.6559670781893003,"last_synced_commit":"11c7bb70f919bdb0ffd2fcdeef0e4cd8c938c0f2"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fneqsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fneqsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fneqsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fneqsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equinor","download_url":"https://codeload.github.com/equinor/neqsim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247436490,"owners_count":20938573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["equation-of-state","fluid-properties","gas-production","gas-transport","java","oil-and-gas","phase-equilibrium","physical-properties","process-simulation","processing","pvt","thermodynamics"],"created_at":"2024-11-12T12:06:40.754Z","updated_at":"2026-02-02T07:47:19.212Z","avatar_url":"https://github.com/equinor.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NeqSim Logo](https://github.com/equinor/neqsim/blob/master/docs/wiki/neqsimlogocircleflatsmall.png)\n\n\u003c!-- Badges --\u003e\n[![Azure DevOps Build](https://neqsim.visualstudio.com/neqsim_cicd/_apis/build/status/neqsim_build?branchName=master)](https://neqsim.visualstudio.com/neqsim_cicd/_build/latest?definitionId=1\u0026branchName=master)\n[![GitHub CI Build](https://github.com/equinor/neqsim/actions/workflows/verify_build.yml/badge.svg?branch=master)](https://github.com/equinor/neqsim/actions/workflows/verify_build.yml?query=branch%3Amaster)\n[![CodeQL Analysis](https://github.com/equinor/neqsim/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/equinor/neqsim/security/code-scanning)\n[![Coverage Status](https://codecov.io/gh/equinor/neqsim/branch/master/graph/badge.svg)](https://codecov.io/gh/equinor/neqsim)\n[![Dep Vulns](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/equinor/neqsim/master/.github/metrics/dependabot-metrics.json)](https://github.com/equinor/neqsim/security/dependabot)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n[![Total Security Alerts](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/equinor/neqsim/master/.github/metrics/security-metrics.json)](https://github.com/equinor/neqsim/security)\n\n\nNeqSim is the main part of the [NeqSim project](https://equinor.github.io/neqsimhome/). NeqSim (Non-Equilibrium Simulator) is a Java library for estimating fluid properties and process design.\nThe basis for NeqSim is a library of fundamental mathematical models related to phase behavior and physical properties of fluids.  NeqSim is easily extended with new models. NeqSim development was initiated at the [Norwegian University of Science and Technology (NTNU)](https://www.ntnu.edu/employees/even.solbraa).\n\n## Documentation\n[NeqSim User Documentation](https://equinor.github.io/neqsim/)\n\n[Index of reference manual](https://github.com/equinor/neqsim/blob/master/docs/REFERENCE_MANUAL_INDEX.md)\n\n## Releases\n\n[NeqSim releases](https://github.com/equinor/neqsim/releases) are available as a packaged jar file and as source code. NeqSim can be used in a third party application by adding NeqSim jar to the classpath.\n\n## Getting started as a NeqSim Java user\n\nNeqSim can be used in a Java application by adding the neqsim-x.x.x.jar found in [NeqSim releases](https://github.com/equinor/neqsim/releases) to the classpath. A demonstration of downloading the library and running a TPflash  benchmark is illustrated in this [NeqSim Colab demo](https://colab.research.google.com/drive/1XkQ_CrVj2gLTtJvXhFQMWALzXii522CL). Learn and ask questions in [Discussions for use and development of NeqSim](https://github.com/equinor/neqsim/discussions). Also see the [NeqSim JavaDoc](https://htmlpreview.github.io/?https://github.com/equinor/neqsimhome/blob/master/javadoc/site/apidocs/index.html).\n\n## Use of the NeqSim package\nNeqSim can be set up as a dependency in a Java project via the [NeqSim GitHub package distribution](https://github.com/equinor/neqsim/packages/42822).\n\n### Using NeqSim from the GitHub Maven package repository\n1. Configure authentication for the GitHub Packages repository in your Maven `settings.xml` (use a Personal Access Token with at least the `read:packages` scope):\n\n```xml\n\u003cservers\u003e\n  \u003cserver\u003e\n    \u003cid\u003egithub\u003c/id\u003e\n    \u003cusername\u003eYOUR_GITHUB_USERNAME\u003c/username\u003e\n    \u003cpassword\u003e${env.GITHUB_TOKEN}\u003c/password\u003e\n  \u003c/server\u003e\n\u003c/servers\u003e\n```\n\n2. Add the GitHub Packages repository and NeqSim dependency to your project's `pom.xml`:\n\n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003egithub\u003c/id\u003e\n    \u003curl\u003ehttps://maven.pkg.github.com/equinor/neqsim\u003c/url\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003ecom.equinor.neqsim\u003c/groupId\u003e\n    \u003cartifactId\u003eneqsim\u003c/artifactId\u003e\n    \u003cversion\u003e3.1.2\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n3. Build your project as normal (`mvn clean install`). Maven will fetch NeqSim from the GitHub Maven package repository using the credentials configured in step 1.\n\n### Using NeqSim from Maven Central\nIf you prefer to pull NeqSim from Maven Central, you only need to declare the dependency because Maven Central is enabled by default in Maven builds:\n\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003ecom.equinor.neqsim\u003c/groupId\u003e\n    \u003cartifactId\u003eneqsim\u003c/artifactId\u003e\n    \u003cversion\u003e3.1.2\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\nRun your Maven build (`mvn clean install`) and NeqSim will be resolved from the Central repository without additional repository configuration.\n\n## Getting Started as a NeqSim Java developer\n\nSee the [NeqSim Java Wiki](https://github.com/equinor/neqsim/wiki) for how to use the NeqSim API.\nAdditional pages are available in the [local wiki](docs/wiki/index.md).\nNeqSim can be built using the Maven build system (https://maven.apache.org/). All NeqSim build dependencies are given in the pom.xml file. Learn and ask questions in [Discussions for use and development of NeqSim](https://github.com/equinor/neqsim/discussions).\n\n### Initial setup\n\nThe NeqSim source code is downloaded by cloning the library to your local computer (alternatively fork it to your private repository). The following commands are dependent on a local installation of [GIT](https://git-scm.com/) and [Maven](https://maven.apache.org/).\n\n```bash\ngit clone https://github.com/equinor/neqsim.git\ncd neqsim\n./mvnw install\n```\n\u003e **Note**\n\u003e The maven wrapper command is dependent on your OS, for Unix use: ```./mvnw```\n\u003e Windows:\n\u003e ```mvnw.cmd ```\n\nAn interactive demonstration of how to get started as a NeqSim developer is presented in this [NeqSim Colab demo](https://colab.research.google.com/drive/1JiszeCxfpcJZT2vejVWuNWGmd9SJdNC7).\n\n### Opening in VS Code\n\nThe repository contains a ready‑to‑use [dev container](.devcontainer/) configuration. After cloning\nthe project you can open it in VS Code with container support enabled:\n\n```bash\ngit clone https://github.com/equinor/neqsim.git\ncd neqsim\n# Open in VS Code with container support\ncode .\n```\n\nThe container image comes with Maven and the recommended extensions already installed.\n\n## Running the tests\n\nThe test files are written in JUnit5 and placed in the [test directory](https://github.com/equinor/neqsim/tree/master/src/test). Test code should be written for all new code added to the project, and all tests have to pass before merging into the master branch.  \n\nTest coverage can be examined using [jacoco](https://www.eclemma.org/jacoco/) from maven.  \nGenerate a coverage report using `./mvnw jacoco:prepare-agent test install jacoco:report` and see results in target/site/jacoco/index.html.\nRun `./mvnw checkstyle:check` to verify that your code follows the project's formatting rules.\n\u003e **Note**\n\u003e The maven wrapper command is dependent on your OS, for Unix use: ```./mvnw```\n\u003e Windows:\n\u003e ```mvnw.cmd ```\n\n\n## Deployment\n\nThe NeqSim source code is compiled and distributed as a Java library. [NeqSim releases](https://github.com/equinor/neqsim/releases) are available for download from the release pages.\n\n## Built With\n\n[Maven](https://maven.apache.org/) - Dependency Management\n\n## Contributing\nSee the [getting started as a NeqSim developer](https://github.com/equinor/neqsim/wiki/Getting-started-as-a-NeqSim-developer) documentation. Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests. An interactive demonstration of how to get started as a NeqSim developer is presented in this [NeqSim Colab demo](https://colab.research.google.com/drive/1JiszeCxfpcJZT2vejVWuNWGmd9SJdNC7).\nSee [docs/DEVELOPER_SETUP.md](docs/DEVELOPER_SETUP.md) for a summary of how to clone the project, build it and run the tests. For more details see the [getting started as a NeqSim developer](https://github.com/equinor/neqsim/wiki/Getting-started-as-a-NeqSim-developer) documentation. Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests. An interactive demonstration of how to get started as a NeqSim developer is presented in this [NeqSim Colab demo](https://colab.research.google.com/drive/1JiszeCxfpcJZT2vejVWuNWGmd9SJdNC7).\nPull requests will only be accepted if all tests and `./mvnw checkstyle:check` pass.\n\nFor guidance on where to place production code, tests, and resources, see [docs/contributing-structure.md](docs/contributing-structure.md).\n\n## Discussion forum\n\nQuestions related to neqsim can be posted in the [github discussion pages](https://github.com/equinor/neqsim/discussions).\n\n## Versioning\n\nNeqSim uses [SemVer](https://semver.org/) for versioning.\n\n## Authors and contact persons\n\nEven Solbraa (esolbraa@gmail.com),  Marlene Louise Lund\n\n## Licence\n\nNeqSim is distributed under the [Apache-2.0](https://github.com/equinor/neqsim/blob/master/LICENSE) licence.\n\n## Acknowledgments\n\nA number of master and PhD students at NTNU have contributed to development of NeqSim. We greatly acknowledge their contributions.\n\n## NeqSim modules\n\nNeqSim is built upon seven base modules, each covering a key part of the library:\n\n1. **Thermodynamic routines** – phase-equilibrium models, equation-of-state implementations and flash calculations.\n2. **Physical properties routines** – transport and thermophysical property calculations such as density and viscosity.\n3. **Fluid mechanic routines** – models for single- and multiphase flow in pipes and networks.\n4. **Unit operations** – reusable models of separators, heat exchangers and other equipment.\n5. **Chemical reactions routines** – equilibrium and kinetic reaction calculations.\n6. **Parameter fitting routines** – tools for estimating model parameters from experimental data.\n7. **Process simulation routines** – framework for assembling unit operations into steady-state or dynamic flowsheets.\n\nFor a deeper introduction to each module, see [docs/modules.md](docs/modules.md).\n\n## File System\n\n\u003eneqsim/: main library with all modules\n\u003e\n\u003eneqsim/thermo/: Main path for thermodynamic routines\n\u003eneqsim/thermo/util/examples/: examples of use of Thermodynamic Models and Routines\n\u003e\n\u003eneqsim/thermodynamicoperation: Main path for flash routines (TPflash, phase envelopes, etc.)\n\u003eneqsim/thermodynamicoperation/util/example/: examples of use of thermodynamic operations (eg. flash calculations etc.)\n\u003e\n\u003eneqsim/physicalproperties: Main path for Physical Property methods\n\u003eneqsim/physicalproperties/util/examples/: Examples of use of physical properties calculations\n\u003e\n\u003eneqsim/physicalproperties: Main path for Physical Property methods\n\u003eneqsim/physicalproperties/util/examples/: Examples of use of physical properties calculations\n\u003e\n\u003eneqsim/processsimulation: Main path for Process Simulation Calculations\n\u003eneqsim/processsimulation/util/examples/: Examples of use of Process Simulation calculations\n\u003e\n\u003echangelog.txt : History of what changed between each version.\n\u003elicense.txt: license document\n\n## Toolboxes\n\nSee [NeqSim homepage](https://equinor.github.io/neqsimhome/). NeqSim toolboxes are available via GitHub for alternative programming languages.\n\n* [Matlab](https://github.com/equinor/neqsimmatlab)\n* [Python](https://github.com/equinor/neqsimpython)\n* [.NET (C#)](https://github.com/equinor/neqsimcapeopen)\n\n## Related open source projects\n\n[NeqSim Python/Colab](https://github.com/EvenSol/NeqSim-Colab)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fneqsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequinor%2Fneqsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fneqsim/lists"}