def main(): if not os.path.isdir('TMXR200X'): os.makedirs('TMXR200X') #for database in ['TM1R2006']: for database in database_files.keys(): fh = open(database_files[database]['module'].lower() + '.py', 'w') fh.write('# Computer generated code! Hands off!\n') fh.write('# Generated: ' + str(datetime.date.today()) + '\n') fh.write('from numpy import array\n') fh.write('data = ') data = {} # specification of molecules info = {} # reference/calculation info # download structures file = database_files[database]['pdf'] f = os.path.abspath(download_file(url_root, file, dir='TMXR200X')) f = pdftotext(f) geometries = read_geometries(f) # set number of unpaired electrons and charges no_unpaired_electrons = [] charges = [] for a in geometries: magmom = sum(a[1].get_initial_magnetic_moments()) if magmom > 0.0: no_unpaired_electrons.append((a[0], magmom)) charge = sum(a[1].get_charges()) if abs(charge) > 0.0: charges.append((a[0], charge)) data = format_data(database, geometries, no_unpaired_electrons, charges) # all constituent atoms atoms = [] for formula, geometry in geometries: atoms.extend(list(set(geometry.get_chemical_symbols()))) atoms = list(set(atoms)) atoms.sort() for atom in atoms: magmom = ground_state_magnetic_moments[atomic_numbers[atom]] data[atom] = { 'database': database, 'name': atom, 'symbols': atom, 'magmoms': [magmom], # None or list 'charges': None, # None or list 'positions': np.array([[0.0] * 3]), } Atom(atom, magmom=magmom) pprint.pprint(data, stream=fh) fh.close()
def main(): if not os.path.isdir('TMXR200X'): os.makedirs('TMXR200X') #for database in ['TM1R2006']: for database in database_files.keys(): fh = open(database_files[database]['module'].lower() + '.py', 'w') fh.write('# Computer generated code! Hands off!\n') fh.write('# Generated: ' + str(datetime.date.today()) + '\n') fh.write('from numpy import array\n') fh.write('data = ') data = {} # specification of molecules info = {} # reference/calculation info # download structures file = database_files[database]['pdf'] f = os.path.abspath(download_file(url_root, file, dir='TMXR200X')) f = pdftotext(f) geometries = read_geometries(f) # set number of unpaired electrons and charges no_unpaired_electrons = [] charges = [] for a in geometries: magmom = sum(a[1].get_initial_magnetic_moments()) if magmom > 0.0: no_unpaired_electrons.append((a[0], magmom)) charge = sum(a[1].get_charges()) if abs(charge) > 0.0: charges.append((a[0], charge)) data = format_data(database, geometries, no_unpaired_electrons, charges) # all constituent atoms atoms = [] for formula, geometry in geometries: atoms.extend(list(set(geometry.get_chemical_symbols()))) atoms=list(set(atoms)) atoms.sort() for atom in atoms: magmom=ground_state_magnetic_moments[atomic_numbers[atom]] data[atom] = { 'database': database, 'name': atom, 'symbols': atom, 'magmoms': [magmom], # None or list 'charges': None, # None or list 'positions': np.array([[0.0]*3]), } Atom(atom, magmom=magmom) pprint.pprint(data, stream=fh) fh.close()