def test_raise_warning(self): with warnings.catch_warnings(record=True) as w: xanes_test = XANES(self.test_row_x, self.test_row_spect, self.test_row_absorb_specie, edge="K", **self.test_row_add_paras) self.assertTrue("maximum derivative" in str(w[-1].message)) self.assertEqual(xanes_test.composition, "NaB(CO2)4") self.assertEqual(len(xanes_test.x), 200) self.assertEqual(xanes_test.xas_id, "mp-559618-4-XANES-K") self.assertEqual(xanes_test.elemental_group, "Carbon") with warnings.catch_warnings(record=True) as w: xanes_test_2 = XANES( self.test_row_x, self.test_row_spect, self.test_row_absorb_specie, edge="K", e0=self.test_row_energy_e0, **self.test_row_add_paras, ) self.assertEqual(len(w), 0) self.assertEqual(xanes_test_2.composition, "NaB(CO2)4") self.assertEqual(len(xanes_test_2.x), 200) self.assertEqual(xanes_test_2.e0, 274.98) self.assertEqual(xanes_test_2.xas_id, "mp-559618-4-XANES-K") self.assertEqual(xanes_test_2.elemental_group, "Carbon")
def setUp(self): self.test_row = comp_test_df.iloc[0] self.test_row_formula = self.test_row["formula"] self.test_row_ele_group = self.test_row["ele_tm_alka_metalloid"] self.test_row_xas_id = self.test_row["xas_id"] self.test_row_absorb_specie = self.test_row["absorbing_species"] self.test_row_energy_e0 = self.test_row["energy_e0"] self.test_row_structure = self.test_row["structure"] self.test_row_x = self.test_row["x_axis_energy_55eV"] self.test_row_spect = self.test_row["interp_spectrum_55eV"] self.test_row_x_45 = self.test_row["x_axis_energy_45eV"] self.test_row_spect_45 = self.test_row["interp_spectrum_45eV"] self.test_row_add_paras = { "composition": self.test_row_formula, "elemental_group": self.test_row_ele_group, "xas_id": self.test_row_xas_id, "energy_45eV": self.test_row_x_45, "spectrum_45eV": self.test_row_spect_45, } self.xanes_obj = XANES( self.test_row_x, self.test_row_spect, self.test_row_absorb_specie, edge="K", e0=self.test_row_energy_e0, **self.test_row_add_paras, )
def test_cenv_prediction_cnn(self): self.Al2O3_origin_obj = XANES( Al2O3_dataset["prev_interp_energy"], Al2O3_dataset["prev_interp_spectrum"], Al2O3_dataset["absorbing_species"], edge="K", e0=Al2O3_dataset["edge_energy"], ) self.Al2O3_cenv_pred_origin = CenvPrediction( self.Al2O3_origin_obj, "E0", energy_range=Al2O3_dataset["energy_range"], edge_energy=Al2O3_dataset["edge_energy"], spectrum_interpolation=False, model_dir=model_dir, extra_model_dir=model_dir, model="cnn", ) self.Al2O3_cenv_pred_origin.cenv_prediction() self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cnum_ranklist, "CN_4-CN_3-CN_6") self.assertEqual( self.Al2O3_cenv_pred_origin.pred_cenv[0], "CN_4-tetrahedral-trigonal pyramidal-see-saw-like-square co-planar", )
def test_tsv_loading(self): self.Fe_xanes = XANES.from_K_XANES_MP_tsv(Fe_tsv, sep='\t', header=3) self.Fe_CenvPred = CenvPrediction(self.Fe_xanes, 'lowest', 45) self.Fe_CenvPred.cenv_prediction() self.assertEqual(self.Fe_CenvPred.pred_cnum_ranklist, 'CN_4') self.assertEqual(self.Fe_CenvPred.pred_cenv[0], 'CN_4-tetrahedral-trigonal pyramidal-see-saw-like-square co-planar')
def test_cenv_prediction(self): self.Al2O3_origin_obj = XANES(Al2O3_dataset['prev_interp_energy'], Al2O3_dataset['prev_interp_spectrum'], Al2O3_dataset['absorbing_species'], edge='K', e0=Al2O3_dataset['edge_energy']) self.Al2O3_cenv_pred_origin = CenvPrediction(self.Al2O3_origin_obj, 'E0', energy_range=Al2O3_dataset['energy_range'], edge_energy=Al2O3_dataset['edge_energy'], spectrum_interpolation=False, model_dir=model_dir) self.Al2O3_cenv_pred_origin.cenv_prediction() self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cnum_ranklist, 'CN_6') self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cenv[0], 'CN_6 coord. motif undetermined')
def test_cenv_prediction_cnn(self): self.Al2O3_origin_obj = XANES(Al2O3_dataset['prev_interp_energy'], Al2O3_dataset['prev_interp_spectrum'], Al2O3_dataset['absorbing_species'], edge='K', e0=Al2O3_dataset['edge_energy']) self.Al2O3_cenv_pred_origin = CenvPrediction(self.Al2O3_origin_obj, 'E0', energy_range=Al2O3_dataset['energy_range'], edge_energy=Al2O3_dataset['edge_energy'], spectrum_interpolation=False, model_dir=model_dir, extra_model_dir=model_dir, model='cnn') self.Al2O3_cenv_pred_origin.cenv_prediction() self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cnum_ranklist, 'CN_4-CN_3-CN_6') self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cenv[0], 'CN_4-tetrahedral-trigonal pyramidal-see-saw-like-square co-planar')
def setUp(self): self.test_row = comp_test_df.iloc[0] self.test_row_formula = self.test_row['formula'] self.test_row_ele_group = self.test_row['ele_tm_alka_metalloid'] self.test_row_xas_id = self.test_row['xas_id'] self.test_row_absorb_specie = self.test_row['absorbing_species'] self.test_row_energy_e0 = self.test_row['energy_e0'] self.test_row_structure = self.test_row['structure'] self.test_row_x = self.test_row['x_axis_energy_55eV'] self.test_row_spect = self.test_row['interp_spectrum_55eV'] self.test_row_x_45 = self.test_row['x_axis_energy_45eV'] self.test_row_spect_45 = self.test_row['interp_spectrum_45eV'] self.test_row_add_paras = { 'composition': self.test_row_formula, 'elemental_group': self.test_row_ele_group, 'xas_id': self.test_row_xas_id, 'energy_45eV': self.test_row_x_45, 'spectrum_45eV': self.test_row_spect_45 } self.xanes_obj = XANES(self.test_row_x, self.test_row_spect, self.test_row_absorb_specie, edge='K', e0=self.test_row_energy_e0, **self.test_row_add_paras)
def test_cenv_prediction(self): self.Al2O3_origin_obj = XANES( Al2O3_dataset["prev_interp_energy"], Al2O3_dataset["prev_interp_spectrum"], Al2O3_dataset["absorbing_species"], edge="K", e0=Al2O3_dataset["edge_energy"], ) self.Al2O3_cenv_pred_origin = CenvPrediction( self.Al2O3_origin_obj, "E0", energy_range=Al2O3_dataset["energy_range"], edge_energy=Al2O3_dataset["edge_energy"], spectrum_interpolation=False, model_dir=model_dir, ) self.Al2O3_cenv_pred_origin.cenv_prediction() self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cnum_ranklist, "CN_6") self.assertEqual(self.Al2O3_cenv_pred_origin.pred_cenv[0], "CN_6 coord. motif undetermined")