コード例 #1
0
 def get_enthalpy(self, elements, num_atoms):
     """Convert energy (eV/atom) to enthalpy (kJ/mol)"""
     ref_energy = 0
     total_num = sum(num_atoms)
     for element, num in zip(elements, num_atoms):
         ref_energy += solid.REFERENCE[element] * num
     ref_energy = ref_energy / total_num
     enthalpy = ((self.data['energy'] - ref_energy) * 96.485344520851)
     dtype = ('enthalpy', 'f8')
     self.data = Array.add_data(self.data, enthalpy, dtype)
     self.output_list.append('enthalpy')
コード例 #2
0
 def get_mae(self, osz1, osz2, label):
     """
     MAEの計算値をself.data_arrayに追加
     """
     initial = self.filetype
     self.alt_filetype(output=osz1)
     soc1 = self.get_data()
     self.alt_filetype(output=osz2)
     soc2 = self.get_data()
     mae = (soc2['energy'] - soc1['energy']) * (10 ** 6)
     bools = [soc2['bool'][x] and soc1['bool'][x]
              for x in range(0, len(soc1['bool']))]
     dtype = (label, 'f8')
     self.data = Array.add_data(self.data, mae, dtype)
     self.trim_bool(self.data, bools, 'mae')
     self.filetype = initial
     line = "MAE = '{0}' - '{1}'".format(osz2, osz1)
     print(line)
     self.output_list.append('mae')