vasputils 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. data/CHANGES +49 -28
  2. data/Gemfile +10 -9
  3. data/VERSION +1 -1
  4. data/{test/vaspgeometryoptimizer/ended-Iter1/try00/CONTCAR → bin/changeincar} +0 -0
  5. data/bin/checkvasp +106 -75
  6. data/bin/genincar +4 -4
  7. data/bin/genkpoints +13 -13
  8. data/bin/genpotcar +2 -2
  9. data/bin/latticeconstants +10 -12
  10. data/bin/qsubvasp +63 -80
  11. data/bin/resetvaspdir +51 -0
  12. data/bin/resetvaspgeomopt +73 -0
  13. data/bin/runvasp +42 -49
  14. data/bin/runvaspdir +19 -0
  15. data/bin/runvaspgeomopt +19 -0
  16. data/bin/showvaspdir +171 -0
  17. data/bin/showvaspgeomopt +83 -0
  18. data/bin/symposcar +89 -113
  19. data/bin/varycondition +28 -0
  20. data/example/dot.vasputils +26 -232
  21. data/lib/vasputils/conditionvarier.rb +157 -0
  22. data/lib/vasputils/incar.rb +40 -43
  23. data/lib/vasputils/kpoints.rb +31 -33
  24. data/lib/vasputils/outcar.rb +53 -53
  25. data/lib/vasputils/poscar.rb +148 -150
  26. data/lib/vasputils/potcar/concatenater.rb +22 -22
  27. data/lib/vasputils/potcar.rb +12 -12
  28. data/lib/vasputils/setting.rb +22 -22
  29. data/lib/vasputils/vaspdir.rb +199 -86
  30. data/lib/vasputils/vaspgeometryoptimizer.rb +233 -100
  31. data/lib/vasputils.rb +7 -65
  32. data/test/conditionanalyzer/00/POSCAR +8 -0
  33. data/test/conditionanalyzer/00/encut400_k444/CONTCAR +8 -0
  34. data/test/conditionanalyzer/00/encut400_k444/INCAR +28 -0
  35. data/test/conditionanalyzer/00/encut400_k444/KPOINTS +6 -0
  36. data/test/conditionanalyzer/00/encut400_k444/OUTCAR +1436 -0
  37. data/test/conditionanalyzer/00/encut400_k444/POSCAR +8 -0
  38. data/test/conditionanalyzer/00/encut400_k444/POTCAR +16 -0
  39. data/test/conditionanalyzer/00/encut400_k555/CONTCAR +8 -0
  40. data/test/conditionanalyzer/00/encut400_k555/INCAR +28 -0
  41. data/test/conditionanalyzer/00/encut400_k555/KPOINTS +6 -0
  42. data/test/conditionanalyzer/00/encut400_k555/OUTCAR +1436 -0
  43. data/test/conditionanalyzer/00/encut400_k555/POSCAR +8 -0
  44. data/test/conditionanalyzer/00/encut400_k555/POTCAR +16 -0
  45. data/test/conditionanalyzer/00/encut500_k444/CONTCAR +8 -0
  46. data/test/conditionanalyzer/00/encut500_k444/INCAR +28 -0
  47. data/test/conditionanalyzer/00/encut500_k444/KPOINTS +6 -0
  48. data/test/conditionanalyzer/00/encut500_k444/OUTCAR +1436 -0
  49. data/test/conditionanalyzer/00/encut500_k444/POSCAR +8 -0
  50. data/test/conditionanalyzer/00/encut500_k444/POTCAR +16 -0
  51. data/test/conditionanalyzer/00/encut500_k555/CONTCAR +8 -0
  52. data/test/conditionanalyzer/00/encut500_k555/INCAR +28 -0
  53. data/test/conditionanalyzer/00/encut500_k555/KPOINTS +6 -0
  54. data/test/conditionanalyzer/00/encut500_k555/OUTCAR +1436 -0
  55. data/test/conditionanalyzer/00/encut500_k555/POSCAR +8 -0
  56. data/test/conditionanalyzer/00/encut500_k555/POTCAR +16 -0
  57. data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/00-original}/INCAR +3 -3
  58. data/test/conditionanalyzer/01/00-original/KPOINTS +6 -0
  59. data/test/conditionanalyzer/01/00-original/POSCAR +10 -0
  60. data/test/conditionanalyzer/01/01-ENCUT/1000/try02/CONTCAR +13 -0
  61. data/test/conditionanalyzer/01/01-ENCUT/1000/try02/INCAR +17 -0
  62. data/test/conditionanalyzer/01/01-ENCUT/1000/try02/KPOINTS +6 -0
  63. data/test/conditionanalyzer/01/01-ENCUT/1000/try02/OUTCAR +1692 -0
  64. data/test/conditionanalyzer/01/01-ENCUT/1000/try02/POSCAR +13 -0
  65. data/test/conditionanalyzer/01/01-ENCUT/1200/try02/CONTCAR +13 -0
  66. data/test/conditionanalyzer/01/01-ENCUT/1200/try02/INCAR +17 -0
  67. data/test/conditionanalyzer/01/01-ENCUT/1200/try02/KPOINTS +6 -0
  68. data/test/conditionanalyzer/01/01-ENCUT/1200/try02/OUTCAR +1692 -0
  69. data/test/conditionanalyzer/01/01-ENCUT/1200/try02/POSCAR +13 -0
  70. data/test/conditionanalyzer/01/01-ENCUT/1500/try02/CONTCAR +13 -0
  71. data/test/conditionanalyzer/01/01-ENCUT/1500/try02/INCAR +17 -0
  72. data/test/conditionanalyzer/01/01-ENCUT/1500/try02/KPOINTS +6 -0
  73. data/test/conditionanalyzer/01/01-ENCUT/1500/try02/OUTCAR +1742 -0
  74. data/test/conditionanalyzer/01/01-ENCUT/1500/try02/POSCAR +13 -0
  75. data/test/conditionanalyzer/01/01-ENCUT/500/try05/CONTCAR +13 -0
  76. data/test/conditionanalyzer/01/01-ENCUT/500/try05/INCAR +17 -0
  77. data/test/conditionanalyzer/01/01-ENCUT/500/try05/KPOINTS +6 -0
  78. data/test/conditionanalyzer/01/01-ENCUT/500/try05/OUTCAR +1644 -0
  79. data/test/conditionanalyzer/01/01-ENCUT/500/try05/POSCAR +13 -0
  80. data/test/conditionanalyzer/01/01-ENCUT/600/try01/CONTCAR +13 -0
  81. data/test/conditionanalyzer/01/01-ENCUT/600/try01/INCAR +17 -0
  82. data/test/conditionanalyzer/01/01-ENCUT/600/try01/KPOINTS +6 -0
  83. data/test/conditionanalyzer/01/01-ENCUT/600/try01/OUTCAR +1644 -0
  84. data/test/conditionanalyzer/01/01-ENCUT/600/try01/POSCAR +13 -0
  85. data/test/conditionanalyzer/01/01-ENCUT/700/try01/CONTCAR +13 -0
  86. data/test/conditionanalyzer/01/01-ENCUT/700/try01/INCAR +17 -0
  87. data/test/conditionanalyzer/01/01-ENCUT/700/try01/KPOINTS +6 -0
  88. data/test/conditionanalyzer/01/01-ENCUT/700/try01/OUTCAR +1644 -0
  89. data/test/conditionanalyzer/01/01-ENCUT/700/try01/POSCAR +13 -0
  90. data/test/conditionanalyzer/01/01-ENCUT/800/try01/CONTCAR +13 -0
  91. data/test/conditionanalyzer/01/01-ENCUT/800/try01/INCAR +17 -0
  92. data/test/conditionanalyzer/01/01-ENCUT/800/try01/KPOINTS +6 -0
  93. data/test/conditionanalyzer/01/01-ENCUT/800/try01/OUTCAR +3610 -0
  94. data/test/conditionanalyzer/01/01-ENCUT/800/try01/POSCAR +10 -0
  95. data/test/conditionanalyzer/01/01-ENCUT/900/try01/CONTCAR +13 -0
  96. data/test/conditionanalyzer/01/01-ENCUT/900/try01/INCAR +17 -0
  97. data/test/conditionanalyzer/01/01-ENCUT/900/try01/KPOINTS +6 -0
  98. data/test/conditionanalyzer/01/01-ENCUT/900/try01/OUTCAR +1692 -0
  99. data/test/conditionanalyzer/01/01-ENCUT/900/try01/POSCAR +13 -0
  100. data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/CONTCAR +13 -0
  101. data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/INCAR +17 -0
  102. data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/KPOINTS +6 -0
  103. data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/OUTCAR +12318 -0
  104. data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/POSCAR +13 -0
  105. data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/CONTCAR +13 -0
  106. data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/INCAR +17 -0
  107. data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/02-KPOINTS/1x1x1/try07}/KPOINTS +1 -1
  108. data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/OUTCAR +1337 -0
  109. data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/POSCAR +13 -0
  110. data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/CONTCAR +13 -0
  111. data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/INCAR +17 -0
  112. data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/KPOINTS +6 -0
  113. data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/OUTCAR +9885 -0
  114. data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/POSCAR +13 -0
  115. data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/CONTCAR +13 -0
  116. data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/INCAR +17 -0
  117. data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/KPOINTS +6 -0
  118. data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/OUTCAR +72342 -0
  119. data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/POSCAR +13 -0
  120. data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/CONTCAR +13 -0
  121. data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/INCAR +17 -0
  122. data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/KPOINTS +6 -0
  123. data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/OUTCAR +139254 -0
  124. data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/POSCAR +13 -0
  125. data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/CONTCAR +13 -0
  126. data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/INCAR +17 -0
  127. data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/KPOINTS +6 -0
  128. data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/OUTCAR +1644 -0
  129. data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/POSCAR +13 -0
  130. data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/INCAR +17 -0
  131. data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/KPOINTS +6 -0
  132. data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/OUTCAR +507061 -0
  133. data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/POSCAR +10 -0
  134. data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/CONTCAR +13 -0
  135. data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/INCAR +17 -0
  136. data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/KPOINTS +6 -0
  137. data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/OUTCAR +3298 -0
  138. data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/POSCAR +13 -0
  139. data/test/conditionanalyzer/mixed_conditions/orthorhombic/CONTCAR +17 -0
  140. data/test/conditionanalyzer/mixed_conditions/orthorhombic/INCAR +28 -0
  141. data/test/conditionanalyzer/mixed_conditions/orthorhombic/KPOINTS +6 -0
  142. data/test/conditionanalyzer/mixed_conditions/orthorhombic/OUTCAR +1436 -0
  143. data/test/conditionanalyzer/mixed_conditions/orthorhombic/POSCAR +12 -0
  144. data/test/conditionanalyzer/mixed_conditions/orthorhombic/POTCAR +16 -0
  145. data/test/conditionanalyzer/mixed_conditions/tetragonal/CONTCAR +17 -0
  146. data/test/conditionanalyzer/mixed_conditions/tetragonal/INCAR +28 -0
  147. data/test/conditionanalyzer/mixed_conditions/tetragonal/KPOINTS +6 -0
  148. data/test/conditionanalyzer/mixed_conditions/tetragonal/OUTCAR +1436 -0
  149. data/test/conditionanalyzer/mixed_conditions/tetragonal/POSCAR +12 -0
  150. data/test/conditionanalyzer/mixed_conditions/tetragonal/POTCAR +16 -0
  151. data/test/conditionanalyzer/picker/encut400_k444-cubic/INCAR +28 -0
  152. data/test/conditionanalyzer/picker/encut400_k444-cubic/KPOINTS +6 -0
  153. data/test/conditionanalyzer/picker/encut400_k444-cubic/OUTCAR +1436 -0
  154. data/test/conditionanalyzer/picker/encut400_k444-cubic/POSCAR +9 -0
  155. data/test/conditionanalyzer/picker/encut400_k444-cubic/POTCAR +16 -0
  156. data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/INCAR +28 -0
  157. data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/KPOINTS +6 -0
  158. data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/OUTCAR +1436 -0
  159. data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/POSCAR +9 -0
  160. data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/POTCAR +16 -0
  161. data/test/conditionanalyzer/picker/encut400_k444-unfinished/INCAR +28 -0
  162. data/test/conditionanalyzer/picker/encut400_k444-unfinished/KPOINTS +6 -0
  163. data/test/conditionanalyzer/picker/encut400_k444-unfinished/OUTCAR +1381 -0
  164. data/test/conditionanalyzer/picker/encut400_k444-unfinished/POSCAR +12 -0
  165. data/test/conditionanalyzer/picker/encut400_k444-unfinished/POTCAR +16 -0
  166. data/test/conditionanalyzer/picker/hexiagonal/CONTCAR +13 -0
  167. data/test/conditionanalyzer/picker/hexiagonal/INCAR +17 -0
  168. data/test/conditionanalyzer/picker/hexiagonal/KPOINTS +6 -0
  169. data/test/conditionanalyzer/picker/hexiagonal/OUTCAR +1644 -0
  170. data/test/conditionanalyzer/picker/hexiagonal/POSCAR +13 -0
  171. data/test/conditionvarier/standard/INCAR +28 -0
  172. data/test/conditionvarier/standard/KPOINTS +6 -0
  173. data/test/conditionvarier/standard/POSCAR +12 -0
  174. data/test/conditionvarier/standard/POTCAR +16 -0
  175. data/test/helper.rb +4 -4
  176. data/test/poscar/symmetry/cubic/POSCAR +8 -0
  177. data/test/poscar/symmetry/hexagonal/POSCAR +8 -0
  178. data/test/poscar/symmetry/monoclinic/POSCAR +8 -0
  179. data/test/poscar/symmetry/orthorhombic/POSCAR +8 -0
  180. data/test/poscar/symmetry/tetragonal/POSCAR +8 -0
  181. data/test/poscar/symmetry/tetragonal-b/POSCAR +8 -0
  182. data/test/poscar/symmetry/triclinic/POSCAR +10 -0
  183. data/test/poscar/symmetry/trigonal/POSCAR +9 -0
  184. data/test/test_conditionvarier.rb +201 -0
  185. data/test/test_incar.rb +144 -144
  186. data/test/test_kpoints.rb +91 -91
  187. data/test/test_outcar.rb +154 -154
  188. data/test/test_poscar.rb +263 -262
  189. data/test/test_potcar.rb +31 -31
  190. data/test/test_potcar_concatenater.rb +39 -39
  191. data/test/test_setting.rb +15 -14
  192. data/test/test_vaspdir.rb +193 -126
  193. data/test/test_vaspgeometryoptimizer.rb +177 -78
  194. data/test/test_vasputils.rb +48 -48
  195. data/test/vaspdir/reset_init/finished/orig/CONTCAR +17 -0
  196. data/test/vaspdir/reset_init/finished/orig/INCAR +27 -0
  197. data/test/vaspdir/reset_init/finished/orig/KPOINTS +6 -0
  198. data/test/vaspdir/reset_init/finished/orig/OUTCAR +1436 -0
  199. data/test/vaspdir/reset_init/finished/orig/POSCAR +12 -0
  200. data/test/vaspdir/reset_init/finished/orig/POTCAR +16 -0
  201. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/CONTCAR +17 -0
  202. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/INCAR +27 -0
  203. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/KPOINTS +6 -0
  204. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/OUTCAR +1436 -0
  205. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/POSCAR +12 -0
  206. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/POTCAR +16 -0
  207. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/CONTCAR +17 -0
  208. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/INCAR +27 -0
  209. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/KPOINTS +6 -0
  210. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/OUTCAR +1436 -0
  211. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/POSCAR +12 -0
  212. data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/POTCAR +16 -0
  213. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/DOSCAR +0 -0
  214. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/EIGENVAL +0 -0
  215. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/INCAR +0 -0
  216. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/KPOINTS +0 -0
  217. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/OSZICAR +0 -0
  218. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/OUTCAR +0 -0
  219. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/PCDAT +0 -0
  220. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/POSCAR +0 -0
  221. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/POTCAR +0 -0
  222. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/WAVECAR +0 -0
  223. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/XDATCAR +0 -0
  224. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/vasprun.xml +0 -0
  225. data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt01/.gitignore +0 -0
  226. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CHG +0 -0
  227. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CHGCAR +0 -0
  228. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CONTCAR +0 -0
  229. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/DOSCAR +0 -0
  230. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/EIGENVAL +0 -0
  231. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/INCAR +0 -0
  232. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/KPOINTS +0 -0
  233. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/OSZICAR +0 -0
  234. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/OUTCAR +0 -0
  235. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/PCDAT +0 -0
  236. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/POSCAR +0 -0
  237. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/POTCAR +0 -0
  238. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/WAVECAR +0 -0
  239. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/XDATCAR +0 -0
  240. data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/vasprun.xml +0 -0
  241. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/CONTCAR +12 -0
  242. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/INCAR +0 -0
  243. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/KPOINTS +0 -0
  244. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/OUTCAR +0 -0
  245. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/POSCAR +12 -0
  246. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/POTCAR +0 -0
  247. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/CONTCAR +12 -0
  248. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/INCAR +0 -0
  249. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/KPOINTS +0 -0
  250. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/OUTCAR +0 -0
  251. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/POSCAR +12 -0
  252. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/POTCAR +0 -0
  253. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/CONTCAR +0 -0
  254. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/INCAR +0 -0
  255. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/KPOINTS +0 -0
  256. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/POSCAR +12 -0
  257. data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/POTCAR +0 -0
  258. data/test/vaspgeometryoptimizer/reset_init/orig/lock_vaspgeomopt/dummy +0 -0
  259. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/CONTCAR +12 -0
  260. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/INCAR +0 -0
  261. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/KPOINTS +0 -0
  262. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/OUTCAR +0 -0
  263. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/POSCAR +12 -0
  264. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/POTCAR +0 -0
  265. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/CONTCAR +12 -0
  266. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/INCAR +0 -0
  267. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/KPOINTS +0 -0
  268. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/OUTCAR +0 -0
  269. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/POSCAR +12 -0
  270. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/POTCAR +0 -0
  271. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/CONTCAR +0 -0
  272. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/INCAR +0 -0
  273. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/KPOINTS +0 -0
  274. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/OUTCAR +0 -0
  275. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/POSCAR +12 -0
  276. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/POTCAR +0 -0
  277. data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/lock_vaspgeomopt/dummy +0 -0
  278. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/CONTCAR +12 -0
  279. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/INCAR +0 -0
  280. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/KPOINTS +0 -0
  281. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/OUTCAR +0 -0
  282. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/POSCAR +12 -0
  283. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/POTCAR +0 -0
  284. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/CONTCAR +12 -0
  285. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/INCAR +0 -0
  286. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/KPOINTS +0 -0
  287. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/OUTCAR +0 -0
  288. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/POSCAR +12 -0
  289. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/POTCAR +0 -0
  290. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/INCAR +0 -0
  291. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/KPOINTS +0 -0
  292. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/POSCAR +12 -0
  293. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/POTCAR +0 -0
  294. data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/lock_vaspgeomopt/dummy +0 -0
  295. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/CONTCAR +12 -0
  296. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/INCAR +0 -0
  297. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/KPOINTS +0 -0
  298. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/OUTCAR +0 -0
  299. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/POSCAR +12 -0
  300. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/POTCAR +0 -0
  301. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/CONTCAR +12 -0
  302. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/INCAR +0 -0
  303. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/KPOINTS +0 -0
  304. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/OUTCAR +0 -0
  305. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/POSCAR +12 -0
  306. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/POTCAR +0 -0
  307. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/CONTCAR +12 -0
  308. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/INCAR +0 -0
  309. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/KPOINTS +0 -0
  310. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/POSCAR +12 -0
  311. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/POTCAR +0 -0
  312. data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/lock_vaspgeomopt/dummy +0 -0
  313. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/CONTCAR +12 -0
  314. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/INCAR +0 -0
  315. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/KPOINTS +0 -0
  316. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/OUTCAR +0 -0
  317. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/POSCAR +12 -0
  318. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/POTCAR +0 -0
  319. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/CONTCAR +12 -0
  320. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/INCAR +0 -0
  321. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/KPOINTS +0 -0
  322. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/OUTCAR +0 -0
  323. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/POSCAR +12 -0
  324. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/POTCAR +0 -0
  325. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/CONTCAR +0 -0
  326. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/INCAR +0 -0
  327. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/KPOINTS +0 -0
  328. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/POSCAR +12 -0
  329. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/POTCAR +0 -0
  330. data/test/vaspgeometryoptimizer/reset_reincarnation/orig/lock_vaspgeomopt/dummy +0 -0
  331. data/test/vaspgeometryoptimizer/started/geomopt00/INCAR +0 -0
  332. data/test/vaspgeometryoptimizer/started/geomopt00/KPOINTS +0 -0
  333. data/test/vaspgeometryoptimizer/started/geomopt00/POSCAR +0 -0
  334. data/test/vaspgeometryoptimizer/started/geomopt00/POTCAR +0 -0
  335. data/test/vaspgeometryoptimizer/till01/geomopt00/CONTCAR +0 -0
  336. data/test/vaspgeometryoptimizer/till01/geomopt00/INCAR +0 -0
  337. data/test/vaspgeometryoptimizer/till01/geomopt00/KPOINTS +0 -0
  338. data/test/vaspgeometryoptimizer/till01/geomopt00/OUTCAR +0 -0
  339. data/test/vaspgeometryoptimizer/till01/geomopt00/POSCAR +0 -0
  340. data/test/vaspgeometryoptimizer/till01/geomopt00/POTCAR +0 -0
  341. data/test/vaspgeometryoptimizer/till01/geomopt01/INCAR +0 -0
  342. data/test/vaspgeometryoptimizer/till01/geomopt01/KPOINTS +0 -0
  343. data/test/vaspgeometryoptimizer/till01/geomopt01/POSCAR +0 -0
  344. data/test/vaspgeometryoptimizer/till01/geomopt01/POTCAR +0 -0
  345. metadata +464 -106
  346. data/bin/genvaspdir +0 -17
  347. data/bin/rmvaspout +0 -40
  348. data/lib/vasputils/vaspkpointsfinder.rb +0 -72
  349. data/test/test_vaspkpointsfinder.rb +0 -25
  350. data/test/vaspkpointsfinder/01-01-01/try00/POSCAR +0 -8
  351. data/vasputils.gemspec +0 -567
  352. /data/test/{vaspgeometryoptimizer/ended-Iter1/try00 → conditionanalyzer/01/00-original}/POTCAR +0 -0
  353. /data/test/{vaspgeometryoptimizer/ended-Iter1/try01 → conditionanalyzer/01/01-ENCUT/1000/try02}/POTCAR +0 -0
  354. /data/test/{vaspgeometryoptimizer/ended-Iter2/try00 → conditionanalyzer/01/01-ENCUT/1200/try02}/POTCAR +0 -0
  355. /data/test/{vaspgeometryoptimizer/ended-Iter2/try01 → conditionanalyzer/01/01-ENCUT/1500/try02}/POTCAR +0 -0
  356. /data/test/{vaspgeometryoptimizer/not-yet/try00 → conditionanalyzer/01/01-ENCUT/500/try05}/POTCAR +0 -0
  357. /data/test/{vaspgeometryoptimizer/prepare_next/try00 → conditionanalyzer/01/01-ENCUT/600/try01}/POTCAR +0 -0
  358. /data/test/{vaspgeometryoptimizer/started/try00 → conditionanalyzer/01/01-ENCUT/700/try01}/POTCAR +0 -0
  359. /data/test/{vaspgeometryoptimizer/till01/try00 → conditionanalyzer/01/01-ENCUT/800/try01}/POTCAR +0 -0
  360. /data/test/{vaspgeometryoptimizer/till01 → conditionanalyzer/01/01-ENCUT/900}/try01/POTCAR +0 -0
  361. /data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/02-KPOINTS/16x16x16/try07}/POTCAR +0 -0
  362. /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/INCAR → conditionanalyzer/01/02-KPOINTS/1x1x1/try07/POTCAR} +0 -0
  363. /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/KPOINTS → conditionanalyzer/01/02-KPOINTS/2x2x2/try10/POTCAR} +0 -0
  364. /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/OUTCAR → conditionanalyzer/01/02-KPOINTS/32x32x32/try06/POTCAR} +0 -0
  365. /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/POSCAR → conditionanalyzer/01/02-KPOINTS/32x32x64/try04/POTCAR} +0 -0
  366. /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/INCAR → conditionanalyzer/01/02-KPOINTS/4x4x4/try05/POTCAR} +0 -0
  367. /data/test/{vaspgeometryoptimizer/ended-Iter2/try00 → conditionanalyzer/01/02-KPOINTS/64x64x64}/CONTCAR +0 -0
  368. /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/KPOINTS → conditionanalyzer/01/02-KPOINTS/64x64x64/POTCAR} +0 -0
  369. /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/POSCAR → conditionanalyzer/01/02-KPOINTS/8x8x8/try05/POTCAR} +0 -0
  370. /data/test/{vaspgeometryoptimizer/ended-Iter2/try00/INCAR → conditionanalyzer/picker/hexiagonal/POTCAR} +0 -0
  371. /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter1/geomopt00}/CONTCAR +0 -0
  372. /data/test/vaspgeometryoptimizer/{ended-Iter2/try01 → ended-Iter1/geomopt00}/INCAR +0 -0
  373. /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/KPOINTS +0 -0
  374. /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/OUTCAR +0 -0
  375. /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/POSCAR +0 -0
  376. /data/test/vaspgeometryoptimizer/{ended-Iter2/try01/KPOINTS → ended-Iter1/geomopt00/POTCAR} +0 -0
  377. /data/test/vaspgeometryoptimizer/{not-yet/try00 → ended-Iter1/geomopt01}/INCAR +0 -0
  378. /data/test/vaspgeometryoptimizer/{not-yet/try00 → ended-Iter1/geomopt01}/KPOINTS +0 -0
  379. /data/test/vaspgeometryoptimizer/ended-Iter1/{try01 → geomopt01}/OUTCAR +0 -0
  380. /data/test/vaspgeometryoptimizer/{ended-Iter2/try01 → ended-Iter1/geomopt01}/POSCAR +0 -0
  381. /data/test/vaspgeometryoptimizer/{not-yet/try00/POSCAR → ended-Iter1/geomopt01/POTCAR} +0 -0
  382. /data/test/vaspgeometryoptimizer/{till01/try00 → ended-Iter2/geomopt00}/CONTCAR +0 -0
  383. /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/INCAR +0 -0
  384. /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/KPOINTS +0 -0
  385. /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/OUTCAR +0 -0
  386. /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/POSCAR +0 -0
  387. /data/test/vaspgeometryoptimizer/{prepare_next/try00/CHG → ended-Iter2/geomopt00/POTCAR} +0 -0
  388. /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/INCAR +0 -0
  389. /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/KPOINTS +0 -0
  390. /data/test/vaspgeometryoptimizer/ended-Iter2/{try01 → geomopt01}/OUTCAR +0 -0
  391. /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/POSCAR +0 -0
  392. /data/test/vaspgeometryoptimizer/{prepare_next/try00/CHGCAR → ended-Iter2/geomopt01/POTCAR} +0 -0
  393. /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/INCAR +0 -0
  394. /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/KPOINTS +0 -0
  395. /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/POSCAR +0 -0
  396. /data/test/vaspgeometryoptimizer/{prepare_next/try00/DOSCAR → not-geomopt/not-geomopt-subdir/calcA/POTCAR} +0 -0
  397. /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/INCAR +0 -0
  398. /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/KPOINTS +0 -0
  399. /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/POSCAR +0 -0
  400. /data/test/vaspgeometryoptimizer/{prepare_next/try00/EIGENVAL → not-geomopt/not-geomopt-subdir/calcB/POTCAR} +0 -0
  401. /data/test/vaspgeometryoptimizer/{prepare_next/try00/OSZICAR → not-yet/geomopt00/INCAR} +0 -0
  402. /data/test/vaspgeometryoptimizer/{prepare_next/try00/PCDAT → not-yet/geomopt00/KPOINTS} +0 -0
  403. /data/test/vaspgeometryoptimizer/{prepare_next/try00/WAVECAR → not-yet/geomopt00/POSCAR} +0 -0
  404. /data/test/vaspgeometryoptimizer/{prepare_next/try00/XDATCAR → not-yet/geomopt00/POTCAR} +0 -0
  405. /data/test/vaspgeometryoptimizer/prepare_next/{try00/vasprun.xml → no-contcar/geomopt00/CHG} +0 -0
  406. /data/test/vaspgeometryoptimizer/{till01/try00/OUTCAR → prepare_next/no-contcar/geomopt00/CHGCAR} +0 -0
