def submit_all_snl(min=None, max=None): constraints = { 'is_ordered': True, 'is_valid': True, 'nsites': { '$lte': 200 }, 'canonical_snl.about.projects': { '$ne': 'CederDahn Challenge' } } constraints['elements'] = {'$nin': NO_POTCARS} constraints['canonical_snl.about.history.name'] = { "$ne": "Materials Project structure optimization" } constraints['canonical_snl.about.remarks'] = {"$ne": "DEPRECATED"} if min and max: constraints['snlgroup_id'] = {'$gte': min, '$lte': max} elif min or max: raise ValueError('Must specify both min AND max if you specify one') snldb = SNLMongoAdapter.auto_load() sma = SubmissionMongoAdapter.auto_load() for result in snldb.snlgroups.find(constraints, { 'canonical_snl': 1, 'snlgroup_id': 1 }): snl = MPStructureNL.from_dict(result['canonical_snl']) parameters = {'snlgroup_id': result['snlgroup_id']} sma.submit_snl(snl, 'Anubhav Jain <*****@*****.**>', parameters=parameters)
def clear_env(): sma = SubmissionMongoAdapter.auto_load() lp = LaunchPad.auto_load() snl = SNLMongoAdapter.auto_load() db_dir = os.environ['DB_LOC'] db_path = os.path.join(db_dir, 'tasks_db.json') with open(db_path) as f: db_creds = json.load(f) sma._reset() lp.reset('', require_password=False) snl._reset() conn = MongoClient(db_creds['host'], db_creds['port']) db = conn[db_creds['database']] db.authenticate(db_creds['admin_user'], db_creds['admin_password']) db.tasks.remove() db.boltztrap.remove() db.counter.remove() db['dos_fs.chunks'].remove() db['dos_fs.files'].remove() db['band_structure_fs.files'].remove() db['band_structure_fs.files'].remove()
def clear_env(): sma = SubmissionMongoAdapter.auto_load() lp = LaunchPad.auto_load() snl = SNLMongoAdapter.auto_load() db_dir = os.environ['DB_LOC'] db_path = os.path.join(db_dir, 'tasks_db.json') with open(db_path) as f: db_creds = json.load(f) sma._reset() lp.reset('', require_password=False) snl._reset() conn = MongoClient(db_creds['host'], db_creds['port']) db = conn[db_creds['database']] db.authenticate(db_creds['admin_user'], db_creds['admin_password']) db.tasks.remove() db.boltztrap.remove() db.counter.remove() db['dos_fs.chunks'].remove() db['dos_fs.files'].remove() db['band_structure_fs.files'].remove() db['band_structure_fs.files'].remove()
def submit_all_snl(min=None, max=None): constraints = {'is_ordered': True, 'is_valid': True, 'nsites': {'$lte': 200}, 'canonical_snl.about.projects': {'$ne': 'CederDahn Challenge'}} constraints['elements'] = {'$nin': NO_POTCARS} constraints['canonical_snl.about.history.name'] = {"$ne":"Materials Project structure optimization"} constraints['canonical_snl.about.remarks'] = {"$ne": "DEPRECATED"} if min and max: constraints['snlgroup_id'] = {'$gte': min, '$lte': max} elif min or max: raise ValueError('Must specify both min AND max if you specify one') snldb = SNLMongoAdapter.auto_load() sma = SubmissionMongoAdapter.auto_load() for result in snldb.snlgroups.find(constraints, {'canonical_snl': 1, 'snlgroup_id': 1}): snl = MPStructureNL.from_dict(result['canonical_snl']) parameters = {'snlgroup_id': result['snlgroup_id']} sma.submit_snl(snl, 'Anubhav Jain <*****@*****.**>', parameters=parameters)
def auto_load(cls): sma = SubmissionMongoAdapter.auto_load() lp = LaunchPad.auto_load() return SubmissionProcessor(sma, lp)
def auto_load(cls): sma = SubmissionMongoAdapter.auto_load() lp = LaunchPad.auto_load() return SubmissionProcessor(sma, lp)
def submit_tests(names=None, params=None): sma = SubmissionMongoAdapter.auto_load() # note: TiO2 is duplicated twice purposely, duplicate check should catch this compounds = { "Si": 149, "Al": 134, "ZnO": 2133, "FeO": 18905, "LiCoO2": 601860, "LiFePO4": 585433, "GaAs": 2534, "Ge": 32, "PbTe": 19717, "YbO": 1216, "SiC": 567551, "Fe3C": 510623, "SiO2": 547211, "Na2O": 2352, "InSb (unstable)": 10148, "Sb2O5": 1705, "N2O5": 554368, "BaTiO3": 5020, "Rb2O": 1394, "TiO2": 554278, "TiO2 (2)": 554278, 'BaNbTePO8': 560794, "AgCl": 22922, "AgCl (2)": 570858, "SiO2 (2)": 555211, "Mg2SiO4": 2895, "CO2": 20066, "PbSO4": 22298, "SrTiO3": 5532, "FeAl": 2658, "AlFeCo2": 10884, "NaCoO2": 554427, "ReO3": 547271, "LaH2": 24153, "SiH3I": 28538, "LiBH4": 30209, "H8S5N2": 28143, "LiOH": 23856, "SrO2": 2697, "Mn": 35, "Hg4Pt": 2312, "PdF4": 13868, "Gd2WO6": 651333, 'MnO2': 19395, 'VO2': 504800 } mpr = MPRester() for name, sid in compounds.iteritems(): if not names or name in names: sid = mpr.get_materials_id_from_task_id("mp-{}".format(sid)) s = mpr.get_structure_by_material_id(sid, final=False) snl = StructureNL(s, 'Anubhav Jain <*****@*****.**>') parameters = {'priority': 10} if name == 'Si' else None if params: parameters.update(params) sma.submit_snl(snl, '*****@*****.**', parameters=parameters)
#els_n1.append("Cu") #els_n1.append("Au") #print els_n1 #MA =[17,35,53,71,89,107,143,215] #2*3*3 system #MA = [7,15,23,31,39,47,63,95] #FA = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,19,20,30,31,32,33,34,35]#alpha #FA = [0,1,2,3,4,5,6,7,8,9,12,13,20,21,22,23]#delta #FA = [0,1,2,3,4,5,6,7] #s.remove_sites(FA) #add = [0.7469,0.74726,0.7469] # for 2*2*2 system #add = [0.74626,0.830865,0.8315] #add1 = [0.66667,0.33333,0.34262]#alpha #add1 = [0.33333,0.66667,0.15493]#delta #add = [0.5,0.56901,0.5] #s.append('K',add)#els_n1[9 #add2 = [0.33333,0.66667,0.61381]#alpha #add2 = [0.66667,0.33333,0.65493]#delta #s.append('K',add2) #add3 = [0,0,0.010678]#alpha #s.append('K',add3) #s.to(fmt="poscar",filename="POSCAR4") spacegroup = SpacegroupAnalyzer(s) print('space group symbol:', spacegroup.get_space_group_symbol()) print('space group number:', spacegroup.get_space_group_number()) sma = SubmissionMongoAdapter.auto_load() snl = StructureNL(s, authors='WenQi <*****@*****.**>', remarks=['MAPbI3', 'B-site']) parameters = {'boltztrap': False, 'force_gamma': True} sma.submit_snl(snl, '*****@*****.**', parameters=parameters)
def submit_tests(names=None, params=None): sma = SubmissionMongoAdapter.auto_load() # note: TiO2 is duplicated twice purposely, duplicate check should catch this compounds = {"Si": 149, "Al": 134, "ZnO": 2133, "FeO": 18905, "LiCoO2": 601860, "LiFePO4": 585433, "GaAs": 2534, "Ge": 32, "PbTe": 19717, "YbO": 1216, "SiC": 567551, "Fe3C": 510623, "SiO2": 547211, "Na2O": 2352, "InSb (unstable)": 10148, "Sb2O5": 1705, "N2O5": 554368, "BaTiO3": 5020, "Rb2O": 1394, "TiO2": 554278, "TiO2 (2)": 554278, 'BaNbTePO8': 560794, "AgCl": 22922, "AgCl (2)": 570858, "SiO2 (2)": 555211, "Mg2SiO4": 2895, "CO2": 20066, "PbSO4": 22298, "SrTiO3": 5532, "FeAl": 2658, "AlFeCo2": 10884, "NaCoO2": 554427, "ReO3": 547271, "LaH2": 24153, "SiH3I": 28538, "LiBH4": 30209, "H8S5N2": 28143, "LiOH": 23856, "SrO2": 2697, "Mn": 35, "Hg4Pt": 2312, "PdF4": 13868, "Gd2WO6": 651333, 'MnO2': 19395, 'VO2': 504800} mpr = MPRester() for name, sid in compounds.iteritems(): if not names or name in names: sid = mpr.get_materials_id_from_task_id("mp-{}".format(sid)) s = mpr.get_structure_by_material_id(sid, final=False) snl = StructureNL(s, 'Anubhav Jain <*****@*****.**>') parameters = {'priority': 10} if name == 'Si' else None if params: parameters.update(params) sma.submit_snl(snl, '*****@*****.**', parameters=parameters)