File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ])
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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 """
You can’t perform that action at this time.
0 commit comments