data/test/test_incar.rb CHANGED
@@ -11,157 +11,157 @@ require "stringio"
11
11
  # assert_raise( RuntimeError ){}
12
12
 
13
13
  class TC_Incar < Test::Unit::TestCase
14
- #def setup
15
- # @k = Incar.new
16
- #end
17
-
18
- SAMPLE_PAIRS = {
19
- "SYSTEM" => "Untitled",
20
- "PREC" => "High",
21
- "IBRION" => "2",
22
- "NSW" => "100",
23
- "ISIF" => "2",
24
- "ENCUT" => "400",
25
- "NELM" => "60",
26
- "NELMIN" => "2",
27
- "EDIFF" => "1.0e-05",
28
- "EDIFFG" => "-0.02",
29
- "VOSKOWN" => "1",
30
- "NBLOCK" => "1",
31
- "ISPIN" => "1",
32
- "INIWAV" => "1",
33
- "ISTART" => "1",
34
- "ICHARG" => "1",
35
- "LWAVE" => ".TRUE.",
36
- "LCHARG" => ".TRUE.",
37
- "ISMEAR" => "0",
38
- "SIGMA" => "0.1",
39
- "IALGO" => "38",
40
- "LREAL" => "Auto",
41
- "NGX" => "36",
42
- "NGY" => "36",
43
- "NGZ" => "42",
44
- }
14
+ #def setup
15
+ # @k = Incar.new
16
+ #end
17
+
18
+ SAMPLE_PAIRS = {
19
+ "SYSTEM" => "Untitled",
20
+ "PREC" => "High",
21
+ "IBRION" => "2",
22
+ "NSW" => "100",
23
+ "ISIF" => "2",
24
+ "ENCUT" => "400",
25
+ "NELM" => "60",
26
+ "NELMIN" => "2",
27
+ "EDIFF" => "1.0e-05",
28
+ "EDIFFG" => "-0.02",
29
+ "VOSKOWN" => "1",
30
+ "NBLOCK" => "1",
31
+ "ISPIN" => "1",
32
+ "INIWAV" => "1",
33
+ "ISTART" => "1",
34
+ "ICHARG" => "1",
35
+ "LWAVE" => ".TRUE.",
36
+ "LCHARG" => ".TRUE.",
37
+ "ISMEAR" => "0",
38
+ "SIGMA" => "0.1",
39
+ "IALGO" => "38",
40
+ "LREAL" => "Auto",
41
+ "NGX" => "36",
42
+ "NGY" => "36",
43
+ "NGZ" => "42",
44
+ }
45
45
 
