Skip to content

Commit 768fbc5

Browse files
committed
summation of mean volume for conductivity calculation for dtype identical
1 parent 104cb7e commit 768fbc5

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

kinisi/analyzer.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ def _from_xdatcar(
156156
]
157157
p = u[0]
158158
p.displacements = sc.concat([i.displacements for i in u], 'particle')
159+
p._volume = sc.concat([i._volume for i in u], 'repeats')
159160
return cls(p)
160161
elif dtype == 'consecutive':
161162
structures = _flatten_list([x.structures for x in trajectory])
@@ -226,6 +227,7 @@ def _from_universe(
226227
]
227228
p = u[0]
228229
p.displacements = sc.concat([i.displacements for i in u], 'particle')
230+
p._volume = sc.concat([i._volume for i in u], 'repeats')
229231
return cls(p)
230232
else:
231233
raise ValueError('The dtype specified was not recognised, please consult the kinisi documentation.')
@@ -281,6 +283,7 @@ def _from_ase(
281283
]
282284
p = u[0]
283285
p.displacements = sc.concat([i.displacements for i in u], 'particle')
286+
p._volume = sc.concat([i._volume for i in u], 'repeats')
284287
return cls(p)
285288
elif dtype == 'consecutive':
286289
structures = _flatten_list([x for x in trajectory])

kinisi/diffusion.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,8 @@ def _conductivity(
219219
_conductivity_diffusion_coefficient = sc.to_unit(
220220
self.gradient / (2 * self.dg['dimensionality'].value), 'coulomb2cm2/s'
221221
)
222+
if volume.shape[0] >= 1:
223+
volume = sc.sum(volume)
222224
conversion = number_of_particles / (volume * k * temperature)
223225
_sigma = sc.to_unit(_conductivity_diffusion_coefficient * conversion, 'mS/cm')
224226
self._sigma = Samples(_sigma.values, _sigma.unit)

kinisi/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def __init__(
116116
self.dimensionality = drift_corrected.sizes['dimension'] * sc.units.dimensionless
117117

118118
self.displacements = drift_corrected['particle', indices]
119-
self._volume = np.prod(latt.values[0].diagonal()) * latt.unit**3
119+
self._volume = np.mean([np.prod(latt.values[i].diagonal()) for i in range(latt.sizes['time'])]) * latt.unit**3
120120

121121
def _to_datagroup(self, hdf5=True) -> sc.DataGroup:
122122
"""

0 commit comments

Comments
 (0)