Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
    def auto_load(cls):
        sma = SubmissionMongoAdapter.auto_load()
        lp = LaunchPad.auto_load()

        return SubmissionProcessor(sma, lp)
Exemplo n.º 6
0
    def auto_load(cls):
        sma = SubmissionMongoAdapter.auto_load()
        lp = LaunchPad.auto_load()

        return SubmissionProcessor(sma, lp)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
#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)
Exemplo n.º 9
-1
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)