46
- def test_self_parse
47
- io = StringIO.new
48
- io.puts "# SCF input for VASP"
49
- io.puts "# Note that VASP uses the FIRST occurence of a keyword"
50
- io.puts "# if single point calc, IBRION = -1, NSW = 0, and comment out ISIF"
51
- io.puts ""
52
- io.puts "SYSTEM = Untitled (VASP)"
53
- io.puts " PREC = High"
54
- io.puts " IBRION = 2 #-1:atoms not moved, 1:quasi-Newton, 2:conjugate-gradient"
55
- io.puts " NSW = 100 #maximum number of ionic steps"
56
- io.puts " ISIF = 2"
57
- io.puts " ENCUT = 400"
58
- io.puts " NELM = 60 #maximum number of electronic steps"
59
- io.puts " NELMIN = 2 #minimum number of electronic steps"
60
- io.puts " EDIFF = 1.0e-05"
61
- io.puts " EDIFFG = -0.02"
62
- io.puts " VOSKOWN = 1"
63
- io.puts " NBLOCK = 1"
64
- io.puts " ISPIN = 1 #1:non spin polarized, 2:spin polarized"
65
- io.puts " INIWAV = 1"
66
- io.puts " ISTART = 1"
67
- io.puts " ICHARG = 1"
68
- io.puts " LWAVE = .TRUE."
69
- io.puts " LCHARG = .TRUE."
70
- io.puts " ISMEAR = 0"
71
- io.puts " SIGMA = 0.1"
72
- io.puts " IALGO = 38 #38:KosugiAlgorithm, 48:RMM-DIIS"
73
- io.puts " LREAL = Auto #fast & not accurate"
74
- io.puts " NGX = 36"
75
- io.puts " NGY = 36"
76
- io.puts " NGZ = 42"
77
- io.rewind
78
- pairs = VaspUtils::Incar.parse(io)
79
- assert_equal(SAMPLE_PAIRS, pairs)
80
- end
46
+ def test_self_parse
47
+ io = StringIO.new
48
+ io.puts "# SCF input for VASP"
49
+ io.puts "# Note that VASP uses the FIRST occurence of a keyword"
50
+ io.puts "# if single point calc, IBRION = -1, NSW = 0, and comment out ISIF"
51
+ io.puts ""
52
+ io.puts "SYSTEM = Untitled (VASP)"
53
+ io.puts " PREC = High"
54
+ io.puts " IBRION = 2 #-1:atoms not moved, 1:quasi-Newton, 2:conjugate-gradient"
55
+ io.puts " NSW = 100 #maximum number of ionic steps"
56
+ io.puts " ISIF = 2"
57
+ io.puts " ENCUT = 400"
58
+ io.puts " NELM = 60 #maximum number of electronic steps"
59
+ io.puts " NELMIN = 2 #minimum number of electronic steps"
60
+ io.puts " EDIFF = 1.0e-05"
61
+ io.puts " EDIFFG = -0.02"
62
+ io.puts " VOSKOWN = 1"
63
+ io.puts " NBLOCK = 1"
64
+ io.puts " ISPIN = 1 #1:non spin polarized, 2:spin polarized"
65
+ io.puts " INIWAV = 1"
66
+ io.puts " ISTART = 1"
67
+ io.puts " ICHARG = 1"
68
+ io.puts " LWAVE = .TRUE."
69
+ io.puts " LCHARG = .TRUE."
70
+ io.puts " ISMEAR = 0"
71
+ io.puts " SIGMA = 0.1"
72
+ io.puts " IALGO = 38 #38:KosugiAlgorithm, 48:RMM-DIIS"
73
+ io.puts " LREAL = Auto #fast & not accurate"
74
+ io.puts " NGX = 36"
75
+ io.puts " NGY = 36"
76
+ io.puts " NGZ = 42"
77
+ io.rewind
78
+ pairs = VaspUtils::Incar.parse(io)
79
+ assert_equal(SAMPLE_PAIRS, pairs)
80
+ end
81
81
 
