3.0 RESTful TutorialsΒΆ

We will show here how to interact with the remote server where the pw.x, wstat.x and wfreq.x are already installed.

We start by importing WESTPy and generating a ground state input file for methane.

[1]:
from westpy import *

 _    _ _____ _____ _____
| |  | |  ___/  ___|_   _|
| |  | | |__ \ `--.  | |_ __  _   _
| |/\| |  __| `--. \ | | '_ \| | | |
\  /\  / |___/\__/ / | | |_) | |_| |
 \/  \/\____/\____/  \_/ .__/ \__, |
                       | |     __/ |
                       |_|    |___/

WEST version     :  3.1.1
Today            :  2018-09-19 15:33:45.581889
[2]:
geom = Geometry()
[3]:
geom.setCell((25,0,0),(0,25,0),(0,0,25))
[4]:
geom.addAtomsFromOnlineXYZ( "http://www.west-code.org/doc/training/methane/CH4.xyz" )
[5]:
geom.addSpecies( "C", "http://www.quantum-simulation.org/potentials/sg15_oncv/upf/C_ONCV_PBE-1.0.upf")
geom.addSpecies( "H", "http://www.quantum-simulation.org/potentials/sg15_oncv/upf/H_ONCV_PBE-1.0.upf")
[6]:
gs = GroundState(geom,xc="PBE",ecut=40.0)
[7]:
gs.generateInputPW()

Generated file:  pw.in

We now create a session on the remote server.

[8]:
session = Session("your.email@domain.edu")
Check the inbox/spam folder of your email and click on the link to activate the session
[10]:
session.status()
[10]:
{'Active': 'True', 'Time Left': '59 minutes'}
[11]:
download = ["http://www.quantum-simulation.org/potentials/sg15_oncv/upf/C_ONCV_PBE-1.0.upf","http://www.quantum-simulation.org/potentials/sg15_oncv/upf/H_ONCV_PBE-1.0.upf"]
pw_output = session.run("pw","pw.in","pw.out",download,3)
Requested to run executable pw on server imedevel.uchicago.edu
Generated  pw.out

We now generate the input for wstat.x.

[12]:
data = {}
data["input_west"] = {}
data["input_west"]["qe_prefix"] = "calc"
data["input_west"]["west_prefix"] = "calc"
data["input_west"]["outdir"] = "./"
data["wstat_control"] = {}
data["wstat_control"]["wstat_calculation"] = "S"
data["wstat_control"]["n_pdep_eigen"] = 5

writeJsonFile("wstat.in",data)

File written :  wstat.in
[13]:
wstat_output = session.run("wstat","wstat.in","wstat.out",download,3)
Requested to run executable wstat on server imedevel.uchicago.edu
Generated  wstat.out

We now generate the input for wfreq.x.

[14]:
data["wfreq_control"] = {}
data["wfreq_control"]["wfreq_calculation"] = "XWGQ"
data["wfreq_control"]["n_pdep_eigen_to_use"] = 5
data["wfreq_control"]["qp_bandrange"] = [1,5]
data["wfreq_control"]["n_refreq"] = 300
data["wfreq_control"]["ecut_refreq"] = 2.0

writeJsonFile("wfreq.in",data)

File written :  wfreq.in
[16]:
wfreq_output = session.run("wfreq","wfreq.in","wfreq.out",download,3)
Requested to run executable wfreq on server imedevel.uchicago.edu
Generated  wfreq.out

We now stop the session.

[17]:
session.stop()
[17]:
{'Success': 'Session removed and cleared'}
[ ]: