calphy 1.3.8__tar.gz → 1.3.10__tar.gz
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.
- {calphy-1.3.8/calphy.egg-info → calphy-1.3.10}/PKG-INFO +1 -1
- {calphy-1.3.8 → calphy-1.3.10}/calphy/__init__.py +1 -1
- {calphy-1.3.8 → calphy-1.3.10}/calphy/input.py +9 -2
- {calphy-1.3.8 → calphy-1.3.10}/calphy/integrators.py +4 -1
- {calphy-1.3.8 → calphy-1.3.10}/calphy/liquid.py +13 -5
- {calphy-1.3.8 → calphy-1.3.10}/calphy/phase.py +1 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/scheduler.py +3 -1
- {calphy-1.3.8 → calphy-1.3.10/calphy.egg-info}/PKG-INFO +1 -1
- {calphy-1.3.8 → calphy-1.3.10}/setup.py +1 -1
- {calphy-1.3.8 → calphy-1.3.10}/LICENSE +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/MANIFEST.in +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/README.md +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/alchemy.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/clitools.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/composition_transformation.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/errors.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/helpers.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/kernel.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/phase_diagram.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/queuekernel.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/routines.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/solid.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/splines.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy/utils.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/SOURCES.txt +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/dependency_links.txt +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/entry_points.txt +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/not-zip-safe +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/requires.txt +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/calphy.egg-info/top_level.txt +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/setup.cfg +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/tests/test_helpers.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/tests/test_integrators.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/tests/test_options.py +0 -0
- {calphy-1.3.8 → calphy-1.3.10}/tests/test_solid_methods.py +0 -0
|
@@ -40,7 +40,7 @@ from pyscal3.core import structure_dict, element_dict, _make_crystal
|
|
|
40
40
|
from ase.io import read, write
|
|
41
41
|
import shutil
|
|
42
42
|
|
|
43
|
-
__version__ = "1.3.
|
|
43
|
+
__version__ = "1.3.10"
|
|
44
44
|
|
|
45
45
|
def read_report(folder):
|
|
46
46
|
"""
|
|
@@ -72,7 +72,12 @@ def _to_int(val):
|
|
|
72
72
|
if np.isscalar(val):
|
|
73
73
|
return int(val)
|
|
74
74
|
else:
|
|
75
|
-
return [int(x) for x in val]
|
|
75
|
+
return [int(x) for x in val]
|
|
76
|
+
|
|
77
|
+
def _to_none(val):
|
|
78
|
+
if val in ['none', 'None',]:
|
|
79
|
+
return None
|
|
80
|
+
return val
|
|
76
81
|
|
|
77
82
|
def _to_float(val):
|
|
78
83
|
if np.isscalar(val):
|
|
@@ -558,6 +563,8 @@ def _read_inputfile(file):
|
|
|
558
563
|
for count, calc in enumerate(data['calculations']):
|
|
559
564
|
calc['kernel'] = count
|
|
560
565
|
calc['inputfile'] = file
|
|
566
|
+
if 'pressure' in calc.keys():
|
|
567
|
+
calc['pressure'] = _to_none(calc['pressure'])
|
|
561
568
|
calculations.append(Calculation(**calc))
|
|
562
569
|
return calculations
|
|
563
570
|
|
|
@@ -28,7 +28,10 @@ import math
|
|
|
28
28
|
import os
|
|
29
29
|
import warnings
|
|
30
30
|
from calphy.splines import splines, sum_spline1, sum_spline25, sum_spline50, sum_spline75, sum_spline100
|
|
31
|
-
|
|
31
|
+
try:
|
|
32
|
+
from scipy.integrate import cumtrapz
|
|
33
|
+
except ImportError:
|
|
34
|
+
from scipy.integrate import cumulative_trapezoid as cumtrapz
|
|
32
35
|
from tqdm import tqdm
|
|
33
36
|
import pyscal3.core as pc
|
|
34
37
|
from ase.io import read
|
|
@@ -56,7 +56,12 @@ class Liquid(cph.Phase):
|
|
|
56
56
|
|
|
57
57
|
def melt_structure(self, lmp):
|
|
58
58
|
"""
|
|
59
|
-
"""
|
|
59
|
+
"""
|
|
60
|
+
if self.calc._fix_lattice and self.calc.melting_cycle:
|
|
61
|
+
|
|
62
|
+
raise ValueError("Cannot fix lattice and melt structure (set to False) at the same time")
|
|
63
|
+
|
|
64
|
+
|
|
60
65
|
melted = False
|
|
61
66
|
|
|
62
67
|
#this is the multiplier for thigh to try melting routines
|
|
@@ -136,11 +141,14 @@ class Liquid(cph.Phase):
|
|
|
136
141
|
if self.calc.melting_cycle:
|
|
137
142
|
self.melt_structure(lmp)
|
|
138
143
|
|
|
139
|
-
|
|
140
|
-
|
|
144
|
+
if not self.calc._fix_lattice:
|
|
145
|
+
#now assign correct temperature and equilibrate
|
|
146
|
+
self.run_zero_pressure_equilibration(lmp)
|
|
141
147
|
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
#converge pressure
|
|
149
|
+
self.run_pressure_convergence(lmp)
|
|
150
|
+
else:
|
|
151
|
+
self.run_constrained_pressure_convergence(lmp)
|
|
144
152
|
|
|
145
153
|
#check melted error
|
|
146
154
|
self.dump_current_snapshot(lmp, "traj.equilibration_stage1.dat")
|
|
@@ -622,6 +622,7 @@ class Phase:
|
|
|
622
622
|
self.lz = np.round(np.mean(lz[-ncount+1:]), decimals=3)
|
|
623
623
|
self.volatom = volatom
|
|
624
624
|
self.vol = self.lx*self.ly*self.lz
|
|
625
|
+
self.rho = self.natoms/(self.lx*self.ly*self.lz)
|
|
625
626
|
self.logger.info("finalized vol/atom %f at pressure %f"%(self.volatom, mean))
|
|
626
627
|
self.logger.info("Avg box dimensions x: %f, y: %f, z:%f"%(self.lx, self.ly, self.lz))
|
|
627
628
|
|
|
@@ -90,6 +90,7 @@ class SLURM:
|
|
|
90
90
|
"""
|
|
91
91
|
self.queueoptions = {"scheduler": "slurm",
|
|
92
92
|
"jobname": "tis",
|
|
93
|
+
"queuename": None,
|
|
93
94
|
"walltime": "23:59:00",
|
|
94
95
|
"memory": "3GB",
|
|
95
96
|
"cores": cores,
|
|
@@ -125,7 +126,8 @@ class SLURM:
|
|
|
125
126
|
#write the main header options
|
|
126
127
|
fout.write("#SBATCH --job-name=%s\n" %self.queueoptions["jobname"])
|
|
127
128
|
fout.write("#SBATCH --time=%s\n" %self.queueoptions["walltime"])
|
|
128
|
-
|
|
129
|
+
if self.queueoptions["queuename"] is not None:
|
|
130
|
+
fout.write("#SBATCH --partition=%s\n"%self.queueoptions["queuename"])
|
|
129
131
|
fout.write("#SBATCH --ntasks=%s\n" %str(self.queueoptions["cores"]))
|
|
130
132
|
fout.write("#SBATCH --mem-per-cpu=%s\n"%self.queueoptions["memory"])
|
|
131
133
|
fout.write("#SBATCH --hint=%s\n" %self.queueoptions["hint"])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|