82
- def test_self_load_file
83
- pairs = VaspUtils::Incar.load_file "test/incar/INCAR.00"
84
- assert_equal(SAMPLE_PAIRS, pairs)
82
+ def test_self_load_file
83
+ pairs = VaspUtils::Incar.load_file "test/incar/INCAR.00"
84
+ assert_equal(SAMPLE_PAIRS, pairs)
85
85
 
86
- corrects = {
87
- "SYSTEM" => "Untitled",
88
- "PREC" => "High",
89
- "IBRION" => "2",
90
- "NSW" => "0",
91
- "ISIF" => "2",
92
- "ENCUT" => "400",
93
- "NELM" => "60",
94
- "NELMIN" => "2",
95
- "EDIFF" => "1.0e-05",
96
- "EDIFFG" => "-0.02",
97
- "VOSKOWN" => "1",
98
- "NBLOCK" => "1",
99
- "ISPIN" => "1",
100
- "INIWAV" => "1",
101
- "ISTART" => "1",
102
- "ICHARG" => "1",
103
- "LWAVE" => ".TRUE.",
104
- "LCHARG" => ".TRUE.",
105
- "ISMEAR" => "0",
106
- "SIGMA" => "0.1",
107
- "IALGO" => "38",
108
- "LREAL" => "Auto",
109
- "NGX" => "36",
110
- "NGY" => "36",
111
- "NGZ" => "42",
112
- }
113
- pairs = VaspUtils::Incar.load_file "test/incar/INCAR.01"
114
- assert_equal(corrects, pairs)
86
+ corrects = {
87
+ "SYSTEM" => "Untitled",
88
+ "PREC" => "High",
89
+ "IBRION" => "2",
90
+ "NSW" => "0",
91
+ "ISIF" => "2",
92
+ "ENCUT" => "400",
93
+ "NELM" => "60",
94
+ "NELMIN" => "2",
95
+ "EDIFF" => "1.0e-05",
96
+ "EDIFFG" => "-0.02",
97
+ "VOSKOWN" => "1",
98
+ "NBLOCK" => "1",
99
+ "ISPIN" => "1",
100
+ "INIWAV" => "1",
101
+ "ISTART" => "1",
102
+ "ICHARG" => "1",
103
+ "LWAVE" => ".TRUE.",
104
+ "LCHARG" => ".TRUE.",
105
+ "ISMEAR" => "0",
106
+ "SIGMA" => "0.1",
107
+ "IALGO" => "38",
108
+ "LREAL" => "Auto",
109
+ "NGX" => "36",
110
+ "NGY" => "36",
111
+ "NGZ" => "42",
112
+ }
113
+ pairs = VaspUtils::Incar.load_file "test/incar/INCAR.01"
114
+ assert_equal(corrects, pairs)
115
115
 
