vasputils 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +48 -0
- data/VERSION +1 -1
- data/bin/genincar +39 -0
- data/bin/genkpoints +45 -0
- data/bin/genpotcar +27 -0
- data/bin/genvaspdir +17 -0
- data/bin/qsubvasp +3 -3
- data/bin/runvasp +2 -2
- data/example/dot.vasputils +331 -0
- data/lib/vasputils/incar.rb +13 -5
- data/lib/vasputils/kpoints.rb +2 -0
- data/lib/vasputils/poscar.rb +32 -18
- data/lib/vasputils/potcar/concatenater.rb +37 -0
- data/lib/vasputils/setting.rb +34 -0
- data/lib/vasputils.rb +65 -0
- data/test/incar/test.vasputils +335 -0
- data/test/poscar/trash/POSCAR.5-0 +11 -0
- data/test/potcar/dummy/Ac/POTCAR +1 -0
- data/test/potcar/dummy/Ag/POTCAR +1 -0
- data/test/potcar/dummy/Ag_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ag_pv/POTCAR +1 -0
- data/test/potcar/dummy/Al/POTCAR +1 -0
- data/test/potcar/dummy/Al_GW/POTCAR +1 -0
- data/test/potcar/dummy/Al_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Am/POTCAR +1 -0
- data/test/potcar/dummy/Ar/POTCAR +1 -0
- data/test/potcar/dummy/Ar_GW/POTCAR +1 -0
- data/test/potcar/dummy/As/POTCAR +1 -0
- data/test/potcar/dummy/As_GW/POTCAR +1 -0
- data/test/potcar/dummy/As_d/POTCAR +1 -0
- data/test/potcar/dummy/At/POTCAR +1 -0
- data/test/potcar/dummy/At_d/POTCAR +1 -0
- data/test/potcar/dummy/Au/POTCAR +1 -0
- data/test/potcar/dummy/Au_GW/POTCAR +1 -0
- data/test/potcar/dummy/Au_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/B/POTCAR +1 -0
- data/test/potcar/dummy/B_GW/POTCAR +1 -0
- data/test/potcar/dummy/B_h/POTCAR +1 -0
- data/test/potcar/dummy/B_s/POTCAR +1 -0
- data/test/potcar/dummy/Ba_sv/POTCAR +1 -0
- data/test/potcar/dummy/Ba_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Be/POTCAR +1 -0
- data/test/potcar/dummy/Be_GW/POTCAR +1 -0
- data/test/potcar/dummy/Be_sv/POTCAR +1 -0
- data/test/potcar/dummy/Be_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Bi/POTCAR +1 -0
- data/test/potcar/dummy/Bi_GW/POTCAR +1 -0
- data/test/potcar/dummy/Bi_d/POTCAR +1 -0
- data/test/potcar/dummy/Bi_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Br/POTCAR +1 -0
- data/test/potcar/dummy/Br_GW/POTCAR +1 -0
- data/test/potcar/dummy/C/POTCAR +1 -0
- data/test/potcar/dummy/C_GW/POTCAR +1 -0
- data/test/potcar/dummy/C_GW_new/POTCAR +1 -0
- data/test/potcar/dummy/C_h/POTCAR +1 -0
- data/test/potcar/dummy/C_s/POTCAR +1 -0
- data/test/potcar/dummy/Ca_pv/POTCAR +1 -0
- data/test/potcar/dummy/Ca_sv/POTCAR +1 -0
- data/test/potcar/dummy/Ca_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cd/POTCAR +1 -0
- data/test/potcar/dummy/Cd_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cd_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cd_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ce/POTCAR +1 -0
- data/test/potcar/dummy/Ce_3/POTCAR +1 -0
- data/test/potcar/dummy/Ce_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ce_h/POTCAR +1 -0
- data/test/potcar/dummy/Cl/POTCAR +1 -0
- data/test/potcar/dummy/Cl_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cl_h/POTCAR +1 -0
- data/test/potcar/dummy/Cm/POTCAR +1 -0
- data/test/potcar/dummy/Co/POTCAR +1 -0
- data/test/potcar/dummy/Co_GW/POTCAR +1 -0
- data/test/potcar/dummy/Co_pv/POTCAR +1 -0
- data/test/potcar/dummy/Co_sv/POTCAR +1 -0
- data/test/potcar/dummy/Co_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cr/POTCAR +1 -0
- data/test/potcar/dummy/Cr_pv/POTCAR +1 -0
- data/test/potcar/dummy/Cr_sv/POTCAR +1 -0
- data/test/potcar/dummy/Cr_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cs_sv/POTCAR +1 -0
- data/test/potcar/dummy/Cs_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cu/POTCAR +1 -0
- data/test/potcar/dummy/Cu_GW/POTCAR +1 -0
- data/test/potcar/dummy/Cu_pv/POTCAR +1 -0
- data/test/potcar/dummy/Cu_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Dy/POTCAR +1 -0
- data/test/potcar/dummy/Dy_3/POTCAR +1 -0
- data/test/potcar/dummy/Er/POTCAR +1 -0
- data/test/potcar/dummy/Er_2/POTCAR +1 -0
- data/test/potcar/dummy/Er_3/POTCAR +1 -0
- data/test/potcar/dummy/Eu/POTCAR +1 -0
- data/test/potcar/dummy/Eu_2/POTCAR +1 -0
- data/test/potcar/dummy/Eu_3/POTCAR +1 -0
- data/test/potcar/dummy/F/POTCAR +1 -0
- data/test/potcar/dummy/F_GW/POTCAR +1 -0
- data/test/potcar/dummy/F_GW_new/POTCAR +1 -0
- data/test/potcar/dummy/F_h/POTCAR +1 -0
- data/test/potcar/dummy/F_s/POTCAR +1 -0
- data/test/potcar/dummy/Fe/POTCAR +1 -0
- data/test/potcar/dummy/Fe_GW/POTCAR +1 -0
- data/test/potcar/dummy/Fe_pv/POTCAR +1 -0
- data/test/potcar/dummy/Fe_sv/POTCAR +1 -0
- data/test/potcar/dummy/Fe_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Fr_sv/POTCAR +1 -0
- data/test/potcar/dummy/Ga/POTCAR +1 -0
- data/test/potcar/dummy/Ga_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ga_d/POTCAR +1 -0
- data/test/potcar/dummy/Ga_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ga_h/POTCAR +1 -0
- data/test/potcar/dummy/Ga_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ga_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Gd/POTCAR +1 -0
- data/test/potcar/dummy/Gd_3/POTCAR +1 -0
- data/test/potcar/dummy/Ge/POTCAR +1 -0
- data/test/potcar/dummy/Ge_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ge_d/POTCAR +1 -0
- data/test/potcar/dummy/Ge_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ge_h/POTCAR +1 -0
- data/test/potcar/dummy/Ge_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/H/POTCAR +1 -0
- data/test/potcar/dummy/H.25/POTCAR +1 -0
- data/test/potcar/dummy/H.33/POTCAR +1 -0
- data/test/potcar/dummy/H.42/POTCAR +1 -0
- data/test/potcar/dummy/H.5/POTCAR +1 -0
- data/test/potcar/dummy/H.58/POTCAR +1 -0
- data/test/potcar/dummy/H.66/POTCAR +1 -0
- data/test/potcar/dummy/H.75/POTCAR +1 -0
- data/test/potcar/dummy/H1.25/POTCAR +1 -0
- data/test/potcar/dummy/H1.33/POTCAR +1 -0
- data/test/potcar/dummy/H1.5/POTCAR +1 -0
- data/test/potcar/dummy/H1.66/POTCAR +1 -0
- data/test/potcar/dummy/H1.75/POTCAR +1 -0
- data/test/potcar/dummy/H_AE/POTCAR +1 -0
- data/test/potcar/dummy/H_GW/POTCAR +1 -0
- data/test/potcar/dummy/H_h/POTCAR +1 -0
- data/test/potcar/dummy/H_h_GW/POTCAR +1 -0
- data/test/potcar/dummy/H_s/POTCAR +1 -0
- data/test/potcar/dummy/He/POTCAR +1 -0
- data/test/potcar/dummy/He_GW/POTCAR +1 -0
- data/test/potcar/dummy/Hf/POTCAR +1 -0
- data/test/potcar/dummy/Hf_pv/POTCAR +1 -0
- data/test/potcar/dummy/Hf_sv/POTCAR +1 -0
- data/test/potcar/dummy/Hf_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Hg/POTCAR +1 -0
- data/test/potcar/dummy/Ho/POTCAR +1 -0
- data/test/potcar/dummy/Ho_3/POTCAR +1 -0
- data/test/potcar/dummy/I/POTCAR +1 -0
- data/test/potcar/dummy/I_GW/POTCAR +1 -0
- data/test/potcar/dummy/In/POTCAR +1 -0
- data/test/potcar/dummy/In_d/POTCAR +1 -0
- data/test/potcar/dummy/In_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ir/POTCAR +1 -0
- data/test/potcar/dummy/Ir_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/K_pv/POTCAR +1 -0
- data/test/potcar/dummy/K_sv/POTCAR +1 -0
- data/test/potcar/dummy/K_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Kr/POTCAR +1 -0
- data/test/potcar/dummy/Kr_GW/POTCAR +1 -0
- data/test/potcar/dummy/La/POTCAR +1 -0
- data/test/potcar/dummy/La_s/POTCAR +1 -0
- data/test/potcar/dummy/Li/POTCAR +1 -0
- data/test/potcar/dummy/Li_AE_GW/POTCAR +1 -0
- data/test/potcar/dummy/Li_GW/POTCAR +1 -0
- data/test/potcar/dummy/Li_sv/POTCAR +1 -0
- data/test/potcar/dummy/Li_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Lu/POTCAR +1 -0
- data/test/potcar/dummy/Lu_3/POTCAR +1 -0
- data/test/potcar/dummy/Mg/POTCAR +1 -0
- data/test/potcar/dummy/Mg_GW/POTCAR +1 -0
- data/test/potcar/dummy/Mg_pv/POTCAR +1 -0
- data/test/potcar/dummy/Mg_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Mg_sv/POTCAR +1 -0
- data/test/potcar/dummy/Mg_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Mn/POTCAR +1 -0
- data/test/potcar/dummy/Mn_GW/POTCAR +1 -0
- data/test/potcar/dummy/Mn_pv/POTCAR +1 -0
- data/test/potcar/dummy/Mn_sv/POTCAR +1 -0
- data/test/potcar/dummy/Mn_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Mo/POTCAR +1 -0
- data/test/potcar/dummy/Mo_pv/POTCAR +1 -0
- data/test/potcar/dummy/Mo_sv/POTCAR +1 -0
- data/test/potcar/dummy/Mo_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/N/POTCAR +1 -0
- data/test/potcar/dummy/N_GW/POTCAR +1 -0
- data/test/potcar/dummy/N_GW_new/POTCAR +1 -0
- data/test/potcar/dummy/N_h/POTCAR +1 -0
- data/test/potcar/dummy/N_s/POTCAR +1 -0
- data/test/potcar/dummy/N_s_GW/POTCAR +1 -0
- data/test/potcar/dummy/Na/POTCAR +1 -0
- data/test/potcar/dummy/Na_pv/POTCAR +1 -0
- data/test/potcar/dummy/Na_sv/POTCAR +1 -0
- data/test/potcar/dummy/Na_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Nb_pv/POTCAR +1 -0
- data/test/potcar/dummy/Nb_sv/POTCAR +1 -0
- data/test/potcar/dummy/Nb_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Nd/POTCAR +1 -0
- data/test/potcar/dummy/Nd_3/POTCAR +1 -0
- data/test/potcar/dummy/Ne/POTCAR +1 -0
- data/test/potcar/dummy/Ne_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ne_GW_soft/POTCAR +1 -0
- data/test/potcar/dummy/Ni/POTCAR +1 -0
- data/test/potcar/dummy/Ni_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ni_pv/POTCAR +1 -0
- data/test/potcar/dummy/Ni_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Np/POTCAR +1 -0
- data/test/potcar/dummy/Np_s/POTCAR +1 -0
- data/test/potcar/dummy/O/POTCAR +1 -0
- data/test/potcar/dummy/O_GW/POTCAR +1 -0
- data/test/potcar/dummy/O_GW_new/POTCAR +1 -0
- data/test/potcar/dummy/O_h/POTCAR +1 -0
- data/test/potcar/dummy/O_s/POTCAR +1 -0
- data/test/potcar/dummy/O_s_GW/POTCAR +1 -0
- data/test/potcar/dummy/Os/POTCAR +1 -0
- data/test/potcar/dummy/Os_pv/POTCAR +1 -0
- data/test/potcar/dummy/Os_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/P/POTCAR +1 -0
- data/test/potcar/dummy/P_GW/POTCAR +1 -0
- data/test/potcar/dummy/P_h/POTCAR +1 -0
- data/test/potcar/dummy/Pa/POTCAR +1 -0
- data/test/potcar/dummy/Pa_s/POTCAR +1 -0
- data/test/potcar/dummy/Pb/POTCAR +1 -0
- data/test/potcar/dummy/Pb_d/POTCAR +1 -0
- data/test/potcar/dummy/Pb_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Pd/POTCAR +1 -0
- data/test/potcar/dummy/Pd_GW/POTCAR +1 -0
- data/test/potcar/dummy/Pd_pv/POTCAR +1 -0
- data/test/potcar/dummy/Pm/POTCAR +1 -0
- data/test/potcar/dummy/Pm_3/POTCAR +1 -0
- data/test/potcar/dummy/Po/POTCAR +1 -0
- data/test/potcar/dummy/Po_d/POTCAR +1 -0
- data/test/potcar/dummy/Pr/POTCAR +1 -0
- data/test/potcar/dummy/Pr_3/POTCAR +1 -0
- data/test/potcar/dummy/Pt/POTCAR +1 -0
- data/test/potcar/dummy/Pt_GW/POTCAR +1 -0
- data/test/potcar/dummy/Pt_pv/POTCAR +1 -0
- data/test/potcar/dummy/Pt_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Pt_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Pu/POTCAR +1 -0
- data/test/potcar/dummy/Pu_s/POTCAR +1 -0
- data/test/potcar/dummy/README.UPDATES/POTCAR +1 -0
- data/test/potcar/dummy/RELEASE_NOTE.txt/POTCAR +1 -0
- data/test/potcar/dummy/Ra_sv/POTCAR +1 -0
- data/test/potcar/dummy/Rb_pv/POTCAR +1 -0
- data/test/potcar/dummy/Rb_sv/POTCAR +1 -0
- data/test/potcar/dummy/Rb_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Re/POTCAR +1 -0
- data/test/potcar/dummy/Re_pv/POTCAR +1 -0
- data/test/potcar/dummy/Re_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Rh/POTCAR +1 -0
- data/test/potcar/dummy/Rh_GW/POTCAR +1 -0
- data/test/potcar/dummy/Rh_pv/POTCAR +1 -0
- data/test/potcar/dummy/Rh_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Rh_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Rn/POTCAR +1 -0
- data/test/potcar/dummy/Ru/POTCAR +1 -0
- data/test/potcar/dummy/Ru_pv/POTCAR +1 -0
- data/test/potcar/dummy/Ru_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ru_sv/POTCAR +1 -0
- data/test/potcar/dummy/Ru_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/S/POTCAR +1 -0
- data/test/potcar/dummy/S_GW/POTCAR +1 -0
- data/test/potcar/dummy/S_h/POTCAR +1 -0
- data/test/potcar/dummy/Sb/POTCAR +1 -0
- data/test/potcar/dummy/Sb_GW/POTCAR +1 -0
- data/test/potcar/dummy/Sb_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Sc/POTCAR +1 -0
- data/test/potcar/dummy/Sc_sv/POTCAR +1 -0
- data/test/potcar/dummy/Sc_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Se/POTCAR +1 -0
- data/test/potcar/dummy/Se_GW/POTCAR +1 -0
- data/test/potcar/dummy/Si/POTCAR +1 -0
- data/test/potcar/dummy/Si_GW/POTCAR +1 -0
- data/test/potcar/dummy/Si_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Sm/POTCAR +1 -0
- data/test/potcar/dummy/Sm_3/POTCAR +1 -0
- data/test/potcar/dummy/Sn/POTCAR +1 -0
- data/test/potcar/dummy/Sn_d/POTCAR +1 -0
- data/test/potcar/dummy/Sn_d_GW/POTCAR +1 -0
- data/test/potcar/dummy/Sr_sv/POTCAR +1 -0
- data/test/potcar/dummy/Sr_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Ta/POTCAR +1 -0
- data/test/potcar/dummy/Ta_pv/POTCAR +1 -0
- data/test/potcar/dummy/Ta_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Tb/POTCAR +1 -0
- data/test/potcar/dummy/Tb_3/POTCAR +1 -0
- data/test/potcar/dummy/Tc/POTCAR +1 -0
- data/test/potcar/dummy/Tc_pv/POTCAR +1 -0
- data/test/potcar/dummy/Tc_sv/POTCAR +1 -0
- data/test/potcar/dummy/Tc_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Te/POTCAR +1 -0
- data/test/potcar/dummy/Te_GW/POTCAR +1 -0
- data/test/potcar/dummy/Th/POTCAR +1 -0
- data/test/potcar/dummy/Th_s/POTCAR +1 -0
- data/test/potcar/dummy/Ti/POTCAR +1 -0
- data/test/potcar/dummy/Ti_pv/POTCAR +1 -0
- data/test/potcar/dummy/Ti_sv/POTCAR +1 -0
- data/test/potcar/dummy/Ti_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Tl/POTCAR +1 -0
- data/test/potcar/dummy/Tl_d/POTCAR +1 -0
- data/test/potcar/dummy/Tm/POTCAR +1 -0
- data/test/potcar/dummy/Tm_3/POTCAR +1 -0
- data/test/potcar/dummy/U/POTCAR +1 -0
- data/test/potcar/dummy/U_s/POTCAR +1 -0
- data/test/potcar/dummy/V/POTCAR +1 -0
- data/test/potcar/dummy/V_pv/POTCAR +1 -0
- data/test/potcar/dummy/V_sv/POTCAR +1 -0
- data/test/potcar/dummy/V_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/W/POTCAR +1 -0
- data/test/potcar/dummy/W_pv/POTCAR +1 -0
- data/test/potcar/dummy/W_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Xe/POTCAR +1 -0
- data/test/potcar/dummy/Xe_GW/POTCAR +1 -0
- data/test/potcar/dummy/Y_sv/POTCAR +1 -0
- data/test/potcar/dummy/Y_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Yb/POTCAR +1 -0
- data/test/potcar/dummy/Yb_2/POTCAR +1 -0
- data/test/potcar/dummy/Zn/POTCAR +1 -0
- data/test/potcar/dummy/Zn_GW/POTCAR +1 -0
- data/test/potcar/dummy/Zn_pv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Zn_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/Zr_sv/POTCAR +1 -0
- data/test/potcar/dummy/Zr_sv_GW/POTCAR +1 -0
- data/test/potcar/dummy/data_base/POTCAR +1 -0
- data/test/potcar/test.vasputils +307 -0
- data/test/test_incar.rb +45 -5
- data/test/test_poscar.rb +97 -24
- data/test/test_potcar.rb +1 -22
- data/test/test_potcar_concatenater.rb +56 -0
- data/test/test_setting.rb +23 -0
- data/test/test_vasputils.rb +65 -0
- data/vasputils.gemspec +325 -5
- metadata +349 -25
- data/memo.txt +0 -37
- /data/test/poscar/{POSCAR.00 → POSCAR.4-0} +0 -0
@@ -0,0 +1,307 @@
|
|
1
|
+
--- # vim: syntax=yaml
|
2
|
+
|
3
|
+
potcar_path: test/potcar/dummy
|
4
|
+
element_potcar:
|
5
|
+
Ac: Ac # 11.0000000000000
|
6
|
+
Ag: Ag_pv # 17.0000000000000
|
7
|
+
#Al: Al # 3.00000000000000
|
8
|
+
#Al: Al_GW # 3.00000000000000
|
9
|
+
Al: Al_sv_GW # 11.0000000000000
|
10
|
+
Am: Am # 17.0000000000000
|
11
|
+
#Ar: Ar # 8.00000000000000
|
12
|
+
Ar: Ar_GW # 8.00000000000000
|
13
|
+
#As: As # 5.00000000000000
|
14
|
+
#As: As_GW # 5.00000000000000
|
15
|
+
As: As_d # 15.0000000000000
|
16
|
+
#At: At # 7.00000000000000
|
17
|
+
At: At_d # 17.0000000000000
|
18
|
+
#Au: Au # 11.0000000000000
|
19
|
+
#Au: Au_GW # 11.0000000000000
|
20
|
+
Au: Au_pv_GW # 17.0000000000000
|
21
|
+
B : B # 3.00000000000000
|
22
|
+
#B : B_GW # 3.00000000000000
|
23
|
+
#B : B_h # 3.00000000000000
|
24
|
+
#B : B_s # 3.00000000000000
|
25
|
+
Ba: Ba_sv # 10.0000000000000
|
26
|
+
#Ba: Ba_sv_GW # 10.0000000000000
|
27
|
+
#Be: Be # 2.00000000000000
|
28
|
+
#Be: Be_GW # 2.00000000000000
|
29
|
+
#Be: Be_sv # 4.00000000000000
|
30
|
+
#Be: Be_sv_GW # 4.00000000000000
|
31
|
+
#Bi: Bi # 5.00000000000000
|
32
|
+
#Bi: Bi_GW # 5.00000000000000
|
33
|
+
Bi: Bi_d # 15.0000000000000
|
34
|
+
#Bi: Bi_d_GW # 15.0000000000000
|
35
|
+
Br: Br # 7.00000000000000
|
36
|
+
#Br: Br_GW # 7.00000000000000
|
37
|
+
C : C # 4.00000000000000
|
38
|
+
#C : C_GW # 4.00000000000000
|
39
|
+
#C : C_GW_new # 4.00000000000000
|
40
|
+
#C : C_h # 4.00000000000000
|
41
|
+
#C : C_s # 4.00000000000000
|
42
|
+
#Ca: Ca_pv # 8.00000000000000
|
43
|
+
Ca: Ca_sv # 10.0000000000000
|
44
|
+
#Ca: Ca_sv_GW # 10.0000000000000
|
45
|
+
#Cd: Cd # 12.0000000000000
|
46
|
+
#Cd: Cd_GW # 12.0000000000000
|
47
|
+
#Cd: Cd_pv_GW # 18.0000000000000
|
48
|
+
Cd: Cd_sv_GW # 20.0000000000000
|
49
|
+
Ce: Ce # 12.0000000000000
|
50
|
+
#Ce: Ce_3 # 11.0000000000000
|
51
|
+
#Ce: Ce_GW # 12.0000000000000
|
52
|
+
#Ce: Ce_h # 12.0000000000000
|
53
|
+
Cl: Cl # 7.00000000000000
|
54
|
+
#Cl: Cl_GW # 7.00000000000000
|
55
|
+
#Cl: Cl_h # 7.00000000000000
|
56
|
+
Cm: Cm # 18.0000000000000
|
57
|
+
#Co: Co # 9.00000000000000
|
58
|
+
#Co: Co_GW # 9.00000000000000
|
59
|
+
#Co: Co_pv # 15.0000000000000
|
60
|
+
Co: Co_sv # 17.0000000000000
|
61
|
+
#Co: Co_sv_GW # 17.0000000000000
|
62
|
+
#Cr: Cr # 6.00000000000000
|
63
|
+
#Cr: Cr_pv # 12.0000000000000
|
64
|
+
Cr: Cr_sv # 14.0000000000000
|
65
|
+
#Cr: Cr_sv_GW # 14.0000000000000
|
66
|
+
Cs: Cs_sv # 9.00000000000000
|
67
|
+
#Cs: Cs_sv_GW # 9.00000000000000
|
68
|
+
#Cu: Cu # 11.0000000000000
|
69
|
+
#Cu: Cu_GW # 11.0000000000000
|
70
|
+
Cu: Cu_pv # 17.0000000000000
|
71
|
+
#Cu: Cu_pv_GW # 17.0000000000000
|
72
|
+
Dy: Dy # 20.0000000000000
|
73
|
+
#Dy: Dy_3 # 9.00000000000000
|
74
|
+
Er: Er # 22.0000000000000
|
75
|
+
#Er: Er_2 # 8.00000000000000
|
76
|
+
#Er: Er_3 # 9.00000000000000
|
77
|
+
Eu: Eu # 17.0000000000000
|
78
|
+
#Eu: Eu_2 # 8.00000000000000
|
79
|
+
#Eu: Eu_3 # 9.00000000000000
|
80
|
+
F : F # 7.00000000000000
|
81
|
+
#F : F_GW # 7.00000000000000
|
82
|
+
#F : F_GW_new # 7.00000000000000
|
83
|
+
#F : F_h # 7.00000000000000
|
84
|
+
#F : F_s # 7.00000000000000
|
85
|
+
#Fe: Fe # 8.00000000000000
|
86
|
+
#Fe: Fe_GW # 8.00000000000000
|
87
|
+
#Fe: Fe_pv # 14.0000000000000
|
88
|
+
Fe: Fe_sv # 16.0000000000000
|
89
|
+
#Fe: Fe_sv_GW # 16.0000000000000
|
90
|
+
Fr: Fr_sv # 9.00000000000000
|
91
|
+
#Ga: Ga # 3.00000000000000
|
92
|
+
#Ga: Ga_GW # 3.00000000000000
|
93
|
+
#Ga: Ga_d # 13.0000000000000
|
94
|
+
#Ga: Ga_d_GW # 13.0000000000000
|
95
|
+
#Ga: Ga_h # 13.0000000000000
|
96
|
+
#Ga: Ga_pv_GW # 19.0000000000000
|
97
|
+
Ga: Ga_sv_GW # 21.0000000000000
|
98
|
+
Gd: Gd # 18.0000000000000
|
99
|
+
#Gd: Gd_3 # 9.00000000000000
|
100
|
+
#Ge: Ge # 4.00000000000000
|
101
|
+
#Ge: Ge_GW # 4.00000000000000
|
102
|
+
#Ge: Ge_d # 14.0000000000000
|
103
|
+
#Ge: Ge_d_GW # 14.0000000000000
|
104
|
+
#Ge: Ge_h # 14.0000000000000
|
105
|
+
Ge: Ge_sv_GW # 22.0000000000000
|
106
|
+
#H : H.5 # 0.500000000000000
|
107
|
+
#H : H.25 # 0.250000000000000
|
108
|
+
#H : H.33 # 0.330000000000000
|
109
|
+
#H : H.42 # 0.420000000000000
|
110
|
+
#H : H.58 # 0.580000000000000
|
111
|
+
#H : H.66 # 0.660000000000000
|
112
|
+
#H : H.75 # 0.750000000000000
|
113
|
+
H : H # 1.00000000000000
|
114
|
+
#H : H1.5 # 1.50000000000000
|
115
|
+
#H : H1.25 # 1.25000000000000
|
116
|
+
#H : H1.33 # 1.33000000000000
|
117
|
+
#H : H1.66 # 1.66000000000000
|
118
|
+
#H : H1.75 # 1.75000000000000
|
119
|
+
#H : H_AE # 1.0000000000000000
|
120
|
+
#H : H_GW # 1.00000000000000
|
121
|
+
#H : H_h # 1.00000000000000
|
122
|
+
#H : H_h_GW # 1.00000000000000
|
123
|
+
#H : H_s # 1.00000000000000
|
124
|
+
He: He # 2.00000000000000
|
125
|
+
#He: He_GW # 2.00000000000000
|
126
|
+
#Hf: Hf # 4.00000000000000
|
127
|
+
#Hf: Hf_pv # 10.0000000000000
|
128
|
+
Hf: Hf_sv # 12.0000000000000
|
129
|
+
#Hf: Hf_sv_GW # 12.0000000000000
|
130
|
+
Hg: Hg # 12.0000000000000
|
131
|
+
Ho: Ho # 21.0000000000000
|
132
|
+
#Ho: Ho_3 # 9.00000000000000
|
133
|
+
I : I # 7.00000000000000
|
134
|
+
#I : I_GW # 7.00000000000000
|
135
|
+
#In: In # 3.00000000000000
|
136
|
+
In: In_d # 13.0000000000000
|
137
|
+
#In: In_d_GW # 13.0000000000000
|
138
|
+
#Ir: Ir # 9.00000000000000
|
139
|
+
Ir: Ir_sv_GW # 17.0000000000000
|
140
|
+
#K : K_pv # 7.00000000000000
|
141
|
+
K : K_sv # 9.00000000000000
|
142
|
+
#K : K_sv_GW # 9.00000000000000
|
143
|
+
Kr: Kr # 8.00000000000000
|
144
|
+
#Kr: Kr_GW # 8.00000000000000
|
145
|
+
La: La # 11.0000000000000
|
146
|
+
#La: La_s # 9.00000000000000
|
147
|
+
#Li: Li # 1.00000000000000
|
148
|
+
#Li: Li_AE_GW # 3.00000000000000
|
149
|
+
#Li: Li_GW # 1.00000000000000
|
150
|
+
Li: Li_sv # 3.00000000000000
|
151
|
+
#Li: Li_sv_GW # 3.00000000000000
|
152
|
+
Lu: Lu # 25.0000000000000
|
153
|
+
#Lu: Lu_3 # 9.00000000000000
|
154
|
+
#Mg: Mg # 2.00000000000000
|
155
|
+
#Mg: Mg_GW # 2.00000000000000
|
156
|
+
#Mg: Mg_pv # 8.00000000000000
|
157
|
+
#Mg: Mg_pv_GW # 8.00000000000000
|
158
|
+
Mg: Mg_sv # 10.0000000000000
|
159
|
+
#Mg: Mg_sv_GW # 10.0000000000000
|
160
|
+
#Mn: Mn # 7.00000000000000
|
161
|
+
#Mn: Mn_GW # 7.00000000000000
|
162
|
+
#Mn: Mn_pv # 13.0000000000000
|
163
|
+
Mn: Mn_sv # 15.0000000000000
|
164
|
+
#Mn: Mn_sv_GW # 15.0000000000000
|
165
|
+
#Mo: Mo # 6.00000000000000
|
166
|
+
#Mo: Mo_pv # 12.0000000000000
|
167
|
+
Mo: Mo_sv # 14.0000000000000
|
168
|
+
#Mo: Mo_sv_GW # 14.0000000000000
|
169
|
+
N : N # 5.00000000000000
|
170
|
+
#N : N_GW # 5.00000000000000
|
171
|
+
#N : N_GW_new # 5.00000000000000
|
172
|
+
#N : N_h # 5.00000000000000
|
173
|
+
#N : N_s # 5.00000000000000
|
174
|
+
#N : N_s_GW # 5.00000000000000
|
175
|
+
#Na: Na # 1.00000000000000
|
176
|
+
#Na: Na_pv # 7.00000000000000
|
177
|
+
Na: Na_sv # 9.00000000000000
|
178
|
+
#Na: Na_sv_GW # 9.00000000000000
|
179
|
+
#Nb: Nb_pv # 11.0000000000000
|
180
|
+
Nb: Nb_sv # 13.0000000000000
|
181
|
+
#Nb: Nb_sv_GW # 13.0000000000000
|
182
|
+
Nd: Nd # 14.0000000000000
|
183
|
+
#Nd: Nd_3 # 11.0000000000000
|
184
|
+
Ne: Ne # 8.00000000000000
|
185
|
+
#Ne: Ne_GW # 8.00000000000000
|
186
|
+
#Ne: Ne_GW_soft # 8.00000000000000
|
187
|
+
#Ni: Ni # 10.0000000000000
|
188
|
+
#Ni: Ni_GW # 10.0000000000000
|
189
|
+
#Ni: Ni_pv # 16.0000000000000
|
190
|
+
Ni: Ni_sv_GW # 18.0000000000000
|
191
|
+
Np: Np # 15.0000000000000
|
192
|
+
#Np: Np_s # 15.0000000000000
|
193
|
+
O : O # 6.00000000000000
|
194
|
+
#O : O_GW # 6.00000000000000
|
195
|
+
#O : O_GW_new # 6.00000000000000
|
196
|
+
#O : O_h # 6.00000000000000
|
197
|
+
#O : O_s # 6.00000000000000
|
198
|
+
#O : O_s_GW # 6.00000000000000
|
199
|
+
#Os: Os # 8.00000000000000
|
200
|
+
#Os: Os_pv # 14.0000000000000
|
201
|
+
Os: Os_sv_GW # 16.0000000000000
|
202
|
+
P : P # 5.00000000000000
|
203
|
+
#P : P_GW # 5.00000000000000
|
204
|
+
#P : P_h # 5.00000000000000
|
205
|
+
Pa: Pa # 13.0000000000000
|
206
|
+
#Pa: Pa_s # 11.0000000000000
|
207
|
+
#Pb: Pb # 4.00000000000000
|
208
|
+
Pb: Pb_d # 14.0000000000000
|
209
|
+
#Pb: Pb_d_GW # 14.0000000000000
|
210
|
+
#Pd: Pd # 10.0000000000000
|
211
|
+
#Pd: Pd_GW # 10.0000000000000
|
212
|
+
Pd: Pd_pv # 16.0000000000000
|
213
|
+
Pm: Pm # 15.0000000000000
|
214
|
+
#Pm: Pm_3 # 11.0000000000000
|
215
|
+
#Po: Po # 6.00000000000000
|
216
|
+
Po: Po_d # 16.0000000000000
|
217
|
+
Pr: Pr # 13.0000000000000
|
218
|
+
#Pr: Pr_3 # 11.0000000000000
|
219
|
+
#Pt: Pt # 10.0000000000000
|
220
|
+
#Pt: Pt_GW # 10.0000000000000
|
221
|
+
#Pt: Pt_pv # 16.0000000000000
|
222
|
+
#Pt: Pt_pv_GW # 16.0000000000000
|
223
|
+
Pt: Pt_sv_GW # 18.0000000000000
|
224
|
+
Pu: Pu # 16.0000000000000
|
225
|
+
#Pu: Pu_s # 16.0000000000000
|
226
|
+
Ra: Ra_sv # 10.0000000000000
|
227
|
+
#Rb: Rb_pv # 7.00000000000000
|
228
|
+
Rb: Rb_sv # 9.00000000000000
|
229
|
+
#Rb: Rb_sv_GW # 9.00000000000000
|
230
|
+
#Re: Re # 7.00000000000000
|
231
|
+
#Re: Re_pv # 13.0000000000000
|
232
|
+
Re: Re_sv_GW # 15.0000000000000
|
233
|
+
#Rh: Rh # 9.00000000000000
|
234
|
+
#Rh: Rh_GW # 9.00000000000000
|
235
|
+
#Rh: Rh_pv # 15.0000000000000
|
236
|
+
#Rh: Rh_pv_GW # 15.0000000000000
|
237
|
+
Rh: Rh_sv_GW # 17.0000000000000
|
238
|
+
Rn: Rn # 8.00000000000000
|
239
|
+
#Ru: Ru # 8.00000000000000
|
240
|
+
#Ru: Ru_pv # 14.0000000000000
|
241
|
+
#Ru: Ru_pv_GW # 14.0000000000000
|
242
|
+
Ru: Ru_sv # 16.0000000000000
|
243
|
+
#Ru: Ru_sv_GW # 16.0000000000000
|
244
|
+
S : S # 6.00000000000000
|
245
|
+
#S : S_GW # 6.00000000000000
|
246
|
+
#S : S_h # 6.00000000000000
|
247
|
+
#Sb: Sb # 5.00000000000000
|
248
|
+
#Sb: Sb_GW # 5.00000000000000
|
249
|
+
Sb: Sb_d_GW # 15.0000000000000
|
250
|
+
#Sc: Sc # 3.00000000000000
|
251
|
+
Sc: Sc_sv # 11.0000000000000
|
252
|
+
#Sc: Sc_sv_GW # 11.0000000000000
|
253
|
+
Se: Se # 6.00000000000000
|
254
|
+
#Se: Se_GW # 6.00000000000000
|
255
|
+
#Si: Si # 4.00000000000000
|
256
|
+
#Si: Si_GW # 4.00000000000000
|
257
|
+
Si: Si_sv_GW # 12.0000000000000
|
258
|
+
Sm: Sm # 16.0000000000000
|
259
|
+
#Sm: Sm_3 # 11.0000000000000
|
260
|
+
#Sn: Sn # 4.00000000000000
|
261
|
+
Sn: Sn_d # 14.0000000000000
|
262
|
+
#Sn: Sn_d_GW # 14.0000000000000
|
263
|
+
Sr: Sr_sv # 10.0000000000000
|
264
|
+
#Sr: Sr_sv_GW # 10.0000000000000
|
265
|
+
#Ta: Ta # 5.00000000000000
|
266
|
+
#Ta: Ta_pv # 11.0000000000000
|
267
|
+
Ta: Ta_sv_GW # 13.0000000000000
|
268
|
+
Tb: Tb # 19.0000000000000
|
269
|
+
#Tb: Tb_3 # 9.00000000000000
|
270
|
+
#Tc: Tc # 7.00000000000000
|
271
|
+
#Tc: Tc_pv # 13.0000000000000
|
272
|
+
Tc: Tc_sv # 15.0000000000000
|
273
|
+
#Tc: Tc_sv_GW # 15.0000000000000
|
274
|
+
Te: Te # 6.00000000000000
|
275
|
+
#Te: Te_GW # 6.00000000000000
|
276
|
+
Th: Th # 12.0000000000000
|
277
|
+
#Th: Th_s # 10.0000000000000
|
278
|
+
#Ti: Ti # 4.00000000000000
|
279
|
+
#Ti: Ti_pv # 10.0000000000000
|
280
|
+
Ti: Ti_sv # 12.0000000000000
|
281
|
+
#Ti: Ti_sv_GW # 12.0000000000000
|
282
|
+
#Tl: Tl # 3.00000000000000
|
283
|
+
Tl: Tl_d # 13.0000000000000
|
284
|
+
Tm: Tm # 23.0000000000000
|
285
|
+
#Tm: Tm_3 # 9.00000000000000
|
286
|
+
U : U # 14.0000000000000
|
287
|
+
#U : U_s # 14.0000000000000
|
288
|
+
#V : V # 5.00000000000000
|
289
|
+
#V : V_pv # 11.0000000000000
|
290
|
+
V : V_sv # 13.0000000000000
|
291
|
+
#V : V_sv_GW # 13.0000000000000
|
292
|
+
#W : W # 6.00000000000000
|
293
|
+
#W : W_pv # 12.0000000000000
|
294
|
+
W : W_sv_GW # 14.0000000000000
|
295
|
+
Xe: Xe # 8.00000000000000
|
296
|
+
#Xe: Xe_GW # 8.00000000000000
|
297
|
+
Y : Y_sv # 11.0000000000000
|
298
|
+
#Y : Y_sv_GW # 11.0000000000000
|
299
|
+
Yb: Yb # 24.0000000000000
|
300
|
+
#Yb: Yb_2 # 8.00000000000000
|
301
|
+
#Zn: Zn # 12.0000000000000
|
302
|
+
#Zn: Zn_GW # 12.0000000000000
|
303
|
+
#Zn: Zn_pv_GW # 18.0000000000000
|
304
|
+
Zn: Zn_sv_GW # 20.0000000000000
|
305
|
+
Zr: Zr_sv # 12.0000000000000
|
306
|
+
#Zr: Zr_sv_GW # 12.0000000000000
|
307
|
+
|
data/test/test_incar.rb
CHANGED
@@ -117,11 +117,51 @@ class TC_Incar < Test::Unit::TestCase
|
|
117
117
|
assert_raise(Errno::ENOENT){VaspUtils::Incar.load_file("")}
|
118
118
|
end
|
119
119
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
120
|
+
def test_dump
|
121
|
+
pairs = {
|
122
|
+
"SYSTEM" => "dummy",
|
123
|
+
"PREC" => "High",
|
124
|
+
"ENCUT" => "400",
|
125
|
+
"EDIFF" => "1.0e-05",
|
126
|
+
"LREAL" => ".TRUE.",
|
127
|
+
}
|
128
|
+
|
129
|
+
assert_equal(
|
130
|
+
[
|
131
|
+
"SYSTEM = dummy",
|
132
|
+
"PREC = High",
|
133
|
+
"ENCUT = 400",
|
134
|
+
"EDIFF = 1.0e-05",
|
135
|
+
"LREAL = .TRUE.",
|
136
|
+
].join("\n"),
|
137
|
+
VaspUtils::Incar.dump(pairs)
|
138
|
+
)
|
125
139
|
|
140
|
+
assert_equal(
|
141
|
+
[
|
142
|
+
"SYSTEM = dummy",
|
143
|
+
"PREC = High",
|
144
|
+
"ENCUT = 400",
|
145
|
+
"EDIFF = 1.0e-05",
|
146
|
+
"LREAL = .TRUE.",
|
147
|
+
].join("\n"),
|
148
|
+
VaspUtils::Incar.dump(pairs, nil)
|
149
|
+
)
|
150
|
+
|
151
|
+
outfile = "test/incar/tmp.incar"
|
152
|
+
FileUtils.rm outfile if File.exist? outfile
|
153
|
+
File.open(outfile, "w") { |io| VaspUtils::Incar.dump(pairs, io) }
|
154
|
+
assert_equal(
|
155
|
+
[
|
156
|
+
"SYSTEM = dummy",
|
157
|
+
"PREC = High",
|
158
|
+
"ENCUT = 400",
|
159
|
+
"EDIFF = 1.0e-05",
|
160
|
+
"LREAL = .TRUE.",
|
161
|
+
].join("\n"),
|
162
|
+
File.open(outfile).read
|
163
|
+
)
|
164
|
+
FileUtils.rm outfile if File.exist? outfile
|
165
|
+
end
|
126
166
|
end
|
127
167
|
|
data/test/test_poscar.rb
CHANGED
@@ -46,7 +46,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
46
46
|
cell = Cell.new(axes, atoms)
|
47
47
|
cell.comment = "test"
|
48
48
|
io = StringIO.new
|
49
|
-
VaspUtils::Poscar.dump(cell, [0,1], io)
|
49
|
+
VaspUtils::Poscar.dump(cell, [0,1], io, 4)
|
50
50
|
io.rewind
|
51
51
|
corrects = [
|
52
52
|
"test\n",
|
@@ -66,6 +66,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
66
66
|
end
|
67
67
|
assert_equal(corrects.size, lines.size)
|
68
68
|
|
69
|
+
# vasp 4
|
69
70
|
atoms = [
|
70
71
|
Atom.new(0, [0.1, 0.2, 0.3], "atom0", [false, true , true ]),
|
71
72
|
Atom.new(1, [0.2, 0.3, 0.4], "atom1", [false, false, true ]),
|
@@ -74,7 +75,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
74
75
|
cell = Cell.new(axes, atoms)
|
75
76
|
cell.comment = "test"
|
76
77
|
io = StringIO.new
|
77
|
-
VaspUtils::Poscar.dump(cell, [0,1], io)
|
78
|
+
VaspUtils::Poscar.dump(cell, [0,1], io, 4)
|
78
79
|
io.rewind
|
79
80
|
corrects = [
|
80
81
|
"test\n",
|
@@ -94,12 +95,73 @@ class TC_Poscar < Test::Unit::TestCase
|
|
94
95
|
assert_equal(cor, lines[index], "line: #{index}")
|
95
96
|
end
|
96
97
|
assert_equal(corrects.size, lines.size)
|
98
|
+
|
99
|
+
atoms = [
|
100
|
+
Atom.new(0, [0.1, 0.2, 0.3], "atom0", [false, true , true ]),
|
101
|
+
Atom.new(1, [0.2, 0.3, 0.4], "atom1", [false, false, true ]),
|
102
|
+
Atom.new(0, [0.3, 0.4, 0.5], "atom2", [false, false, false]),
|
103
|
+
]
|
104
|
+
cell = Cell.new(axes, atoms)
|
105
|
+
cell.comment = "test"
|
106
|
+
io = StringIO.new
|
107
|
+
VaspUtils::Poscar.dump(cell, [0,1], io, 4)
|
108
|
+
io.rewind
|
109
|
+
corrects = [
|
110
|
+
"test\n",
|
111
|
+
"1.0\n",
|
112
|
+
" 1.000000000000000 0.000000000000000 0.000000000000000\n",
|
113
|
+
" 0.000000000000000 1.000000000000000 0.000000000000000\n",
|
114
|
+
" 0.000000000000000 0.000000000000000 1.000000000000000\n",
|
115
|
+
"2 1\n",
|
116
|
+
"Selective dynamics\n",
|
117
|
+
"Direct\n",
|
118
|
+
" 0.100000000000000 0.200000000000000 0.300000000000000 F T T\n",
|
119
|
+
" 0.300000000000000 0.400000000000000 0.500000000000000 F F F\n",
|
120
|
+
" 0.200000000000000 0.300000000000000 0.400000000000000 F F T\n",
|
121
|
+
]
|
122
|
+
lines = io.readlines
|
123
|
+
corrects.each_with_index do |cor, index|
|
124
|
+
assert_equal(cor, lines[index], "line: #{index}")
|
125
|
+
end
|
126
|
+
assert_equal(corrects.size, lines.size)
|
127
|
+
# vasp 5
|
128
|
+
atoms = [
|
129
|
+
Atom.new("Li", [0.1, 0.2, 0.3], "atom0", [false, true , true ]),
|
130
|
+
Atom.new("O" , [0.2, 0.3, 0.4], "atom1", [false, false, true ]),
|
131
|
+
Atom.new("Li", [0.3, 0.4, 0.5], "atom2", [false, false, false]),
|
132
|
+
]
|
133
|
+
cell = Cell.new(axes, atoms)
|
134
|
+
cell.comment = "test"
|
135
|
+
io = StringIO.new
|
136
|
+
VaspUtils::Poscar.dump(cell, ["Li", "O"], io, 5)
|
137
|
+
io.rewind
|
138
|
+
corrects = [
|
139
|
+
"test\n",
|
140
|
+
"1.0\n",
|
141
|
+
" 1.000000000000000 0.000000000000000 0.000000000000000\n",
|
142
|
+
" 0.000000000000000 1.000000000000000 0.000000000000000\n",
|
143
|
+
" 0.000000000000000 0.000000000000000 1.000000000000000\n",
|
144
|
+
"Li O\n",
|
145
|
+
"2 1\n",
|
146
|
+
"Selective dynamics\n",
|
147
|
+
"Direct\n",
|
148
|
+
" 0.100000000000000 0.200000000000000 0.300000000000000 F T T\n",
|
149
|
+
" 0.300000000000000 0.400000000000000 0.500000000000000 F F F\n",
|
150
|
+
" 0.200000000000000 0.300000000000000 0.400000000000000 F F T\n",
|
151
|
+
]
|
152
|
+
lines = io.readlines
|
153
|
+
corrects.each_with_index do |cor, index|
|
154
|
+
assert_equal(cor, lines[index], "line: #{index}")
|
155
|
+
end
|
156
|
+
assert_equal(corrects.size, lines.size)
|
157
|
+
|
97
158
|
end
|
98
159
|
|
99
160
|
def test_parse
|
100
161
|
io = StringIO.new
|
101
162
|
assert_raises(VaspUtils::Poscar::ParseError){ VaspUtils::Poscar.parse(io) }
|
102
163
|
|
164
|
+
# vasp 4 style
|
103
165
|
io = StringIO.new
|
104
166
|
io.puts "sample0"
|
105
167
|
io.puts "1.0"
|
@@ -129,6 +191,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
129
191
|
assert_equal(
|
130
192
|
Atom.new(2, [0.5, 0.5, 0.0], "#O--003"), cell.atoms[2])
|
131
193
|
|
194
|
+
# vasp 4 style and selective dynamics
|
132
195
|
io = StringIO.new
|
133
196
|
io.puts "sample1"
|
134
197
|
io.puts "2.0"
|
@@ -165,10 +228,41 @@ class TC_Poscar < Test::Unit::TestCase
|
|
165
228
|
assert_equal(
|
166
229
|
Atom.new(2, [0.5, 0.5, 0.5], "#O--004", [true, true, true]),
|
167
230
|
cell.atoms[3])
|
231
|
+
|
232
|
+
# vasp 5 style
|
233
|
+
io = StringIO.new
|
234
|
+
io.puts "sample0"
|
235
|
+
io.puts "1.0"
|
236
|
+
io.puts " 1.0 0.0 0.0"
|
237
|
+
io.puts " 0.0 1.0 0.0"
|
238
|
+
io.puts " 0.0 0.0 1.0"
|
239
|
+
io.puts " Li Ge O"
|
240
|
+
io.puts " 1 1 1"
|
241
|
+
io.puts "Direct"
|
242
|
+
io.puts " 0.0 0.0 0.0 #Li-001"
|
243
|
+
io.puts " 0.5 0.0 0.0 #Ge-002"
|
244
|
+
io.puts " 0.5 0.5 0.0 #O--003"
|
245
|
+
io.rewind
|
246
|
+
cell = VaspUtils::Poscar.parse(io)
|
247
|
+
assert_equal("sample0", cell.comment)
|
248
|
+
assert_equal(
|
249
|
+
LatticeAxes.new( [
|
250
|
+
[1.0, 0.0, 0.0 ],
|
251
|
+
[0.0, 1.0, 0.0 ],
|
252
|
+
[0.0, 0.0, 1.0 ],
|
253
|
+
]),
|
254
|
+
cell.axes
|
255
|
+
)
|
256
|
+
assert_equal(
|
257
|
+
Atom.new("Li", [0.0, 0.0, 0.0], "#Li-001"), cell.atoms[0])
|
258
|
+
assert_equal(
|
259
|
+
Atom.new("Ge", [0.5, 0.0, 0.0], "#Ge-002"), cell.atoms[1])
|
260
|
+
assert_equal(
|
261
|
+
Atom.new("O", [0.5, 0.5, 0.0], "#O--003"), cell.atoms[2])
|
168
262
|
end
|
169
263
|
|
170
264
|
def test_load_file
|
171
|
-
cell = VaspUtils::Poscar.load_file("test/poscar/POSCAR.
|
265
|
+
cell = VaspUtils::Poscar.load_file("test/poscar/POSCAR.4-0")
|
172
266
|
assert_equal("sample0", cell.comment)
|
173
267
|
assert_equal(
|
174
268
|
LatticeAxes.new( [
|
@@ -185,26 +279,5 @@ class TC_Poscar < Test::Unit::TestCase
|
|
185
279
|
assert_equal(
|
186
280
|
Atom.new(2, [0.5, 0.5, 0.0], "#O--003"), cell.atoms[2])
|
187
281
|
|
188
|
-
#cell = VaspUtils::Poscar.load_file("test/poscar/POSCAR.02")
|
189
|
-
#assert_equal("sample0", cell.comment)
|
190
|
-
#assert_in_delta( 7.1028554188641708, cell.axes[0][0], $tolerance)
|
191
|
-
#assert_in_delta(-0.0000000169534433, cell.axes[0][1], $tolerance)
|
192
|
-
#assert_in_delta(-0.0000000169534428, cell.axes[0][2], $tolerance)
|
193
|
-
#assert_in_delta( 0.0000001136137521, cell.axes[1][0], $tolerance)
|
194
|
-
#assert_in_delta( 7.1028554188641725, cell.axes[1][1], $tolerance)
|
195
|
-
#assert_in_delta(-0.0000000169534433, cell.axes[1][2], $tolerance)
|
196
|
-
#assert_in_delta( 0.0000001136137521, cell.axes[2][0], $tolerance)
|
197
|
-
#assert_in_delta( 0.0000001136137521, cell.axes[2][1], $tolerance)
|
198
|
-
#assert_in_delta( 7.1028554188641725, cell.axes[2][2], $tolerance)
|
199
|
-
#assert_equal(0, cell.atoms[0].element)
|
200
|
-
#assert_equal(0.0395891220708791, cell.atoms[0].position[0])
|
201
|
-
#assert_equal(0.0395891220708791, cell.atoms[0].position[1])
|
202
|
-
#assert_equal(0.0395891220708791, cell.atoms[0].position[2])
|
203
|
-
|
204
282
|
end
|
205
|
-
|
206
|
-
#def setup
|
207
|
-
# #@pp02 = VaspUtils::Poscar.new("test/poscar/POSCAR.shirai")
|
208
|
-
#end
|
209
|
-
|
210
283
|
end
|
data/test/test_potcar.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require "test/unit"
|
4
4
|
require "vasputils.rb"
|
5
5
|
require "vasputils/potcar.rb"
|
6
|
+
require "vasputils/setting.rb"
|
6
7
|
|
7
8
|
class TC_Potcar < Test::Unit::TestCase
|
8
9
|
|
@@ -40,27 +41,5 @@ class TC_Potcar < Test::Unit::TestCase
|
|
40
41
|
assert_equal( correct, @p2[:elements])
|
41
42
|
end
|
42
43
|
|
43
|
-
#def test_self_elements
|
44
|
-
# assert_equal([ "Li", "Ge", "O" ], VaspUtils::Potcar.elements( @p0 ))
|
45
|
-
# assert_equal([ "Li", "Ge", "O" ], VaspUtils::Potcar.elements( @p1 ))
|
46
|
-
# correct = [
|
47
|
-
# "Ac", "Ac", "Ag", "Al", "Al", "Ar", "As", "Au", "B", "B", "B", "Ba",
|
48
|
-
# "Be", "Be", "Bi", "Bi", "Br", "C", "C", "C", "Ca", "Ca", "Cd", "Ce",
|
49
|
-
# "Ce", "Cl", "Cl", "Co", "Cr", "Cr", "Cs", "Cu", "Cu", "Dy",
|
50
|
-
# "Er", "Er", "Eu", "Eu", "F", "F", "F", "Fe", "Fe", "Ga", "Ga", "Ga",
|
51
|
-
# "Gd", "Gd", "Ge", "Ge", "Ge", "H", "H", "H", "H", "H", "H", "He",
|
52
|
-
# "Hf", "Hf", "Hg", "Ho", "I", "In", "In", "Ir", "K", "K", "Kr",
|
53
|
-
# "La", "La", "Li", "Li", "Lu", "Lu", "Mg", "Mg", "Mn", "Mn",
|
54
|
-
# "Mo", "Mo", "N", "N", "N", "Na", "Na", "Na", "Nb", "Nb", "Nd", "Nd",
|
55
|
-
# "Ne", "Ni", "Ni", "Np", "Np", "O", "O", "O", "Os", "Os", "P", "P",
|
56
|
-
# "Pa", "Pa", "Pb", "Pb", "Pd", "Pd", "Pm", "Pm", "Pr", "Pr", "Pt",
|
57
|
-
# "Pu", "Pu", "Rb", "Rb", "Re", "Re", "Rh", "Rh", "Ru", "Ru", "S", "S",
|
58
|
-
# "Sb", "Sc", "Se", "Si", "Si", "Sm", "Sm", "Sn", "Sn", "Sr",
|
59
|
-
# "Ta", "Ta", "Tb", "Tc", "Tc", "Te", "Th", "Th", "Ti", "Ti", "Ti",
|
60
|
-
# "Tl", "Tl", "Tm", "Tm", "U", "U", "V", "V", "V", "W", "W", "X", "Y",
|
61
|
-
# "Yb", "Yb", "Zn", "Zr", "Zr"]
|
62
|
-
# assert_equal( correct, VaspUtils::Potcar.elements( @p2 ))
|
63
|
-
#end
|
64
|
-
|
65
44
|
end
|
66
45
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "test/unit"
|
5
|
+
require "vasputils.rb"
|
6
|
+
#require "vasputils/setting.rb"
|
7
|
+
#require "vasputils/potcar/concatenater.rb"
|
8
|
+
|
9
|
+
class VaspUtils::Potcar::Concatenater
|
10
|
+
public :dump
|
11
|
+
end
|
12
|
+
|
13
|
+
class TC_Concatenater < Test::Unit::TestCase
|
14
|
+
def setup
|
15
|
+
settings = VaspUtils::Setting.new("test/potcar/test.vasputils")
|
16
|
+
potcar_path = settings["potcar_path"]
|
17
|
+
elem_potcar = settings["element_potcar"]
|
18
|
+
|
19
|
+
@c = VaspUtils::Potcar::Concatenater.new(potcar_path, elem_potcar)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_dump
|
23
|
+
# concatenating
|
24
|
+
assert_equal(
|
25
|
+
"H\n",
|
26
|
+
@c.dump(["H"])
|
27
|
+
)
|
28
|
+
assert_equal(
|
29
|
+
"H\nLi_sv\n",
|
30
|
+
@c.dump(["H", "Li"])
|
31
|
+
)
|
32
|
+
assert_raise(VaspUtils::Potcar::Concatenater::NoPotcarError){@c.dump(["H", "Li", "not_exist_element"])}
|
33
|
+
|
34
|
+
|
35
|
+
# return string if io is nil.
|
36
|
+
assert_equal(
|
37
|
+
"H\n",
|
38
|
+
@c.dump(["H"], nil)
|
39
|
+
)
|
40
|
+
|
41
|
+
# write io
|
42
|
+
outfile = "test/potcar/tmp.POTCAR"
|
43
|
+
FileUtils.rm(outfile) if File.exist? outfile
|
44
|
+
File.open(outfile, "w") do |io|
|
45
|
+
@c.dump(["H"], io)
|
46
|
+
end
|
47
|
+
assert_equal(
|
48
|
+
"H\n",
|
49
|
+
File.read(outfile)
|
50
|
+
)
|
51
|
+
|
52
|
+
FileUtils.rm(outfile) if File.exist? outfile
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "test/unit"
|
5
|
+
require "vasputils/setting.rb"
|
6
|
+
|
7
|
+
class TC_Setting < Test::Unit::TestCase
|
8
|
+
def setup
|
9
|
+
@s = VaspUtils::Setting.new("example/dot.vasputils")
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_initialize
|
13
|
+
assert_raise(Errno::ENOENT){VaspUtils::Setting.new("not_exist_file")}
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_get
|
17
|
+
#assert_raise(VaspUtils::Setting::NoEntryError){@s.get("no_entory_key")}
|
18
|
+
#assert_equal("/usr/local/calc/potcar/potpaw_PBE.52", @s.get("potcar_dir"))
|
19
|
+
assert_raise(VaspUtils::Setting::NoEntryError){@s["no_entory_key"]}
|
20
|
+
assert_equal("/usr/local/calc/potcar/potpaw_PBE.52", @s["potcar_dir"])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|