Skip to content

Commit cf7c91e

Browse files
committed
v3.15.0
1 parent 610ac42 commit cf7c91e

329 files changed

Lines changed: 46993 additions & 3 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

conda/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% set name = "neqsim" %}
2-
{% set version = "3.14.0" %}
2+
{% set version = "3.15.0" %}
33

44
package:
55
name: {{ name|lower }}

docs/release-notes/v3.15.0.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# NeqSim Python 3.15.0
2+
3+
NeqSim Python is the Python interface to the NeqSim engine for thermodynamic calculations, physical properties, process simulation, and PVT analysis from Python and Jupyter notebooks.
4+
5+
## Highlights
6+
7+
- Aligns Python package metadata and the conda recipe with version 3.15.0.
8+
- Improves editor code completion by shipping typing stubs for `jneqsim` through the `neqsim` package export.
9+
- Ensures `jneqsim` and `jpype` stub packages are included in built source distributions.
10+
11+
## Install
12+
13+
Use pip when you already have Java installed:
14+
15+
```bash
16+
pip install --upgrade neqsim==3.15.0
17+
```
18+
19+
Use conda when you want OpenJDK installed with the package:
20+
21+
```bash
22+
conda install -c conda-forge neqsim=3.15.0
23+
```
24+
25+
Requirements:
26+
27+
- Python 3.9 or newer.
28+
- Java 11 or newer for pip installs.
29+
- Conda installs include OpenJDK through conda-forge.
30+
31+
Verify the installed package version without starting the JVM:
32+
33+
```bash
34+
python -c "from importlib.metadata import version; print(version('neqsim'))"
35+
```
36+
37+
## Useful Links
38+
39+
- Full changelog: https://github.com/equinor/neqsim-python/compare/v3.14.0...v3.15.0
40+
- Documentation: https://equinor.github.io/neqsimhome/
41+
- Python examples: https://github.com/equinor/neqsim-python/tree/master/examples
42+
- Java engine: https://github.com/equinor/neqsim
43+
- Discussions: https://github.com/equinor/neqsim/discussions

environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ dependencies:
1919
# Install neqsim from PyPI until conda-forge package is available
2020
- pip
2121
- pip:
22-
- neqsim==3.14.0
22+
- neqsim==3.15.0

pyproject.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "neqsim"
3-
version = "3.14.0"
3+
version = "3.15.0"
44
description = "NeqSim is a tool for thermodynamic and process calculations"
55
authors = [{ name = "Even Solbraa", email = "esolbraa@gmail.com" }]
66
requires-python = ">=3.9,<4"
@@ -50,6 +50,9 @@ namespace = true
5050
# Include the stub package in distributions using glob patterns
5151
source-include = [
5252
"src/jneqsim-stubs/**",
53+
"src/jpype-stubs/**",
54+
"src/neqsim/**/*.pyi",
55+
"src/neqsim/py.typed",
5356
]
5457