116
- # not exist
117
- assert_raise(Errno::ENOENT){VaspUtils::Incar.load_file("")}
118
- end
116
+ # not exist
117
+ assert_raise(Errno::ENOENT){VaspUtils::Incar.load_file("")}
118
+ end
119
119
 
120
- def test_dump
121
- pairs = {
122
- "SYSTEM" => "dummy",
123
- "PREC" => "High",
124
- "ENCUT" => "400",
125
- "EDIFF" => "1.0e-05",
126
- "LREAL" => ".TRUE.",
127
- }
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
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
- )
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
+ )
139
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
- )
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
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
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
166
166
  end
167
167
 
data/test/test_kpoints.rb CHANGED
@@ -8,104 +8,104 @@ require "vasputils/kpoints.rb"
8
8
 
9
9
  class TC_Kpoints < Test::Unit::TestCase
10
10
 
11
- $tolerance = 1E-10
11
+ $tolerance = 1E-10
12
12
 
13
- def test_self_parse
14
- io = StringIO.new
15
- io.puts "Automatic mesh"
16
- io.puts "0"
17
- io.puts "Monkhorst Pack"
18
- io.puts " 1 2 3"
19
- io.puts " 0.4 0.5 0.6"
20
- io.rewind
21
- k00 = VaspUtils::Kpoints.parse(io)
22
- assert_equal("Automatic mesh", k00[:comment])
23
- assert_equal(:monkhorst, k00[:type])
24
- assert_equal([1, 2, 3], k00[:mesh])
25
- #pp k00
26
- assert_in_delta(0.4, k00[:shift][0], $tolerance)
27
- assert_in_delta(0.5, k00[:shift][1], $tolerance)
28
- assert_in_delta(0.6, k00[:shift][2], $tolerance)
13
+ def test_self_parse
14
+ io = StringIO.new
15
+ io.puts "Automatic mesh"
16
+ io.puts "0"
17
+ io.puts "Monkhorst Pack"
18
+ io.puts " 1 2 3"
19
+ io.puts " 0.4 0.5 0.6"
20
+ io.rewind
21
+ k00 = VaspUtils::Kpoints.parse(io)
22
+ assert_equal("Automatic mesh", k00[:comment])
23
+ assert_equal(:monkhorst, k00[:type])
24
+ assert_equal([1, 2, 3], k00[:mesh])
25
+ #pp k00
26
+ assert_in_delta(0.4, k00[:shift][0], $tolerance)
27
+ assert_in_delta(0.5, k00[:shift][1], $tolerance)
28
+ assert_in_delta(0.6, k00[:shift][2], $tolerance)
29
29
 
