Esempio n. 1
0
def test_2d_interface():
    jids = [
        "JVASP-649",
        "JVASP-652",
        "JVASP-658",
        "JVASP-664",
        "JVASP-688",
        "JVASP-6841",
        "JVASP-5983",
        "JVASP-60244",
        "JVASP-60389",
        "JVASP-76195",
    ]
    # jids = ["JVASP-652", "JVASP-664"]
    jids = ["JVASP-76195", "JVASP-5983"]
    jids = ["JVASP-76195", "JVASP-60389"]
    # jids = ["JVASP-76195", "JVASP-60244"]
    jids = ["JVASP-688", "JVASP-664"]
    jids = ["JVASP-652", "JVASP-646"]
    jids = ["JVASP-652", "JVASP-658"]  # WS2,WSe2
    count = 0
    for i in jids:
        for j in jids:
            if count < 100 and i != j:
                # try:
                intf = get_2d_hetero_jids(jid1=i, jid2=j)
                if intf.num_atoms < 200:

                    count = count + 1
                    print(i, j)
                    p = Poscar(intf)
                    filename = "POSCAR-" + str(i) + "_" + str(j) + ".vasp"
                    p.comment = "Surf@" + str(i) + "_" + str(j)
                    print(p)
                    # p.write_file(filename)
                    print()
                    print()
                    print()
Esempio n. 2
0
from jarvis.tasks.vasp.vasp import JobFactory, write_jobfact_optb88vdw
from jarvis.db.figshare import get_jid_data

tmp_dict = get_jid_data(jid="JVASP-816", dataset="dft_3d")["atoms"]
atoms = Atoms.from_dict(tmp_dict)

vasp_cmd = "mpirun /users/knc6/VASP/vasp54/src/vasp.5.4.1DobbySOC2/bin/vasp_std"
copy_files = ["/users/knc6/bin/vdw_kernel.bindat"]
submit_cmd = ["qsub", "submit_job"]
jids = ["JVASP-1002", "JVASP-1067"]

for jid in jids:
    d = get_jid_data(jid=jid, dataset="dft_3d")
    atoms = Atoms.from_dict(d["atoms"]).get_primitive_atoms
    mat = Poscar(atoms)
    mat.comment = "bulk@" + str(jid)
    cwd_home = os.getcwd()
    dir_name = d["jid"] + "_" + str("PBEBO")
    if not os.path.exists(dir_name):
        os.makedirs(dir_name)
    os.chdir(dir_name)
    job = JobFactory(
        vasp_cmd=vasp_cmd,
        poscar=mat,
        copy_files=copy_files,
    )
    dumpjson(data=job.to_dict(), filename="job_fact.json")
    write_jobfact_optb88vdw(pyname="job_fact.py", job_json="job_fact.json")

    # Example job commands, need to change based on your cluster
    job_line = ("source ~/anaconda2/envs/my_jarvis/bin/activate my_jarvis \n" +