5558
[build-system]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
import sys
3+
if sys.version_info >= (3, 8):
4+
from typing import Protocol
5+
else:
6+
from typing_extensions import Protocol
7+
8+
import jneqsim.api
9+
import jneqsim.blackoil
10+
import jneqsim.chemicalreactions
11+
import jneqsim.datapresentation
12+
import jneqsim.fluidmechanics
13+
import jneqsim.integration
14+
import jneqsim.mathlib
15+
import jneqsim.physicalproperties
16+
import jneqsim.process
17+
import jneqsim.pvtsimulation
18+
import jneqsim.standards
19+
import jneqsim.statistics
20+
import jneqsim.thermo
21+
import jneqsim.thermodynamicoperations
22+
import jneqsim.util
23+
import typing
24+
25+
26+
class __module_protocol__(Protocol):
27+
# A module protocol which reflects the result of ``jp.JPackage("neqsim")``.
28+
29+
api: jneqsim.api.__module_protocol__
30+
blackoil: jneqsim.blackoil.__module_protocol__
31+
chemicalreactions: jneqsim.chemicalreactions.__module_protocol__
32+
datapresentation: jneqsim.datapresentation.__module_protocol__
33+
fluidmechanics: jneqsim.fluidmechanics.__module_protocol__
34+
integration: jneqsim.integration.__module_protocol__
35+
mathlib: jneqsim.mathlib.__module_protocol__
36+
physicalproperties: jneqsim.physicalproperties.__module_protocol__
37+
process: jneqsim.process.__module_protocol__
38+
pvtsimulation: jneqsim.pvtsimulation.__module_protocol__
39+
standards: jneqsim.standards.__module_protocol__
40+
statistics: jneqsim.statistics.__module_protocol__
41+
thermo: jneqsim.thermo.__module_protocol__
42+
thermodynamicoperations: jneqsim.thermodynamicoperations.__module_protocol__
43+
util: jneqsim.util.__module_protocol__
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
import sys
3+
if sys.version_info >= (3, 8):
4+
from typing import Protocol
5+
else:
6+
from typing_extensions import Protocol
7+
8+
import jneqsim.api.ioc
9+
import typing
10+
11+
12+
class __module_protocol__(Protocol):
13+
# A module protocol which reflects the result of ``jp.JPackage("jneqsim.api")``.
14+
15+
ioc: jneqsim.api.ioc.__module_protocol__
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
import sys
3+
if sys.version_info >= (3, 8):
4+
from typing import Protocol
5+
else:
6+
from typing_extensions import Protocol
7+
8+
import java.lang
9+
import jpype
10+
import typing
11+
12+
13+
14+
class CalculationResult:
15+
fluidProperties: typing.MutableSequence[typing.MutableSequence[float]] = ...
16+
calculationError: typing.MutableSequence[java.lang.String] = ...
17+
def __init__(self, doubleArray: typing.Union[typing.List[typing.MutableSequence[float]], jpype.JArray], stringArray: typing.Union[typing.List[java.lang.String], jpype.JArray]): ...
18+
def equals(self, object: typing.Any) -> bool: ...
19+
def hashCode(self) -> int: ...
20+
21+
22+
class __module_protocol__(Protocol):
23+
# A module protocol which reflects the result of ``jp.JPackage("jneqsim.api.ioc")``.
24+
25+
CalculationResult: typing.Type[CalculationResult]
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
2+
import sys
3+
if sys.version_info >= (3, 8):
4+
from typing import Protocol
5+
else:
6+
from typing_extensions import Protocol
7+
8+
import java.util
9+
import jpype
10+
import jneqsim.blackoil.io
11+
import jneqsim.thermo.system
12+
import typing
13+
14+
15+
16+
class BlackOilConverter:
17+
def __init__(self): ...
18+
@staticmethod
19+
def convert(systemInterface: jneqsim.thermo.system.SystemInterface, double: float, doubleArray: typing.Union[typing.List[float], jpype.JArray], double3: float, double4: float) -> 'BlackOilConverter.Result': ...
20+
class Result:
21+
pvt: 'BlackOilPVTTable' = ...
22+
blackOilSystem: 'SystemBlackOil' = ...
23+
rho_o_sc: float = ...
24+
rho_g_sc: float = ...
25+
rho_w_sc: float = ...
26+
bubblePoint: float = ...
27+
def __init__(self): ...
28+
29+
class BlackOilFlash:
30+
def __init__(self, blackOilPVTTable: 'BlackOilPVTTable', double: float, double2: float, double3: float): ...
31+
def flash(self, double: float, double2: float, double3: float, double4: float, double5: float) -> 'BlackOilFlashResult': ...
32+
33+
class BlackOilFlashResult:
34+
O_std: float = ...
35+
Gf_std: float = ...
36+
W_std: float = ...
37+
V_o: float = ...
38+
V_g: float = ...
39+
V_w: float = ...
40+
rho_o: float = ...
41+
rho_g: float = ...
42+
rho_w: float = ...
43+
mu_o: float = ...
44+
mu_g: float = ...
45+
mu_w: float = ...
46+
Rs: float = ...
47+
Rv: float = ...
48+
Bo: float = ...
49+
Bg: float = ...
50+
Bw: float = ...
51+
def __init__(self): ...
52+
53+
class BlackOilPVTTable:
54+
def __init__(self, list: java.util.List['BlackOilPVTTable.Record'], double: float): ...
55+
def Bg(self, double: float) -> float: ...
56+
def Bo(self, double: float) -> float: ...
57+
def Bw(self, double: float) -> float: ...
58+
def Rs(self, double: float) -> float: ...
59+
def RsEffective(self, double: float) -> float: ...
60+
def Rv(self, double: float) -> float: ...
61+
def getBubblePointP(self) -> float: ...
62+
def mu_g(self, double: float) -> float: ...
63+
def mu_o(self, double: float) -> float: ...
64+
def mu_w(self, double: float) -> float: ...
65+
class Record:
66+
p: float = ...
67+
Rs: float = ...
68+
Bo: float = ...
69+
mu_o: float = ...
70+
Bg: float = ...
71+
mu_g: float = ...
72+
Rv: float = ...
73+
Bw: float = ...
74+
mu_w: float = ...
75+
def __init__(self, double: float, double2: float, double3: float, double4: float, double5: float, double6: float, double7: float, double8: float, double9: float): ...
76+
77+
class SystemBlackOil:
78+
def __init__(self, blackOilPVTTable: BlackOilPVTTable, double: float, double2: float, double3: float): ...
79+
def copyShallow(self) -> 'SystemBlackOil': ...
80+
def flash(self) -> BlackOilFlashResult: ...
81+
def getBg(self) -> float: ...
82+
def getBo(self) -> float: ...
83+
def getBw(self) -> float: ...
84+
def getGasDensity(self) -> float: ...
85+
def getGasReservoirVolume(self) -> float: ...
86+
def getGasStdTotal(self) -> float: ...
87+
def getGasViscosity(self) -> float: ...
88+
def getOilDensity(self) -> float: ...
89+
def getOilReservoirVolume(self) -> float: ...
90+
def getOilStdTotal(self) -> float: ...
91+
def getOilViscosity(self) -> float: ...
92+
def getPressure(self) -> float: ...
93+
def getRs(self) -> float: ...
94+
def getRv(self) -> float: ...
95+
def getTemperature(self) -> float: ...
96+
def getWaterDensity(self) -> float: ...
97+
def getWaterReservoirVolume(self) -> float: ...
98+
def getWaterStd(self) -> float: ...
99+
def getWaterViscosity(self) -> float: ...
100+
def setPressure(self, double: float) -> None: ...
101+
def setStdTotals(self, double: float, double2: float, double3: float) -> None: ...
102+
def setTemperature(self, double: float) -> None: ...
103+
104+
105+
class __module_protocol__(Protocol):
106+
# A module protocol which reflects the result of ``jp.JPackage("jneqsim.blackoil")``.
107+
108+
BlackOilConverter: typing.Type[BlackOilConverter]
109+
BlackOilFlash: typing.Type[BlackOilFlash]
110+
BlackOilFlashResult: typing.Type[BlackOilFlashResult]
111+
BlackOilPVTTable: typing.Type[BlackOilPVTTable]
112+
SystemBlackOil: typing.Type[SystemBlackOil]
113+
io: jneqsim.blackoil.io.__module_protocol__

0 commit comments

Comments
 (0)