30
- io = StringIO.new
31
- io.puts "Automatic mesh"
32
- io.puts "0"
33
- io.puts "Gamma-Center"
34
- io.puts " 1 2 3"
35
- io.puts " 0.4 0.5 0.6"
36
- io.rewind
37
- k01 = VaspUtils::Kpoints.parse(io)
38
- assert_equal("Automatic mesh", k01[:comment])
39
- assert_equal(:gamma_center, k01[:type])
40
- assert_equal([1, 2, 3], k01[:mesh])
41
- assert_in_delta(0.4, k01[:shift][0])
42
- assert_in_delta(0.5, k01[:shift][1])
43
- assert_in_delta(0.6, k01[:shift][2])
44
- end
45
-
46
- def test_self_load_file
47
- k00 = VaspUtils::Kpoints.load_file("test/kpoints/m123-456")
48
- assert_equal("Automatic mesh", k00[:comment])
49
- assert_equal(:monkhorst, k00[:type])
50
- assert_equal([1, 2, 3], k00[:mesh])
51
- assert_in_delta(0.4, k00[:shift][0])
52
- assert_in_delta(0.5, k00[:shift][1])
53
- assert_in_delta(0.6, k00[:shift][2])
30
+ io = StringIO.new
31
+ io.puts "Automatic mesh"
32
+ io.puts "0"
33
+ io.puts "Gamma-Center"
34
+ io.puts " 1 2 3"
35
+ io.puts " 0.4 0.5 0.6"
36
+ io.rewind
37
+ k01 = VaspUtils::Kpoints.parse(io)
38
+ assert_equal("Automatic mesh", k01[:comment])
39
+ assert_equal(:gamma_center, k01[:type])
40
+ assert_equal([1, 2, 3], k01[:mesh])
41
+ assert_in_delta(0.4, k01[:shift][0])
42
+ assert_in_delta(0.5, k01[:shift][1])
43
+ assert_in_delta(0.6, k01[:shift][2])
44
+ end
54
45
 
