PetThermoTools 0.2.29__py3-none-any.whl → 0.2.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- PetThermoTools/GenFuncs.py +5 -1
- PetThermoTools/Liq.py +26 -10
- PetThermoTools/Path.py +23 -8
- PetThermoTools/PhaseDiagrams.py +22 -4
- PetThermoTools/_version.py +1 -1
- {PetThermoTools-0.2.29.dist-info → PetThermoTools-0.2.30.dist-info}/METADATA +1 -1
- {PetThermoTools-0.2.29.dist-info → PetThermoTools-0.2.30.dist-info}/RECORD +9 -9
- {PetThermoTools-0.2.29.dist-info → PetThermoTools-0.2.30.dist-info}/WHEEL +0 -0
- {PetThermoTools-0.2.29.dist-info → PetThermoTools-0.2.30.dist-info}/top_level.txt +0 -0
PetThermoTools/GenFuncs.py
CHANGED
@@ -220,7 +220,11 @@ def stich(Res, multi = None, Model = None, Frac_fluid = None, Frac_solid = None)
|
|
220
220
|
Result = stich_work(Results = Result, Order = Order, Model = "MELTS", Frac_fluid = Frac_fluid, Frac_solid = Frac_solid)
|
221
221
|
Results[Ind] = Result.copy()
|
222
222
|
else:
|
223
|
-
|
223
|
+
if Model == "Weller2024":
|
224
|
+
Order = ['SiO2', 'TiO2', 'Al2O3', 'Cr2O3', 'FeOt', 'MgO', 'CaO', 'Na2O', 'K2O', 'Fe3Fet']
|
225
|
+
else:
|
226
|
+
Order = ['SiO2', 'TiO2', 'Al2O3', 'Cr2O3', 'FeOt', 'MgO', 'CaO', 'Na2O', 'K2O', 'H2O', 'Fe3Fet']
|
227
|
+
|
224
228
|
if multi is None:
|
225
229
|
Results = stich_work(Results = Results, Order = Order, Model = "Holland", Frac_fluid = Frac_fluid, Frac_solid = Frac_solid)
|
226
230
|
else:
|
PetThermoTools/Liq.py
CHANGED
@@ -15,20 +15,21 @@ from tqdm.notebook import tqdm, trange
|
|
15
15
|
def equilibrate_multi(cores = None, Model = None, bulk = None, T_C = None, P_bar = None,
|
16
16
|
Fe3Fet_Liq = None, H2O_Liq = None, CO2_Liq = None, fO2_buffer = None, fO2_offset = None,
|
17
17
|
timeout = None, copy_columns = None, Suppress = None):
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
|
19
|
+
if "MELTS" in Model:
|
20
|
+
try:
|
21
|
+
from meltsdynamic import MELTSdynamic
|
22
|
+
except:
|
23
|
+
Warning('alphaMELTS for Python files are not on the python path. \n Please add these files to the path running \n import sys \n sys.path.append(r"insert_your_path_to_melts_here") \n You are looking for the location of the meltsdynamic.py file')
|
23
24
|
|
24
25
|
comp = bulk.copy()
|
25
26
|
|
26
27
|
if Model is None:
|
27
28
|
Model = "MELTSv1.0.2"
|
28
29
|
|
29
|
-
if Model == "Holland":
|
30
|
-
|
31
|
-
|
30
|
+
# if Model == "Holland":
|
31
|
+
# import pyMAGEMINcalc as MM
|
32
|
+
# print('pyMAGEMinCalc version: ' + str(MM.__version__))
|
32
33
|
|
33
34
|
if cores is None:
|
34
35
|
cores = multiprocessing.cpu_count()
|
@@ -365,7 +366,22 @@ def equilibrate_multi(cores = None, Model = None, bulk = None, T_C = None, P_bar
|
|
365
366
|
# Affinity = Af_Combined.copy()
|
366
367
|
return Combined
|
367
368
|
else:
|
368
|
-
|
369
|
+
import julia
|
370
|
+
from julia.api import Julia
|
371
|
+
jl = Julia(compiled_modules=False)
|
372
|
+
from julia import MAGEMinCalc
|
373
|
+
# Output = MM.equilibrate_multi(P_bar = P_bar, T_C = T_C, comp = comp)
|
374
|
+
|
375
|
+
comp['O'] = comp['Fe3Fet_Liq']*(((159.59/2)/71.844)*comp['FeOt_Liq'] - comp['FeOt_Liq'])
|
376
|
+
|
377
|
+
if Model == "Weller2024":
|
378
|
+
bulk = comp[['SiO2_Liq', 'Al2O3_Liq', 'CaO_Liq', 'MgO_Liq', 'FeOt_Liq', 'K2O_Liq', 'Na2O_Liq', 'TiO2_Liq', 'O', 'Cr2O3_Liq']].astype(float).values
|
379
|
+
else:
|
380
|
+
bulk = comp[['SiO2_Liq', 'Al2O3_Liq', 'CaO_Liq', 'MgO_Liq', 'FeOt_Liq', 'K2O_Liq', 'Na2O_Liq', 'TiO2_Liq', 'O', 'Cr2O3_Liq', 'H2O_Liq']].astype(float).values
|
381
|
+
|
382
|
+
print(np.shape(bulk))
|
383
|
+
|
384
|
+
Output = MAGEMinCalc.equilibrate(bulk = bulk, P_kbar = P_bar/1000.0, T_C = T_C, fo2_buffer = fO2_buffer, fo2_offset = fO2_offset, Model = Model)
|
369
385
|
Combined = stich(Output, Model = Model)
|
370
386
|
|
371
387
|
if copy_columns is not None:
|
@@ -801,7 +817,7 @@ def findLiq(q, index,*, Model = None, P_bar = None, T_initial_C = None, comp = N
|
|
801
817
|
|
802
818
|
Model: string
|
803
819
|
"MELTS" or "Holland". Dictates whether MELTS or MAGEMin calculations are performed. Default "MELTS".
|
804
|
-
Version of melts can be specified by additing "v1.0.
|
820
|
+
Version of melts can be specified by additing "v1.0.2", "v1.1.0", "v1.2.0", or "p" to "MELTS". Default "v.1.0.2".
|
805
821
|
|
806
822
|
P_bar: float
|
807
823
|
Specifies the pressure of the calculation (bar).
|
PetThermoTools/Path.py
CHANGED
@@ -145,6 +145,10 @@ def multi_path(cores = None, Model = None, bulk = None, comp = None, Frac_solid
|
|
145
145
|
if fO2_buffer != "FMQ":
|
146
146
|
raise Warning("fO2 buffer specified is not an allowed input. This argument can only be 'FMQ' or 'NNO' \n if you want to offset from these buffers use the 'fO2_offset' argument.")
|
147
147
|
|
148
|
+
if "MELTS" not in Model:
|
149
|
+
if fO2_buffer == "FMQ":
|
150
|
+
fO2_buffer = "qfm"
|
151
|
+
|
148
152
|
# ensure the bulk composition has the correct headers etc.
|
149
153
|
comp = comp_fix(Model = Model, comp = comp, Fe3Fet_Liq = Fe3Fet_Liq, H2O_Liq = H2O_Liq, CO2_Liq = CO2_Liq)
|
150
154
|
|
@@ -620,12 +624,23 @@ def path(q, index, *, Model = None, comp = None, Frac_solid = None, Frac_fluid =
|
|
620
624
|
|
621
625
|
return
|
622
626
|
|
623
|
-
if
|
624
|
-
import
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
627
|
+
if "MELTS" not in Model:
|
628
|
+
import julia
|
629
|
+
from julia.api import Julia
|
630
|
+
jl = Julia(compiled_modules=False)
|
631
|
+
from julia import MAGEMinCalc
|
632
|
+
# import pyMAGEMINcalc as MM
|
633
|
+
# try:
|
634
|
+
# Results = MM.path(Model = Model, comp = comp, Frac_solid = Frac_solid, Frac_fluid = Frac_fluid, T_C = T_C, T_path_C = T_path_C, T_start_C = T_start_C, T_end_C = T_end_C, dt_C = dt_C, P_bar = P_bar, P_path_bar = P_path_bar, P_start_bar = P_start_bar, P_end_bar = P_end_bar, dp_bar = dp_bar, find_liquidus = find_liquidus, fO2_buffer = fO2_buffer, fO2_offset = fO2_offset)
|
635
|
+
if Frac_solid is None:
|
636
|
+
Frac_solid = False
|
637
|
+
|
638
|
+
Results = MAGEMinCalc.path(comp = comp, T_start_C = T_start_C, T_end_C = T_end_C, dt_C = dt_C,
|
639
|
+
T_C = T_C, P_start_bar = P_start_bar, P_end_bar = P_end_bar, dp_bar = dp_bar,
|
640
|
+
P_bar = P_bar, T_path_C = T_path_C, P_path_bar = P_path_bar, frac_xtal = Frac_solid,
|
641
|
+
Model = Model, fo2_buffer = fO2_buffer, fo2_offset = fO2_offset, find_liquidus = find_liquidus)
|
642
|
+
q.put([Results, index])
|
643
|
+
# except:
|
644
|
+
# q.put([])
|
645
|
+
# return
|
631
646
|
|
PetThermoTools/PhaseDiagrams.py
CHANGED
@@ -148,12 +148,22 @@ def phaseDiagram_calc(cores = None, Model = None, bulk = None, T_C = None, P_bar
|
|
148
148
|
j = j + 1
|
149
149
|
|
150
150
|
for i in range(cores):
|
151
|
+
# if "MELTS" in Model:
|
151
152
|
T_path_C = np.array(subarrays_T[i])#T_flat[i*A:(i+1)*A]
|
152
153
|
P_path_bar = np.array(subarrays_P[i])#P_flat[i*A:(i+1)*A]
|
154
|
+
# else:
|
155
|
+
# T_path_C = subarrays_T[i]
|
156
|
+
# P_path_bar = subarrays_P[i]
|
157
|
+
|
153
158
|
|
154
|
-
if
|
155
|
-
T_path_C
|
156
|
-
|
159
|
+
if "MELTS" in Model:
|
160
|
+
if len(T_path_C) > 150:
|
161
|
+
T_path_C = T_path_C[:99]
|
162
|
+
P_path_bar = P_path_bar[:99]
|
163
|
+
else:
|
164
|
+
if len(T_path_C) > 300:
|
165
|
+
T_path_C = T_path_C[:249]
|
166
|
+
P_path_bar = P_path_bar[:249]
|
157
167
|
|
158
168
|
if "MELTS" in Model:
|
159
169
|
if j % 3 == 0:
|
@@ -165,6 +175,10 @@ def phaseDiagram_calc(cores = None, Model = None, bulk = None, T_C = None, P_bar
|
|
165
175
|
T_path_C = np.flip(T_path_C)
|
166
176
|
P_path_bar = np.flip(P_path_bar)
|
167
177
|
|
178
|
+
# if "MELTS" not in Model:
|
179
|
+
# T_path_C = T_path_C.tolist()
|
180
|
+
# P_path_bar = P_path_bar.tolist()
|
181
|
+
|
168
182
|
# if j > 5:
|
169
183
|
# com = list(zip(T, P))
|
170
184
|
|
@@ -182,7 +196,11 @@ def phaseDiagram_calc(cores = None, Model = None, bulk = None, T_C = None, P_bar
|
|
182
196
|
ps.append(p)
|
183
197
|
p.start()
|
184
198
|
|
185
|
-
|
199
|
+
if "MELTS" in Model:
|
200
|
+
TIMEOUT = 240
|
201
|
+
else:
|
202
|
+
TIMEOUT = 900
|
203
|
+
|
186
204
|
start = time.time()
|
187
205
|
first = True
|
188
206
|
for p in ps:
|
PetThermoTools/_version.py
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
PetThermoTools/Barom.py,sha256=RmFT7HQ2htKrrnzLNBU1HiVN88LU82Am3cEKByxo_6o,44439
|
2
2
|
PetThermoTools/Compositions.py,sha256=65NzfduzWdfHJ8VmHBN1Cv7fMz7kF3QbDVLei-e4v00,1483
|
3
|
-
PetThermoTools/GenFuncs.py,sha256=
|
3
|
+
PetThermoTools/GenFuncs.py,sha256=u2GWqH--Wmqd0WXHxfulEAatQb6uswjl1s9SyyoHSa8,16412
|
4
4
|
PetThermoTools/Holland.py,sha256=udBFeVUyTBpSfLIhx7Hy6o0I8ApNCDvwU_gZa0diY5w,7251
|
5
5
|
PetThermoTools/Installation.py,sha256=UfVOW1NZFdzMWPyID5u7t0KwvpJA0AqYohzidXIAwYs,6098
|
6
|
-
PetThermoTools/Liq.py,sha256=
|
6
|
+
PetThermoTools/Liq.py,sha256=I-vYp2i7CpQjzoo-nZ8gQNTP5jrao6pZtmkmwLtjodY,35043
|
7
7
|
PetThermoTools/MELTS.py,sha256=wx_j2a63sJcm8dRePVrLzc0XcpngAr7mLHewPe4ODUs,72261
|
8
8
|
PetThermoTools/Melting.py,sha256=iQpSXXDhwfEUTlHa80-XFK1lahb_VNrLW8ISbVCE8lY,10773
|
9
|
-
PetThermoTools/Path.py,sha256=
|
9
|
+
PetThermoTools/Path.py,sha256=RChQYqDayqc0hVugmX3j3uE1x2BvWIfcINFqcqwrRxw,32642
|
10
10
|
PetThermoTools/Path_wrappers.py,sha256=_0pBs_cK2hICxAHkYxKXICUnUEBSiUg07-qhgBeuTdc,26555
|
11
|
-
PetThermoTools/PhaseDiagrams.py,sha256=
|
11
|
+
PetThermoTools/PhaseDiagrams.py,sha256=J3-h5N2K2uByahgWuBxkvajpx7j_2MJ7QuxEswp3f6Y,30558
|
12
12
|
PetThermoTools/Plotting.py,sha256=biM4QJFCH6xVDpK-nG2oAIGIFFJCzBt5Uez6XzTFiGY,28107
|
13
13
|
PetThermoTools/Saturation.py,sha256=XXY6fKVouQM3RLgQgXur4xSq7_uGp7bCw_k7NNlWYi8,14095
|
14
14
|
PetThermoTools/__init__.py,sha256=PbiwQj_mNNEwuIZOLETmtMMshiXa50wjCA6mfvpOpOs,2393
|
15
|
-
PetThermoTools/_version.py,sha256=
|
16
|
-
PetThermoTools-0.2.
|
17
|
-
PetThermoTools-0.2.
|
18
|
-
PetThermoTools-0.2.
|
19
|
-
PetThermoTools-0.2.
|
15
|
+
PetThermoTools/_version.py,sha256=7vyciDXWjHOhht0C35bFPf-Y7bGUJN5nWlLPX5LfaZE,296
|
16
|
+
PetThermoTools-0.2.30.dist-info/METADATA,sha256=20BfknXMVWrNDBAHX9ypKqU_y1B70KHD7ve3xrpbiw4,796
|
17
|
+
PetThermoTools-0.2.30.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
18
|
+
PetThermoTools-0.2.30.dist-info/top_level.txt,sha256=IqK8iYBR3YJozzMOTRZ8x8mU2k6x8ycoMBxZTm-I06U,15
|
19
|
+
PetThermoTools-0.2.30.dist-info/RECORD,,
|
File without changes
|
File without changes
|