コード例 #1
0
atoms = ase.io.read("./primCIFs/Cd.cif")
#atoms = bulk(element,struct,a=La,b=Lb,c=Lc,alpha=Lalpha)
# sc,fcc,bcc,tetragonal,bct,hcp,rhmbohedral,orthorhombic
# mlc, diamond,zincblende,rocksalt,cesiumchloride, fluorite, wurtzite
atoms.set_calculator(calc)
atoms.get_potential_energy()

# Get the valence band maximum
efermi = calc.get_fermi_level()
Nk = len(calc.get_ibz_k_points())
Ns = calc.get_number_of_spins()
eigval = np.array([[calc.get_eigenvalues(kpt=k, spin=s)
                    for k in range(Nk)] for s in range(Ns)])
evbm = np.max(eigval[eigval < efermi])

# Next, a band structure calculation
calc.set(nbands=nbnd,  # 4 occupied and 4 unoccupied bands
         fixdensity=True,
         eigensolver=CG(niter=5),
         symmetry='off',
         kpts={'path': spath, 'npoints': 50},
         convergence={'bands': 'all'},
         )
calc.get_potential_energy()

bs_gpaw = calc.band_structure()
#bs_gpaw.reference = evbm
bs_gpaw_reference = evbm
bs_gpaw.plot(filename='bs_gpaw_data.png', show=False, emax=evbm + 5., emin=evbm - 15.)
write_json('bs_gpaw.json', bs_gpaw)
コード例 #2
0
    tprnfor=True,  # kwargs added to parameters
    input_data=input_data)

atoms.calc = calc
atoms.get_potential_energy()

# Get the valence band maximum
efermi = calc.get_fermi_level()
Nk = len(calc.get_ibz_k_points())
Ns = calc.get_number_of_spins()
eigval = np.array([[calc.get_eigenvalues(kpt=k, spin=s) for k in range(Nk)]
                   for s in range(Ns)])
evbm = np.max(eigval[eigval < efermi])

# Next, a band structure calculation
input_data['control'].update({
    'calculation': 'bands',
    'restart_mode': 'restart',
    'verbosity': 'high'
})
calc.set(kpts={'path': spath, 'npoints': 50}, input_data=input_data)
calc.calculate(atoms)

bs_qe = calc.band_structure()
bs_qe.reference = evbm
bs_qe.plot(filename='bs_qe_data.png',
           show=False,
           emax=evbm + 5.,
           emin=evbm - 15.)
write_json('bs_qe.json', bs_qe)
コード例 #3
0
ファイル: stm.py プロジェクト: rashidrafeek/ase
 def write(self, filename):
     """Write local density of states to JSON file."""
     write_json(filename, (self.ldos, self.bias, self.cell))
コード例 #4
0
 def dump(self, data):
     if world.rank == 0 and self.restart is not None:
         with open(self.restart, 'w') as fd:
             write_json(fd, data)
コード例 #5
0
from datetime import datetime

import numpy as np
import io

from ase.io.jsonio import encode, decode, read_json, write_json

assert decode(encode(np.int64(42))) == 42

c = np.array([0.1j])
assert (decode(encode(c)) == c).all()

fd = io.StringIO()

obj1 = {'hello': 'world'}
write_json(fd, obj1)
fd.seek(0)
obj2 = read_json(fd)

print(obj1)
print(obj2)

for obj in [0.5 + 1.5j, datetime.now()]:
    s = encode(obj)
    o = decode(s)
    print(obj)
    print(s)
    print(obj)
    assert obj == o, (obj, o, s)
コード例 #6
0

def write_file():
    f_ = open("tmp.traj","a")
    f_.write("{}".format(spositions))

    return 0











if __name__ == '__main__':
    
    #write_file()    
    jsonio.write_json("tmp.traj",positions)

    
    
    sys.exit()