55
- k01 = VaspUtils::Kpoints.load_file("test/kpoints/g123-456")
56
- assert_equal("Automatic mesh", k01[:comment])
57
- assert_equal(:gamma_center, k01[:type])
58
- assert_equal([1, 2, 3], k01[:mesh])
59
- assert_in_delta(0.4, k01[:shift][0])
60
- assert_in_delta(0.5, k01[:shift][1])
61
- assert_in_delta(0.6, k01[:shift][2])
62
- end
46
+ def test_self_load_file
47
+ k00 = VaspUtils::Kpoints.load_file("test/kpoints/m123-456")
48
+ assert_equal("Automatic mesh", k00[:comment])
49
+ assert_equal(:monkhorst, k00[:type])
50
+ assert_equal([1, 2, 3], k00[:mesh])
51
+ assert_in_delta(0.4, k00[:shift][0])
52
+ assert_in_delta(0.5, k00[:shift][1])
53
+ assert_in_delta(0.6, k00[:shift][2])
63
54
 
64
- def test_dump
65
- hash = {
66
- :comment => "Automatic mesh",
67
- :type => :monkhorst,
68
- :mesh => [1, 2, 3],
69
- :shift => [0.4, 0.5, 0.6],
70
- }
71
- io = StringIO.new
72
- VaspUtils::Kpoints.dump(hash, io)
73
- io.rewind
74
- results = io.readlines
75
- corrects = [
76
- "Automatic mesh\n",
77
- "0\n",
78
- "Monkhorst\n",
79
- "1 2 3\n",
80
- "0.4 0.5 0.6\n",
81
- ]
82
- corrects.each_with_index do |line, index|
83
- assert_equal(line, results[index], "line #{index + 1}")
55
+ k01 = VaspUtils::Kpoints.load_file("test/kpoints/g123-456")
56
+ assert_equal("Automatic mesh", k01[:comment])
57
+ assert_equal(:gamma_center, k01[:type])
58
+ assert_equal([1, 2, 3], k01[:mesh])
59
+ assert_in_delta(0.4, k01[:shift][0])
60
+ assert_in_delta(0.5, k01[:shift][1])
61
+ assert_in_delta(0.6, k01[:shift][2])
84
62
  end
