Skip to content

Commit b0c99b7

Browse files
authored
Go back to building python module fully in Rust (#309)
1 parent e31cea2 commit b0c99b7

31 files changed

+1490
-1538
lines changed

docs/recipes/recipes_critical_point_pure.ipynb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
"metadata": {},
1616
"outputs": [],
1717
"source": [
18-
"from feos import EquationOfState, State\n",
19-
"from feos.parameters import Parameters\n",
18+
"import feos\n",
2019
"\n",
21-
"parameters = Parameters.from_json(\n",
20+
"parameters = feos.Parameters.from_json(\n",
2221
" substances=['methanol'], \n",
2322
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
2423
")\n",
25-
"eos = EquationOfState.pcsaft(parameters)"
24+
"eos = feos.EquationOfState.pcsaft(parameters)"
2625
]
2726
},
2827
{
@@ -48,7 +47,7 @@
4847
}
4948
],
5049
"source": [
51-
"critical_point = State.critical_point(eos)\n",
50+
"critical_point = feos.State.critical_point(eos)\n",
5251
"critical_point"
5352
]
5453
}

docs/recipes/recipes_p_sat_t_boil.ipynb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
"outputs": [],
1717
"source": [
1818
"import si_units as si\n",
19-
"from feos import EquationOfState, PhaseEquilibrium\n",
20-
"from feos.parameters import Parameters\n",
19+
"import feos\n",
2120
"\n",
22-
"parameters = Parameters.from_json(\n",
21+
"parameters = feos.Parameters.from_json(\n",
2322
" substances=['methanol'], \n",
2423
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
2524
")\n",
26-
"eos = EquationOfState.pcsaft(parameters)"
25+
"eos = feos.EquationOfState.pcsaft(parameters)"
2726
]
2827
},
2928
{
@@ -45,7 +44,7 @@
4544
],
4645
"source": [
4746
"# returns pure substance vapor pressures\n",
48-
"vapor_pressure = PhaseEquilibrium.vapor_pressure(eos, 350 * si.KELVIN)\n",
47+
"vapor_pressure = feos.PhaseEquilibrium.vapor_pressure(eos, 350 * si.KELVIN)\n",
4948
"vapor_pressure"
5049
]
5150
},
@@ -68,7 +67,7 @@
6867
],
6968
"source": [
7069
"# returns pure substance boiling temperatures\n",
71-
"boiling_temperature = PhaseEquilibrium.boiling_temperature(eos, 15 * si.BAR)\n",
70+
"boiling_temperature = feos.PhaseEquilibrium.boiling_temperature(eos, 15 * si.BAR)\n",
7271
"boiling_temperature"
7372
]
7473
}

docs/recipes/recipes_phase_diagram_pure.ipynb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
"metadata": {},
1616
"outputs": [],
1717
"source": [
18-
"from feos import EquationOfState, PhaseDiagram\n",
19-
"from feos.parameters import Parameters\n",
18+
"import feos\n",
2019
"import si_units as si\n",
2120
"import matplotlib.pyplot as plt\n",
2221
"import seaborn as sns\n",
@@ -35,12 +34,12 @@
3534
"metadata": {},
3635
"outputs": [],
3736
"source": [
38-
"parameters = Parameters.from_json(\n",
37+
"parameters = feos.Parameters.from_json(\n",
3938
" substances=['methanol'], \n",
4039
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
4140
")\n",
42-
"eos = EquationOfState.pcsaft(parameters)\n",
43-
"phase_diagram = PhaseDiagram.pure(eos, 150.0 * si.KELVIN, 201)"
41+
"eos = feos.EquationOfState.pcsaft(parameters)\n",
42+
"phase_diagram = feos.PhaseDiagram.pure(eos, 150.0 * si.KELVIN, 201)"
4443
]
4544
},
4645
{

docs/recipes/recipes_phase_equilibrium_pure.ipynb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
"outputs": [],
1717
"source": [
1818
"import si_units as si\n",
19-
"from feos import EquationOfState, PhaseEquilibrium\n",
20-
"from feos.parameters import Parameters\n",
19+
"import feos\n",
2120
"\n",
22-
"parameters = Parameters.from_json(\n",
21+
"parameters = feos.Parameters.from_json(\n",
2322
" substances=['methanol'], \n",
2423
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
2524
")\n",
26-
"eos = EquationOfState.pcsaft(parameters)"
25+
"eos = feos.EquationOfState.pcsaft(parameters)"
2726
]
2827
},
2928
{
@@ -51,7 +50,7 @@
5150
}
5251
],
5352
"source": [
54-
"vle_t = PhaseEquilibrium.pure(eos, 350 * si.KELVIN)\n",
53+
"vle_t = feos.PhaseEquilibrium.pure(eos, 350 * si.KELVIN)\n",
5554
"vle_t"
5655
]
5756
},
@@ -80,7 +79,7 @@
8079
}
8180
],
8281
"source": [
83-
"vle_p = PhaseEquilibrium.pure(eos, 15 * si.BAR)\n",
82+
"vle_p = feos.PhaseEquilibrium.pure(eos, 15 * si.BAR)\n",
8483
"vle_p"
8584
]
8685
}

