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.
- data/CHANGES +49 -28
- data/Gemfile +10 -9
- data/VERSION +1 -1
- data/{test/vaspgeometryoptimizer/ended-Iter1/try00/CONTCAR → bin/changeincar} +0 -0
- data/bin/checkvasp +106 -75
- data/bin/genincar +4 -4
- data/bin/genkpoints +13 -13
- data/bin/genpotcar +2 -2
- data/bin/latticeconstants +10 -12
- data/bin/qsubvasp +63 -80
- data/bin/resetvaspdir +51 -0
- data/bin/resetvaspgeomopt +73 -0
- data/bin/runvasp +42 -49
- data/bin/runvaspdir +19 -0
- data/bin/runvaspgeomopt +19 -0
- data/bin/showvaspdir +171 -0
- data/bin/showvaspgeomopt +83 -0
- data/bin/symposcar +89 -113
- data/bin/varycondition +28 -0
- data/example/dot.vasputils +26 -232
- data/lib/vasputils/conditionvarier.rb +157 -0
- data/lib/vasputils/incar.rb +40 -43
- data/lib/vasputils/kpoints.rb +31 -33
- data/lib/vasputils/outcar.rb +53 -53
- data/lib/vasputils/poscar.rb +148 -150
- data/lib/vasputils/potcar/concatenater.rb +22 -22
- data/lib/vasputils/potcar.rb +12 -12
- data/lib/vasputils/setting.rb +22 -22
- data/lib/vasputils/vaspdir.rb +199 -86
- data/lib/vasputils/vaspgeometryoptimizer.rb +233 -100
- data/lib/vasputils.rb +7 -65
- data/test/conditionanalyzer/00/POSCAR +8 -0
- data/test/conditionanalyzer/00/encut400_k444/CONTCAR +8 -0
- data/test/conditionanalyzer/00/encut400_k444/INCAR +28 -0
- data/test/conditionanalyzer/00/encut400_k444/KPOINTS +6 -0
- data/test/conditionanalyzer/00/encut400_k444/OUTCAR +1436 -0
- data/test/conditionanalyzer/00/encut400_k444/POSCAR +8 -0
- data/test/conditionanalyzer/00/encut400_k444/POTCAR +16 -0
- data/test/conditionanalyzer/00/encut400_k555/CONTCAR +8 -0
- data/test/conditionanalyzer/00/encut400_k555/INCAR +28 -0
- data/test/conditionanalyzer/00/encut400_k555/KPOINTS +6 -0
- data/test/conditionanalyzer/00/encut400_k555/OUTCAR +1436 -0
- data/test/conditionanalyzer/00/encut400_k555/POSCAR +8 -0
- data/test/conditionanalyzer/00/encut400_k555/POTCAR +16 -0
- data/test/conditionanalyzer/00/encut500_k444/CONTCAR +8 -0
- data/test/conditionanalyzer/00/encut500_k444/INCAR +28 -0
- data/test/conditionanalyzer/00/encut500_k444/KPOINTS +6 -0
- data/test/conditionanalyzer/00/encut500_k444/OUTCAR +1436 -0
- data/test/conditionanalyzer/00/encut500_k444/POSCAR +8 -0
- data/test/conditionanalyzer/00/encut500_k444/POTCAR +16 -0
- data/test/conditionanalyzer/00/encut500_k555/CONTCAR +8 -0
- data/test/conditionanalyzer/00/encut500_k555/INCAR +28 -0
- data/test/conditionanalyzer/00/encut500_k555/KPOINTS +6 -0
- data/test/conditionanalyzer/00/encut500_k555/OUTCAR +1436 -0
- data/test/conditionanalyzer/00/encut500_k555/POSCAR +8 -0
- data/test/conditionanalyzer/00/encut500_k555/POTCAR +16 -0
- data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/00-original}/INCAR +3 -3
- data/test/conditionanalyzer/01/00-original/KPOINTS +6 -0
- data/test/conditionanalyzer/01/00-original/POSCAR +10 -0
- data/test/conditionanalyzer/01/01-ENCUT/1000/try02/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/1000/try02/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/1000/try02/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/1000/try02/OUTCAR +1692 -0
- data/test/conditionanalyzer/01/01-ENCUT/1000/try02/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/1200/try02/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/1200/try02/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/1200/try02/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/1200/try02/OUTCAR +1692 -0
- data/test/conditionanalyzer/01/01-ENCUT/1200/try02/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/1500/try02/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/1500/try02/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/1500/try02/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/1500/try02/OUTCAR +1742 -0
- data/test/conditionanalyzer/01/01-ENCUT/1500/try02/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/500/try05/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/500/try05/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/500/try05/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/500/try05/OUTCAR +1644 -0
- data/test/conditionanalyzer/01/01-ENCUT/500/try05/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/600/try01/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/600/try01/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/600/try01/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/600/try01/OUTCAR +1644 -0
- data/test/conditionanalyzer/01/01-ENCUT/600/try01/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/700/try01/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/700/try01/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/700/try01/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/700/try01/OUTCAR +1644 -0
- data/test/conditionanalyzer/01/01-ENCUT/700/try01/POSCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/800/try01/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/800/try01/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/800/try01/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/800/try01/OUTCAR +3610 -0
- data/test/conditionanalyzer/01/01-ENCUT/800/try01/POSCAR +10 -0
- data/test/conditionanalyzer/01/01-ENCUT/900/try01/CONTCAR +13 -0
- data/test/conditionanalyzer/01/01-ENCUT/900/try01/INCAR +17 -0
- data/test/conditionanalyzer/01/01-ENCUT/900/try01/KPOINTS +6 -0
- data/test/conditionanalyzer/01/01-ENCUT/900/try01/OUTCAR +1692 -0
- data/test/conditionanalyzer/01/01-ENCUT/900/try01/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/OUTCAR +12318 -0
- data/test/conditionanalyzer/01/02-KPOINTS/16x16x16/try07/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/INCAR +17 -0
- data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/02-KPOINTS/1x1x1/try07}/KPOINTS +1 -1
- data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/OUTCAR +1337 -0
- data/test/conditionanalyzer/01/02-KPOINTS/1x1x1/try07/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/OUTCAR +9885 -0
- data/test/conditionanalyzer/01/02-KPOINTS/2x2x2/try10/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/OUTCAR +72342 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x32/try06/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/OUTCAR +139254 -0
- data/test/conditionanalyzer/01/02-KPOINTS/32x32x64/try04/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/OUTCAR +1644 -0
- data/test/conditionanalyzer/01/02-KPOINTS/4x4x4/try05/POSCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/OUTCAR +507061 -0
- data/test/conditionanalyzer/01/02-KPOINTS/64x64x64/POSCAR +10 -0
- data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/CONTCAR +13 -0
- data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/INCAR +17 -0
- data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/KPOINTS +6 -0
- data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/OUTCAR +3298 -0
- data/test/conditionanalyzer/01/02-KPOINTS/8x8x8/try05/POSCAR +13 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/CONTCAR +17 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/INCAR +28 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/KPOINTS +6 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/OUTCAR +1436 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/POSCAR +12 -0
- data/test/conditionanalyzer/mixed_conditions/orthorhombic/POTCAR +16 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/CONTCAR +17 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/INCAR +28 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/KPOINTS +6 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/OUTCAR +1436 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/POSCAR +12 -0
- data/test/conditionanalyzer/mixed_conditions/tetragonal/POTCAR +16 -0
- data/test/conditionanalyzer/picker/encut400_k444-cubic/INCAR +28 -0
- data/test/conditionanalyzer/picker/encut400_k444-cubic/KPOINTS +6 -0
- data/test/conditionanalyzer/picker/encut400_k444-cubic/OUTCAR +1436 -0
- data/test/conditionanalyzer/picker/encut400_k444-cubic/POSCAR +9 -0
- data/test/conditionanalyzer/picker/encut400_k444-cubic/POTCAR +16 -0
- data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/INCAR +28 -0
- data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/KPOINTS +6 -0
- data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/OUTCAR +1436 -0
- data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/POSCAR +9 -0
- data/test/conditionanalyzer/picker/encut400_k444-tetragonal-b/POTCAR +16 -0
- data/test/conditionanalyzer/picker/encut400_k444-unfinished/INCAR +28 -0
- data/test/conditionanalyzer/picker/encut400_k444-unfinished/KPOINTS +6 -0
- data/test/conditionanalyzer/picker/encut400_k444-unfinished/OUTCAR +1381 -0
- data/test/conditionanalyzer/picker/encut400_k444-unfinished/POSCAR +12 -0
- data/test/conditionanalyzer/picker/encut400_k444-unfinished/POTCAR +16 -0
- data/test/conditionanalyzer/picker/hexiagonal/CONTCAR +13 -0
- data/test/conditionanalyzer/picker/hexiagonal/INCAR +17 -0
- data/test/conditionanalyzer/picker/hexiagonal/KPOINTS +6 -0
- data/test/conditionanalyzer/picker/hexiagonal/OUTCAR +1644 -0
- data/test/conditionanalyzer/picker/hexiagonal/POSCAR +13 -0
- data/test/conditionvarier/standard/INCAR +28 -0
- data/test/conditionvarier/standard/KPOINTS +6 -0
- data/test/conditionvarier/standard/POSCAR +12 -0
- data/test/conditionvarier/standard/POTCAR +16 -0
- data/test/helper.rb +4 -4
- data/test/poscar/symmetry/cubic/POSCAR +8 -0
- data/test/poscar/symmetry/hexagonal/POSCAR +8 -0
- data/test/poscar/symmetry/monoclinic/POSCAR +8 -0
- data/test/poscar/symmetry/orthorhombic/POSCAR +8 -0
- data/test/poscar/symmetry/tetragonal/POSCAR +8 -0
- data/test/poscar/symmetry/tetragonal-b/POSCAR +8 -0
- data/test/poscar/symmetry/triclinic/POSCAR +10 -0
- data/test/poscar/symmetry/trigonal/POSCAR +9 -0
- data/test/test_conditionvarier.rb +201 -0
- data/test/test_incar.rb +144 -144
- data/test/test_kpoints.rb +91 -91
- data/test/test_outcar.rb +154 -154
- data/test/test_poscar.rb +263 -262
- data/test/test_potcar.rb +31 -31
- data/test/test_potcar_concatenater.rb +39 -39
- data/test/test_setting.rb +15 -14
- data/test/test_vaspdir.rb +193 -126
- data/test/test_vaspgeometryoptimizer.rb +177 -78
- data/test/test_vasputils.rb +48 -48
- data/test/vaspdir/reset_init/finished/orig/CONTCAR +17 -0
- data/test/vaspdir/reset_init/finished/orig/INCAR +27 -0
- data/test/vaspdir/reset_init/finished/orig/KPOINTS +6 -0
- data/test/vaspdir/reset_init/finished/orig/OUTCAR +1436 -0
- data/test/vaspdir/reset_init/finished/orig/POSCAR +12 -0
- data/test/vaspdir/reset_init/finished/orig/POTCAR +16 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/CONTCAR +17 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/INCAR +27 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/KPOINTS +6 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/OUTCAR +1436 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir0/POTCAR +16 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/CONTCAR +17 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/INCAR +27 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/KPOINTS +6 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/OUTCAR +1436 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/multiple_vaspdir/vaspdir1/POTCAR +16 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/DOSCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/EIGENVAL +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/OSZICAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/PCDAT +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/POSCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/WAVECAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/XDATCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt00/vasprun.xml +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/no-contcar/geomopt01/.gitignore +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CHG +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CHGCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/CONTCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/DOSCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/EIGENVAL +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/OSZICAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/PCDAT +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/POSCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/WAVECAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/XDATCAR +0 -0
- data/test/vaspgeometryoptimizer/prepare_next/normal/geomopt00/vasprun.xml +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt01/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/CONTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/geomopt02/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_init/orig/lock_vaspgeomopt/dummy +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt01/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/CONTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/geomopt02/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/empty-contcar/orig/lock_vaspgeomopt/dummy +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt01/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/geomopt02/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/no-contcar/orig/lock_vaspgeomopt/dummy +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt01/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/geomopt02/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_next/poscar-contcar/orig/lock_vaspgeomopt/dummy +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/CONTCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt01/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/CONTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/INCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/POSCAR +12 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/geomopt02/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/reset_reincarnation/orig/lock_vaspgeomopt/dummy +0 -0
- data/test/vaspgeometryoptimizer/started/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/started/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/started/geomopt00/POSCAR +0 -0
- data/test/vaspgeometryoptimizer/started/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/CONTCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/INCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/OUTCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/POSCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt00/POTCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt01/INCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt01/KPOINTS +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt01/POSCAR +0 -0
- data/test/vaspgeometryoptimizer/till01/geomopt01/POTCAR +0 -0
- metadata +464 -106
- data/bin/genvaspdir +0 -17
- data/bin/rmvaspout +0 -40
- data/lib/vasputils/vaspkpointsfinder.rb +0 -72
- data/test/test_vaspkpointsfinder.rb +0 -25
- data/test/vaspkpointsfinder/01-01-01/try00/POSCAR +0 -8
- data/vasputils.gemspec +0 -567
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try00 → conditionanalyzer/01/00-original}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try01 → conditionanalyzer/01/01-ENCUT/1000/try02}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter2/try00 → conditionanalyzer/01/01-ENCUT/1200/try02}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter2/try01 → conditionanalyzer/01/01-ENCUT/1500/try02}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/not-yet/try00 → conditionanalyzer/01/01-ENCUT/500/try05}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/prepare_next/try00 → conditionanalyzer/01/01-ENCUT/600/try01}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/started/try00 → conditionanalyzer/01/01-ENCUT/700/try01}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/till01/try00 → conditionanalyzer/01/01-ENCUT/800/try01}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/till01 → conditionanalyzer/01/01-ENCUT/900}/try01/POTCAR +0 -0
- /data/test/{vaspkpointsfinder/01-01-01/try00 → conditionanalyzer/01/02-KPOINTS/16x16x16/try07}/POTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/INCAR → conditionanalyzer/01/02-KPOINTS/1x1x1/try07/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/KPOINTS → conditionanalyzer/01/02-KPOINTS/2x2x2/try10/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/OUTCAR → conditionanalyzer/01/02-KPOINTS/32x32x32/try06/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try00/POSCAR → conditionanalyzer/01/02-KPOINTS/32x32x64/try04/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/INCAR → conditionanalyzer/01/02-KPOINTS/4x4x4/try05/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter2/try00 → conditionanalyzer/01/02-KPOINTS/64x64x64}/CONTCAR +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/KPOINTS → conditionanalyzer/01/02-KPOINTS/64x64x64/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter1/try01/POSCAR → conditionanalyzer/01/02-KPOINTS/8x8x8/try05/POTCAR} +0 -0
- /data/test/{vaspgeometryoptimizer/ended-Iter2/try00/INCAR → conditionanalyzer/picker/hexiagonal/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter1/geomopt00}/CONTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try01 → ended-Iter1/geomopt00}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/OUTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try00 → ended-Iter1/geomopt00}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try01/KPOINTS → ended-Iter1/geomopt00/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{not-yet/try00 → ended-Iter1/geomopt01}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{not-yet/try00 → ended-Iter1/geomopt01}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/ended-Iter1/{try01 → geomopt01}/OUTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{ended-Iter2/try01 → ended-Iter1/geomopt01}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{not-yet/try00/POSCAR → ended-Iter1/geomopt01/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try00 → ended-Iter2/geomopt00}/CONTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/OUTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00 → ended-Iter2/geomopt00}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/CHG → ended-Iter2/geomopt00/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/ended-Iter2/{try01 → geomopt01}/OUTCAR +0 -0
- /data/test/vaspgeometryoptimizer/{started/try00 → ended-Iter2/geomopt01}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/CHGCAR → ended-Iter2/geomopt01/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try00 → not-geomopt/not-geomopt-subdir/calcA}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/DOSCAR → not-geomopt/not-geomopt-subdir/calcA/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/INCAR +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/KPOINTS +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try01 → not-geomopt/not-geomopt-subdir/calcB}/POSCAR +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/EIGENVAL → not-geomopt/not-geomopt-subdir/calcB/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/OSZICAR → not-yet/geomopt00/INCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/PCDAT → not-yet/geomopt00/KPOINTS} +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/WAVECAR → not-yet/geomopt00/POSCAR} +0 -0
- /data/test/vaspgeometryoptimizer/{prepare_next/try00/XDATCAR → not-yet/geomopt00/POTCAR} +0 -0
- /data/test/vaspgeometryoptimizer/prepare_next/{try00/vasprun.xml → no-contcar/geomopt00/CHG} +0 -0
- /data/test/vaspgeometryoptimizer/{till01/try00/OUTCAR → prepare_next/no-contcar/geomopt00/CHGCAR} +0 -0
|
@@ -2,96 +2,195 @@
|
|
|
2
2
|
# coding: utf-8
|
|
3
3
|
|
|
4
4
|
require "fileutils"
|
|
5
|
+
require "stringio"
|
|
5
6
|
require "test/unit"
|
|
6
7
|
|
|
7
8
|
require "vasputils.rb"
|
|
8
9
|
#require "vasputils/vaspgeometryoptimizer.rb"
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
class VaspUtils::VaspGeometryOptimizer < ComputationManager
|
|
12
|
-
|
|
12
|
+
class VaspUtils::VaspGeometryOptimizer < Comana::ComputationManager
|
|
13
|
+
public :latest_dir, :prepare_next
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
class TC_VaspGeometryOptimizer < Test::Unit::TestCase
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def test_initialize
|
|
26
|
-
assert_raise(VaspUtils::VaspGeometryOptimizer::NoVaspDirError){
|
|
27
|
-
VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/not-geomopt")
|
|
28
|
-
}
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def test_latest_dir
|
|
32
|
-
assert_equal("#{@vgo00.dir}/try00", @vgo00.latest_dir.dir)
|
|
33
|
-
assert_equal("#{@vgo01.dir}/try00", @vgo01.latest_dir.dir)
|
|
34
|
-
assert_equal("#{@vgo02.dir}/try01", @vgo02.latest_dir.dir)
|
|
35
|
-
assert_equal("#{@vgo03.dir}/try01", @vgo03.latest_dir.dir)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def test_finished?
|
|
39
|
-
assert_equal(false, @vgo00.finished?)
|
|
40
|
-
assert_equal(false, @vgo01.finished?)
|
|
41
|
-
assert_equal(false, @vgo02.finished?)
|
|
42
|
-
assert_equal(true , @vgo03.finished?)
|
|
43
|
-
assert_equal(false, @vgo04.finished?)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def test_next_name
|
|
47
|
-
assert_equal( "try01" , VaspUtils::VaspGeometryOptimizer.next_name("try00"))
|
|
48
|
-
assert_equal( "try01" , VaspUtils::VaspGeometryOptimizer.next_name("try0"))
|
|
49
|
-
assert_equal( "try10" , VaspUtils::VaspGeometryOptimizer.next_name("try09"))
|
|
50
|
-
assert_equal( "try11" , VaspUtils::VaspGeometryOptimizer.next_name("try10"))
|
|
51
|
-
assert_equal( "try100", VaspUtils::VaspGeometryOptimizer.next_name("try99"))
|
|
52
|
-
assert_equal( "01" , VaspUtils::VaspGeometryOptimizer.next_name("00"))
|
|
53
|
-
assert_equal( "try01" , VaspUtils::VaspGeometryOptimizer.next_name("try"))
|
|
54
|
-
#assert_raise(VaspUtils::VaspGeometryOptimizer::NoIntegerEndedNameError){VaspUtils::VaspGeometryOptimizer.next_name("try")}
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def test_prepare_next
|
|
58
|
-
dir = TEST_DIR + "/prepare_next"
|
|
59
|
-
old_number_dir = dir + "/try00"
|
|
60
|
-
new_number_dir = dir + "/try01"
|
|
61
|
-
|
|
62
|
-
if Dir.exist?(new_number_dir)
|
|
63
|
-
Dir.glob(new_number_dir + "/*").each do |file|
|
|
64
|
-
FileUtils.rm file
|
|
65
|
-
end
|
|
66
|
-
Dir.rmdir new_number_dir
|
|
17
|
+
TEST_DIR = "test/vaspgeometryoptimizer"
|
|
18
|
+
def setup
|
|
19
|
+
@vgo00 = VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/not-yet")
|
|
20
|
+
@vgo01 = VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/started")
|
|
21
|
+
@vgo02 = VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/till01")
|
|
22
|
+
@vgo03 = VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/ended-Iter1")
|
|
23
|
+
@vgo04 = VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/ended-Iter2")
|
|
67
24
|
end
|
|
68
25
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
26
|
+
def test_initialize
|
|
27
|
+
assert_raise(VaspUtils::VaspGeometryOptimizer::InitializeError){
|
|
28
|
+
VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/not-geomopt/nothing")
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
assert_raise(VaspUtils::VaspGeometryOptimizer::InitializeError){
|
|
32
|
+
VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "/not-geomopt/not-geomopt-subdir")
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
#assert_raise(VaspUtils::VaspGeometryOptimizer::InitializeError){
|
|
36
|
+
assert_raise(VaspUtils::VaspGeometryOptimizer::InitializeError){
|
|
37
|
+
VaspUtils::VaspGeometryOptimizer.new( TEST_DIR + "test/vaspgeometryoptimizer/multiple_vaspdir")
|
|
38
|
+
}
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_latest_dir
|
|
42
|
+
assert_equal("#{@vgo00.dir}/geomopt00", @vgo00.latest_dir.dir)
|
|
43
|
+
assert_equal("#{@vgo01.dir}/geomopt00", @vgo01.latest_dir.dir)
|
|
44
|
+
assert_equal("#{@vgo02.dir}/geomopt01", @vgo02.latest_dir.dir)
|
|
45
|
+
assert_equal("#{@vgo03.dir}/geomopt01", @vgo03.latest_dir.dir)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_finished?
|
|
49
|
+
assert_equal(false, @vgo00.finished?)
|
|
50
|
+
assert_equal(false, @vgo01.finished?)
|
|
51
|
+
assert_equal(false, @vgo02.finished?)
|
|
52
|
+
assert_equal(true , @vgo03.finished?)
|
|
53
|
+
assert_equal(false, @vgo04.finished?)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_next_name
|
|
57
|
+
assert_equal( "geomopt01" , VaspUtils::VaspGeometryOptimizer.next_name("geomopt00"))
|
|
58
|
+
assert_equal( "geomopt01" , VaspUtils::VaspGeometryOptimizer.next_name("geomopt0"))
|
|
59
|
+
assert_equal( "geomopt10" , VaspUtils::VaspGeometryOptimizer.next_name("geomopt09"))
|
|
60
|
+
assert_equal( "geomopt11" , VaspUtils::VaspGeometryOptimizer.next_name("geomopt10"))
|
|
61
|
+
assert_equal( "geomopt100", VaspUtils::VaspGeometryOptimizer.next_name("geomopt99"))
|
|
62
|
+
assert_equal( "01" , VaspUtils::VaspGeometryOptimizer.next_name("00"))
|
|
63
|
+
assert_equal( "geomopt01" , VaspUtils::VaspGeometryOptimizer.next_name("geomopt"))
|
|
64
|
+
#assert_raise(VaspUtils::VaspGeometryOptimizer::NoIntegerEndedNameError){VaspUtils::VaspGeometryOptimizer.next_name("try")}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_prepare_next
|
|
68
|
+
dir = TEST_DIR + "/prepare_next/normal"
|
|
69
|
+
old_number_dir = dir + "/geomopt00"
|
|
70
|
+
new_number_dir = dir + "/geomopt01"
|
|
71
|
+
|
|
72
|
+
if Dir.exist?(new_number_dir)
|
|
73
|
+
Dir.glob(new_number_dir + "/*").each do |file|
|
|
74
|
+
FileUtils.rm file
|
|
75
|
+
end
|
|
76
|
+
Dir.rmdir new_number_dir
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(dir)
|
|
80
|
+
vgo.prepare_next
|
|
81
|
+
assert_equal(true ,Dir.exist?(new_number_dir))
|
|
82
|
+
assert_equal(true , File.exist?(new_number_dir + "/CHG" ))
|
|
83
|
+
assert_equal(true , File.exist?(new_number_dir + "/CHGCAR" ))
|
|
84
|
+
assert_equal(true , File.exist?(new_number_dir + "/DOSCAR" ))
|
|
85
|
+
assert_equal(true , File.exist?(new_number_dir + "/EIGENVAL"))
|
|
86
|
+
assert_equal(true , File.exist?(new_number_dir + "/INCAR" ))
|
|
87
|
+
assert_equal(true , File.exist?(new_number_dir + "/KPOINTS" ))
|
|
88
|
+
assert_equal(true , File.exist?(new_number_dir + "/OSZICAR" ))
|
|
89
|
+
assert_equal(true , File.exist?(new_number_dir + "/PCDAT" ))
|
|
90
|
+
assert_equal(true , File.exist?(new_number_dir + "/POTCAR" ))
|
|
91
|
+
assert_equal(true , File.exist?(new_number_dir + "/WAVECAR" ))
|
|
92
|
+
assert_equal(true , File.exist?(new_number_dir + "/XDATCAR" ))
|
|
93
|
+
assert_equal(true , File.exist?(new_number_dir + "/POSCAR" ))
|
|
94
|
+
assert_equal(false, File.exist?(new_number_dir + "/CONTCAR" ))
|
|
95
|
+
assert_equal(false, File.exist?(new_number_dir + "/OUTCAR" ))
|
|
96
|
+
assert_equal(false, File.exist?(new_number_dir + "/vasprun.xml" ))
|
|
97
|
+
|
|
98
|
+
if Dir.exist?(new_number_dir)
|
|
99
|
+
Dir.glob(new_number_dir + "/*").each do |file|
|
|
100
|
+
FileUtils.rm file
|
|
101
|
+
end
|
|
102
|
+
Dir.rmdir new_number_dir
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
dir = TEST_DIR + "/prepare_next/no-contcar"
|
|
106
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(dir)
|
|
107
|
+
assert_raise(VaspUtils::VaspGeometryOptimizer::NoContcarError){
|
|
108
|
+
vgo.prepare_next
|
|
109
|
+
}
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def test_reset_init
|
|
114
|
+
orig = TEST_DIR + "/reset_init/orig"
|
|
115
|
+
tmp = TEST_DIR + "/reset_init/tmp"
|
|
116
|
+
FileUtils.rm_r tmp if FileTest.exist? tmp
|
|
117
|
+
FileUtils.cp_r(orig, tmp)
|
|
118
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(tmp)
|
|
119
|
+
vgo.reset_init
|
|
120
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt00"))
|
|
121
|
+
assert_equal(false, File.exist?("#{tmp}/geomopt01"))
|
|
122
|
+
assert_equal(4, Dir.glob("#{tmp}/geomopt00/*").size)
|
|
123
|
+
assert_equal("POSCAR_00\n", File.open("#{tmp}/geomopt00/POSCAR", "r").readline)
|
|
124
|
+
FileUtils.rm_rf tmp if FileTest.exist? tmp
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def test_reset_next
|
|
128
|
+
#with correct POSCAR and CONTCAR
|
|
129
|
+
orig = TEST_DIR + "/reset_next/poscar-contcar/orig"
|
|
130
|
+
tmp = TEST_DIR + "/reset_next/poscar-contcar/tmp"
|
|
131
|
+
FileUtils.rm_r tmp if FileTest.exist? tmp
|
|
132
|
+
FileUtils.cp_r(orig, tmp)
|
|
133
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(tmp)
|
|
134
|
+
io = StringIO.new
|
|
135
|
+
vgo.reset_next(io)
|
|
136
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt00"))
|
|
137
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt01"))
|
|
138
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt02"))
|
|
139
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt03"))
|
|
140
|
+
assert_equal(4, Dir.glob("#{tmp}/geomopt03/*").size)
|
|
141
|
+
assert_equal("CONTCAR_02\n", File.open("#{tmp}/geomopt03/POSCAR", "r").readline)
|
|
142
|
+
FileUtils.rm_rf tmp if FileTest.exist? tmp
|
|
143
|
+
|
|
144
|
+
#with correct POSCAR and empty CONTCAR
|
|
145
|
+
orig = TEST_DIR + "/reset_next/empty-contcar/orig"
|
|
146
|
+
tmp = TEST_DIR + "/reset_next/empty-contcar/tmp"
|
|
147
|
+
FileUtils.rm_r tmp if FileTest.exist? tmp
|
|
148
|
+
FileUtils.cp_r(orig, tmp)
|
|
149
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(tmp)
|
|
150
|
+
vgo.reset_next(io)
|
|
151
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt00"))
|
|
152
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt01"))
|
|
153
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt02"))
|
|
154
|
+
assert_equal(false, File.exist?("#{tmp}/geomopt03"))
|
|
155
|
+
assert_equal(4, Dir.glob("#{tmp}/geomopt02/*").size)
|
|
156
|
+
assert_equal("POSCAR_02\n", File.open("#{tmp}/geomopt02/POSCAR", "r").readline)
|
|
157
|
+
FileUtils.rm_rf tmp if FileTest.exist? tmp
|
|
158
|
+
|
|
159
|
+
#with correct POSCAR and no CONTCAR
|
|
160
|
+
orig = TEST_DIR + "/reset_next/no-contcar/orig"
|
|
161
|
+
tmp = TEST_DIR + "/reset_next/no-contcar/tmp"
|
|
162
|
+
FileUtils.rm_r tmp if FileTest.exist? tmp
|
|
163
|
+
FileUtils.cp_r(orig, tmp)
|
|
164
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(tmp)
|
|
165
|
+
vgo.reset_next(io)
|
|
166
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt00"))
|
|
167
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt01"))
|
|
168
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt02"))
|
|
169
|
+
assert_equal(false, File.exist?("#{tmp}/geomopt03"))
|
|
170
|
+
assert_equal(4, Dir.glob("#{tmp}/geomopt02/*").size)
|
|
171
|
+
assert_equal("POSCAR_02\n", File.open("#{tmp}/geomopt02/POSCAR", "r").readline)
|
|
172
|
+
FileUtils.rm_rf tmp if FileTest.exist? tmp
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def test_reset_reincarnation
|
|
176
|
+
orig = TEST_DIR + "/reset_reincarnation/orig"
|
|
177
|
+
tmp = TEST_DIR + "/reset_reincarnation/tmp"
|
|
178
|
+
|
|
179
|
+
FileUtils.rm_r tmp if FileTest.exist? tmp
|
|
180
|
+
|
|
181
|
+
FileUtils.cp_r(orig, tmp)
|
|
182
|
+
vgo = VaspUtils::VaspGeometryOptimizer.new(tmp)
|
|
183
|
+
vgo.reset_reincarnate
|
|
184
|
+
|
|
185
|
+
assert_equal(true, File.exist?("#{tmp}/geomopt00"))
|
|
186
|
+
assert_equal(false, File.exist?("#{tmp}/geomopt01"))
|
|
187
|
+
#assert_equal(1, Dir.glob("#{tmp}/*").size)
|
|
188
|
+
#This test may rail in NFS environment due to nfs lock; geomopt02/.nfs*.
|
|
189
|
+
assert_equal(4, Dir.glob("#{tmp}/geomopt00/*").size)
|
|
190
|
+
assert_equal("CONTCAR_01\n", File.open("#{tmp}/geomopt00/POSCAR", "r").readline)
|
|
191
|
+
|
|
192
|
+
FileUtils.rm_rf tmp if FileTest.exist? tmp
|
|
93
193
|
end
|
|
94
|
-
end
|
|
95
194
|
|
|
96
195
|
end
|
|
97
196
|
|
data/test/test_vasputils.rb
CHANGED
|
@@ -5,61 +5,61 @@ require "test/unit"
|
|
|
5
5
|
require "vasputils.rb"
|
|
6
6
|
|
|
7
7
|
class TC_VaspUtils < Test::Unit::TestCase
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
#def setup
|
|
9
|
+
# @k = VaspUtils.new
|
|
10
|
+
#end
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
#def test_generate_kmeshes
|
|
13
|
+
# results = VaspUtils::generate_kmeshes([1.0, 1.0, 1.0], 5.0)
|
|
14
|
+
# corrects = [
|
|
15
|
+
# [1,1,1],
|
|
16
|
+
# [2,2,2],
|
|
17
|
+
# [4,4,4],
|
|
18
|
+
# [8,8,8],
|
|
19
|
+
# ]
|
|
20
|
+
# assert_equal(corrects, results)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
# results = VaspUtils::generate_kmeshes([1.0, 1.0, 2.0], 5.0)
|
|
23
|
+
# corrects = [
|
|
24
|
+
# [1,1,1],
|
|
25
|
+
# [2,2,1],
|
|
26
|
+
# [4,4,2],
|
|
27
|
+
# [8,8,4],
|
|
28
|
+
# ]
|
|
29
|
+
# assert_equal(corrects, results)
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
# results = VaspUtils::generate_kmeshes([1.0, 1.0, 3.0], 5.0)
|
|
32
|
+
# corrects = [
|
|
33
|
+
# [1,1,1], #1.0, 1.0, 3.0
|
|
34
|
+
# [2,2,1], #2.0, 2.0, 3.0
|
|
35
|
+
# [4,4,1], #4.0, 4.0, 3.0
|
|
36
|
+
# [4,4,2], #4.0, 4.0, 6.0
|
|
37
|
+
# [8,8,2], #8.0, 8.0, 6.0
|
|
38
|
+
# ]
|
|
39
|
+
# assert_equal(corrects, results)
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
# # check condition of equal
|
|
42
|
+
# results = VaspUtils::generate_kmeshes([1.0, 1.0, 1.0], 2.0)
|
|
43
|
+
# corrects = [
|
|
44
|
+
# [1,1,1],
|
|
45
|
+
# [2,2,2],
|
|
46
|
+
# ]
|
|
47
|
+
# assert_equal(corrects, results)
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
# assert_raise(VaspUtils::ArgumentError,
|
|
50
|
+
# VaspUtils::generate_kmeshes([1.0, 2.0, 2.0, 0.0], 5.0)
|
|
51
|
+
# )
|
|
52
|
+
#end
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
#def test_generate_wavelengths
|
|
55
|
+
# results = VaspUtils::generate_wavelengths([2.0, 2.0, 3.0], 5.0)
|
|
56
|
+
# corrects = [2.0, 3.0, 4.0, 6.0]
|
|
57
|
+
# assert_equal(corrects, results)
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
# results = VaspUtils::generate_wavelengths([1.0, 1.0, 1.0], 2.0)
|
|
60
|
+
# corrects = [1.0, 2.0]
|
|
61
|
+
# assert_equal(corrects, results)
|
|
62
|
+
#end
|
|
63
63
|
|
|
64
64
|
end
|
|
65
65
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
CONTCAR
|
|
2
|
+
1.00000000000000
|
|
3
|
+
3.6509999999999998 0.0000000000000000 0.0000000000000000
|
|
4
|
+
-1.8254999999999919 3.1618587492169889 0.0000000000000000
|
|
5
|
+
0.0000000000000000 0.0000000000000000 3.8879999999999999
|
|
6
|
+
3 1
|
|
7
|
+
Selective dynamics
|
|
8
|
+
Direct
|
|
9
|
+
0.0000000000000000 0.0000000000000000 0.5000000000000000 T T T
|
|
10
|
+
0.3333333333333357 0.6666666666666642 0.0000000000000000 T T T
|
|
11
|
+
0.6666666666666642 0.3333333333333357 0.0000000000000000 T T T
|
|
12
|
+
0.0000000000000000 0.0000000000000000 0.0000000000000000 F F F
|
|
13
|
+
|
|
14
|
+
0.00000000E+00 0.00000000E+00 0.00000000E+00
|
|
15
|
+
0.00000000E+00 0.00000000E+00 0.00000000E+00
|
|
16
|
+
0.00000000E+00 0.00000000E+00 0.00000000E+00
|
|
17
|
+
0.00000000E+00 0.00000000E+00 0.00000000E+00
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SCF input for VASP
|
|
2
|
+
|
|
3
|
+
SYSTEM = Untitled (VASP)
|
|
4
|
+
PREC = High
|
|
5
|
+
IBRION = -1 #-1:atoms not moved, 1:quasi-Newton, 2:conjugate-gradient
|
|
6
|
+
NSW = 0 #maximum number of ionic steps
|
|
7
|
+
ENCUT = 400
|
|
8
|
+
NELM = 60 #maximum number of electronic steps
|
|
9
|
+
NELMIN = 2 #minimum number of electronic steps
|
|
10
|
+
EDIFF = 1.0e-05
|
|
11
|
+
EDIFFG = -0.02
|
|
12
|
+
VOSKOWN = 1
|
|
13
|
+
NBLOCK = 1
|
|
14
|
+
ISPIN = 1 #1:non spin polarized, 2:spin polarized
|
|
15
|
+
INIWAV = 1
|
|
16
|
+
ISTART = 1
|
|
17
|
+
ICHARG = 1
|
|
18
|
+
LWAVE = .TRUE.
|
|
19
|
+
LCHARG = .TRUE.
|
|
20
|
+
ISMEAR = 0
|
|
21
|
+
SIGMA = 0.1
|
|
22
|
+
IALGO = 38 #38:KosugiAlgorithm, 48:RMM-DIIS
|
|
23
|
+
#LREAL = .FALSE.
|
|
24
|
+
LREAL = Auto #fast & not accurate
|
|
25
|
+
NGX = 36
|
|
26
|
+
NGY = 36
|
|
27
|
+
NGZ = 42
|