85
- assert_equal(corrects.size, results.size)
86
63
 
87
- hash = {
88
- :comment => "Automatic mesh",
89
- :type => :gamma_center,
90
- :mesh => [1, 2, 3],
91
- :shift => [0.4, 0.5, 0.6],
92
- }
93
- io = StringIO.new
94
- VaspUtils::Kpoints.dump(hash, io)
95
- io.rewind
96
- results = io.readlines
97
- corrects = [
98
- "Automatic mesh\n",
99
- "0\n",
100
- "Gamma_center\n",
101
- "1 2 3\n",
102
- "0.4 0.5 0.6\n",
103
- ]
104
- corrects.each_with_index do |line, index|
105
- assert_equal(line, results[index], "line #{index + 1}")
64
+ def test_dump
65
+ hash = {
66
+ :comment => "Automatic mesh",
67
+ :type => :monkhorst,
68
+ :mesh => [1, 2, 3],
69
+ :shift => [0.4, 0.5, 0.6],
70
+ }
71
+ io = StringIO.new
72
+ VaspUtils::Kpoints.dump(hash, io)
73
+ io.rewind
74
+ results = io.readlines
75
+ corrects = [
76
+ "Automatic mesh\n",
77
+ "0\n",
78
+ "Monkhorst\n",
79
+ "1 2 3\n",
80
+ "0.4 0.5 0.6\n",
81
+ ]
82
+ corrects.each_with_index do |line, index|
83
+ assert_equal(line, results[index], "line #{index + 1}")
84
+ end
85
+ assert_equal(corrects.size, results.size)
86
+
87
+ hash = {
88
+ :comment => "Automatic mesh",
89
+ :type => :gamma_center,
90
+ :mesh => [1, 2, 3],
91
+ :shift => [0.4, 0.5, 0.6],
92
+ }
93
+ io = StringIO.new
94
+ VaspUtils::Kpoints.dump(hash, io)
95
+ io.rewind
96
+ results = io.readlines
97
+ corrects = [
98
+ "Automatic mesh\n",
99
+ "0\n",
100
+ "Gamma_center\n",
101
+ "1 2 3\n",
102
+ "0.4 0.5 0.6\n",
103
+ ]
104
+ corrects.each_with_index do |line, index|
105
+ assert_equal(line, results[index], "line #{index + 1}")
106
+ end
107
+ assert_equal(corrects.size, results.size)
106
108
  end
107
- assert_equal(corrects.size, results.size)
108
- end
109
109
 
110
110
  end
111
111