@@ -67,7 +67,7 @@ def __init__(
6767 dm = self .phonopy .dynamical_matrix .dynamical_matrix
6868 eigv , eigf = numpy .linalg .eigh (dm )
6969
70- self .N = self .structure . get_number_of_atoms ( )
70+ self .N = len ( self .structure )
7171 l_logger .info ('Analyze {} modes (including acoustic)' .format (3 * self .N ))
7272 self .frequencies = numpy .sqrt (numpy .abs (eigv .real )) * numpy .sign (eigv .real )
7373 self .frequencies *= VaspToCm # in [cm⁻¹]
@@ -90,12 +90,12 @@ def __init__(
9090
9191 try :
9292 self .phonopy .set_irreps (q )
93- self .irreps = phonon .get_irreps ()
93+ self .irreps = phonon .irreps
9494
95- # TODO: that's internal API, so subject to change!
96- for label , dgset in zip (self .irreps ._get_ir_labels () , self .irreps ._degenerate_sets ):
97- for j in dgset :
98- self .irrep_labels [j ] = label
95+ if self . irreps . _ir_labels is not None :
96+ for label , dgset in zip (self .irreps ._ir_labels , self .irreps .band_indices ):
97+ for j in dgset :
98+ self .irrep_labels [j ] = label
9999 except RuntimeError as e :
100100 l_logger .warn ('Error while computing irreps ({}). Incorrect labels will be assigned.' .format (e ))
101101
@@ -210,9 +210,7 @@ def prepare_raman(
210210
211211 for i , (value , _ ) in enumerate (stencil ):
212212 displaced_geometry = base_geometry .copy ()
213- displaced_geometry .set_positions (
214- base_geometry .positions + value * step * self .eigendisps [mode ]
215- )
213+ displaced_geometry .positions = base_geometry .positions + value * step * self .eigendisps [mode ]
216214
217215 path = directory / self .DC_GEOMETRY_TEMPLATE .format (mode + 1 , i + 1 ) # 1-based output
218216 l_logger .debug ('Write displaced geometry for (mode={}, step={}) in `{}`' .format (mode , i , path ))
0 commit comments