docs/recipes/recipes_surface_tension_diagram_pure.ipynb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
"metadata": {},
1616
"outputs": [],
1717
"source": [
18-
"from feos import PhaseDiagram\n",
19-
"from feos.dft import HelmholtzEnergyFunctional, SurfaceTensionDiagram\n",
20-
"from feos.parameters import Parameters\n",
18+
"import feos\n",
2119
"import si_units as si\n",
2220
"import matplotlib.pyplot as plt\n",
2321
"import seaborn as sns\n",
@@ -36,11 +34,11 @@
3634
"metadata": {},
3735
"outputs": [],
3836
"source": [
39-
"parameters = Parameters.from_json(\n",
37+
"parameters = feos.Parameters.from_json(\n",
4038
" substances=['methanol'], \n",
4139
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
4240
")\n",
43-
"functional = HelmholtzEnergyFunctional.pcsaft(parameters)"
41+
"functional = feos.HelmholtzEnergyFunctional.pcsaft(parameters)"
4442
]
4543
},
4644
{
@@ -50,7 +48,7 @@
5048
"metadata": {},
5149
"outputs": [],
5250
"source": [
53-
"phase_diagram = PhaseDiagram.pure(functional, 150 * si.KELVIN, 25)"
51+
"phase_diagram = feos.PhaseDiagram.pure(functional, 150 * si.KELVIN, 25)"
5452
]
5553
},
5654
{
@@ -60,7 +58,7 @@
6058
"metadata": {},
6159
"outputs": [],
6260
"source": [
63-
"st_diagram = SurfaceTensionDiagram(\n",
61+
"st_diagram = feos.SurfaceTensionDiagram(\n",
6462
" phase_diagram.states,\n",
6563
" n_grid=1024\n",
6664
")"

docs/recipes/recipes_surface_tension_pure.ipynb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@
1616
"outputs": [],
1717
"source": [
1818
"import si_units as si\n",
19-
"from feos import PhaseEquilibrium\n",
20-
"from feos.dft import HelmholtzEnergyFunctional, PlanarInterface\n",
21-
"from feos.parameters import Parameters\n",
19+
"import feos\n",
2220
"\n",
23-
"parameters = Parameters.from_json(\n",
21+
"parameters = feos.Parameters.from_json(\n",
2422
" substances=['methanol'], \n",
2523
" pure_path='../../parameters/pcsaft/gross2002.json'\n",
2624
")\n",
27-
"functional = HelmholtzEnergyFunctional.pcsaft(parameters)"
25+
"functional = feos.HelmholtzEnergyFunctional.pcsaft(parameters)"
2826
]
2927
},
3028
{
@@ -52,7 +50,7 @@
5250
}
5351
],
5452
"source": [
55-
"vle = PhaseEquilibrium.pure(functional, 350 * si.KELVIN)\n",
53+
"vle = feos.PhaseEquilibrium.pure(functional, 350 * si.KELVIN)\n",
5654
"vle"
5755
]
5856
},
@@ -77,7 +75,7 @@
7775
}
7876
],
7977
"source": [
80-
"surface_tension_pdgt = (PlanarInterface\n",
78+
"surface_tension_pdgt = (feos.PlanarInterface\n",
8179
" .from_pdgt(vle, 1024)\n",
8280
" .solve()\n",
8381
" .surface_tension)\n",
@@ -105,7 +103,7 @@
105103
}
106104
],
107105
"source": [
108-
"surface_tension_tanh = (PlanarInterface\n",
106+
"surface_tension_tanh = (feos.PlanarInterface\n",
109107
" .from_tanh(vle, 1024, 100 * si.ANGSTROM, 500 * si.KELVIN)\n",
110108
" .solve()\n",
111109
" .surface_tension\n",

docs/tutorials/dft/pcsaft_surface_tension.ipynb

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@
2020
"metadata": {},
2121
"outputs": [],
2222
"source": [
23-
"from feos.parameters import Parameters\n",
24-
"from feos.dft import HelmholtzEnergyFunctional, PlanarInterface, SurfaceTensionDiagram\n",
25-
"from feos import State, PhaseEquilibrium, PhaseDiagram\n",
26-
"\n",
23+
"import feos\n",
2724
"import si_units as si\n",
2825
"import matplotlib.pyplot as plt\n",
2926
"import pandas as pd\n",
@@ -55,11 +52,11 @@
5552
"outputs": [],
5653
"source": [
5754
"# Equation of state object.\n",
58-
"parameters = Parameters.from_json(\n",
55+
"parameters = feos.Parameters.from_json(\n",
5956
" ['water_2B'], \n",
6057
" '../../../parameters/pcsaft/rehner2020.json'\n",
6158
")\n",
62-
"pcsaft = HelmholtzEnergyFunctional.pcsaft(parameters)"
59+
"pcsaft = feos.HelmholtzEnergyFunctional.pcsaft(parameters)"
6360
]
6461
},
6562
{
@@ -93,7 +90,7 @@
9390
}
9491
],
9592
"source": [
96-
"cp = State.critical_point(pcsaft)\n",
93+
"cp = feos.State.critical_point(pcsaft)\n",
9794
"cp"
9895
]
9996
},
@@ -152,7 +149,7 @@
152149
}
153150
],
154151
"source": [
155-
"vle = PhaseEquilibrium.pure(pcsaft, 300*si.KELVIN)\n",
152+
"vle = feos.PhaseEquilibrium.pure(pcsaft, 300*si.KELVIN)\n",
156153
"vle"
157154
]
158155
},
@@ -180,14 +177,14 @@
180177
"name": "stdout",
181178
"output_type": "stream",
182179
"text": [
183-
"CPU times: user 442 μs, sys: 14 μs, total: 456 μs\n",
184-
"Wall time: 435 μs\n"
180+
"CPU times: user 367 μs, sys: 10 μs, total: 377 μs\n",
181+
"Wall time: 363 μs\n"
185182
]
186183
}
187184
],
188185
"source": [
189186
"%%time\n",
190-
"interface = PlanarInterface.from_tanh(\n",
187+
"interface = feos.PlanarInterface.from_tanh(\n",
191188
" vle=vle, \n",
192189
" n_grid=512, \n",
193190
" l_grid=100*si.ANGSTROM, \n",
@@ -243,8 +240,8 @@
243240
"name": "stdout",
244241
"output_type": "stream",
245242
"text": [
246-
"CPU times: user 14.3 ms, sys: 0 ns, total: 14.3 ms\n",
247-
"Wall time: 14.2 ms\n"
243+
"CPU times: user 11.8 ms, sys: 1.02 ms, total: 12.8 ms\n",
244+
"Wall time: 12.7 ms\n"
248245
]
249246
}
250247
],
@@ -562,20 +559,20 @@
562559
"name": "stdout",
563560
"output_type": "stream",
564561
"text": [
565-
"CPU times: user 621 ms, sys: 172 μs, total: 621 ms\n",
566-
"Wall time: 618 ms\n"
562+
"CPU times: user 523 ms, sys: 3.87 ms, total: 526 ms\n",
563+
"Wall time: 525 ms\n"
567564
]
568565
}
569566
],
570567
"source": [
571568
"%%time\n",
572-
"vles = PhaseDiagram.pure(\n",
569+
"vles = feos.PhaseDiagram.pure(\n",
573570
" pcsaft, \n",
574571
" 275*si.KELVIN, \n",
575572
" 50,\n",
576573
" critical_temperature=cp.temperature\n",
577574
")\n",
578-
"sfts = SurfaceTensionDiagram(\n",
575+
"sfts = feos.SurfaceTensionDiagram(\n",
579576
" vles.states, \n",
580577
" n_grid=512, \n",
581578
" l_grid=100*si.ANGSTROM, \n",

0 commit comments

Comments
 (0)