def main(): df = pd.read_csv('calc_data.csv') converged = df['converged'] == True few_steps = df['ionic_steps'] < 10 to_scrape = list(df[converged & few_steps].iloc[:, 0]) converged_calculations = [] for converged_calculation in tqdm(to_scrape): vr = Vasprun(f'{converged_calculation}/vasprun.xml', parse_potcar_file=False) entry = vr.get_computed_entry() entry.entry_id = converged_calculation entry_dict = entry.as_dict() if vr.parameters['LORBIT'] == 11: outcar = Outcar(f'{converged_calculation}/OUTCAR') entry_dict.update({'MAGMOMS': outcar.magnetization}) converged_calculations.append(entry_dict) with open('calculation_data.json', 'w') as calc_data: json.dump(converged_calculations, calc_data)
entry for entry in all_entries if entry.composition.reduced_formula == Composition(formula).reduced_formula ] relevant_entries = sorted(relevant_entries, key=lambda e: e.energy_per_atom) return relevant_entries[0] def get_comp_entries(formula, all_entries): relevant_entries = [ entry for entry in all_entries if entry.composition.reduced_formula == Composition(formula).reduced_formula ] return relevant_entries def find_entry_index(formula, all_entries): entry_index = [ all_entries.index(entry) for entry in all_entries if entry.composition.reduced_formula == Composition( formula).reduced_formula ] return entry_index vasprun = Vasprun("vasprun.xml") entry = vasprun.get_computed_entry(inc_structure=True) compatibility = MaterialsProjectCompatibility() entry = compatibility.process_entry(entry) #entries = compatibility.process_entries([entry] + mp_entries)