vasputils 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/checkvasp +6 -5
- data/bin/latticeconstants +13 -8
- data/bin/qsubvasp +5 -5
- data/bin/rmvaspout +40 -0
- data/bin/runvasp +5 -6
- data/bin/symposcar +38 -28
- data/lib/vasputils.rb +11 -0
- data/lib/vasputils/incar.rb +3 -1
- data/lib/vasputils/kpoints.rb +3 -1
- data/lib/vasputils/outcar.rb +46 -31
- data/lib/vasputils/poscar.rb +3 -1
- data/lib/vasputils/potcar.rb +3 -1
- data/lib/vasputils/vaspdir.rb +8 -11
- data/lib/vasputils/{vaspgeomopt.rb → vaspgeometryoptimizer.rb} +6 -5
- data/memo.txt +9 -1
- data/test/test_incar.rb +5 -4
- data/test/test_kpoints.rb +7 -6
- data/test/test_outcar.rb +25 -24
- data/test/test_poscar.rb +11 -10
- data/test/test_potcar.rb +7 -6
- data/test/test_vaspdir.rb +10 -10
- data/test/{test_vaspgeomopt.rb → test_vaspgeometryoptimizer.rb} +21 -20
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/CONTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try01/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try01/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try01/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try01/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter1/try01/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/CONTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try01/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try01/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try01/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try01/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/ended-Iter2/try01/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/not-yet/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/not-yet/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/not-yet/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/not-yet/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/CHG +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/CHGCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/CONTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/DOSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/EIGENVAL +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/OSZICAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/PCDAT +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/WAVECAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/XDATCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/prepare_next/try00/vasprun.xml +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/started/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/started/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/started/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/started/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/CONTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/OUTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try00/POTCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try01/INCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try01/KPOINTS +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try01/POSCAR +0 -0
- data/test/{vaspgeomopt → vaspgeometryoptimizer}/till01/try01/POTCAR +0 -0
- data/vasputils.gemspec +61 -63
- metadata +82 -84
- data/bin/addVolumeToten.rb +0 -19
- data/lib/vasputils/calcinspector.rb +0 -24
- data/test/test_calcinspector.rb +0 -53
data/lib/vasputils/potcar.rb
CHANGED
data/lib/vasputils/vaspdir.rb
CHANGED
@@ -11,15 +11,12 @@ gem "comana"
|
|
11
11
|
require "comana/computationmanager.rb"
|
12
12
|
require "comana/machineinfo.rb"
|
13
13
|
|
14
|
-
require "vasputils
|
15
|
-
require "vasputils/outcar.rb"
|
16
|
-
require "vasputils/poscar.rb"
|
17
|
-
require "vasputils/kpoints.rb"
|
14
|
+
require "vasputils.rb"
|
18
15
|
|
19
16
|
# Class for VASP executable directory,
|
20
17
|
# including input and output files.
|
21
18
|
#
|
22
|
-
class VaspDir < ComputationManager
|
19
|
+
class VaspUtils::VaspDir < ComputationManager
|
23
20
|
class InitializeError < Exception; end
|
24
21
|
class NoVaspBinaryError < Exception; end
|
25
22
|
class PrepareNextError < Exception; end
|
@@ -37,19 +34,19 @@ class VaspDir < ComputationManager
|
|
37
34
|
# 配下の OUTCAR を Outcar インスタンスにして返す。
|
38
35
|
# 存在しなければ例外 Errno::ENOENT を返す。
|
39
36
|
def outcar
|
40
|
-
Outcar.load_file("#{@dir}/OUTCAR")
|
37
|
+
VaspUtils::Outcar.load_file("#{@dir}/OUTCAR")
|
41
38
|
end
|
42
39
|
|
43
40
|
# 配下の POSCAR を Cell2 インスタンスにして返す。
|
44
41
|
# 存在しなければ例外 Errno::ENOENT を返す。
|
45
42
|
def poscar
|
46
|
-
Poscar.load_file("#{@dir}/POSCAR")
|
43
|
+
VaspUtils::Poscar.load_file("#{@dir}/POSCAR")
|
47
44
|
end
|
48
45
|
|
49
46
|
# 配下の CONTCAR を Cell2 インスタンスにして返す。
|
50
47
|
# 存在しなければ例外 Errno::ENOENT を返す。
|
51
48
|
def contcar
|
52
|
-
Poscar.load_file("#{@dir}/CONTCAR")
|
49
|
+
VaspUtils::Poscar.load_file("#{@dir}/CONTCAR")
|
53
50
|
end
|
54
51
|
|
55
52
|
# 配下の KPOINTS を読み込んだ結果をハッシュにして返す。
|
@@ -57,12 +54,12 @@ class VaspDir < ComputationManager
|
|
57
54
|
# 存在しなければ例外 Errno::ENOENT を返す筈だが、
|
58
55
|
# vasp dir の判定を incar でやっているので置こる筈がない。
|
59
56
|
def incar
|
60
|
-
Incar.load_file("#{@dir}/INCAR")
|
57
|
+
VaspUtils::Incar.load_file("#{@dir}/INCAR")
|
61
58
|
end
|
62
59
|
|
63
60
|
# 配下の KPOINTS を読み込んだ結果をハッシュにして返す。
|
64
61
|
def kpoints
|
65
|
-
Kpoints.load_file("#{@dir}/KPOINTS")
|
62
|
+
VaspUtils::Kpoints.load_file("#{@dir}/KPOINTS")
|
66
63
|
end
|
67
64
|
|
68
65
|
# 正常に終了していれば true を返す。
|
@@ -72,7 +69,7 @@ class VaspDir < ComputationManager
|
|
72
69
|
# PI12345 ファイルは実行中のみ存在し、終了後 vasp (mpi?) に自動的に削除される。
|
73
70
|
def finished?
|
74
71
|
begin
|
75
|
-
return Outcar.load_file("#{@dir}/OUTCAR")[:normal_ended]
|
72
|
+
return VaspUtils::Outcar.load_file("#{@dir}/OUTCAR")[:normal_ended]
|
76
73
|
rescue Errno::ENOENT
|
77
74
|
return false
|
78
75
|
end
|
@@ -8,12 +8,13 @@ require "rubygems"
|
|
8
8
|
gem "comana"
|
9
9
|
require "comana/computationmanager.rb"
|
10
10
|
|
11
|
-
require "vasputils
|
11
|
+
require "vasputils.rb"
|
12
|
+
#require "vasputils/vaspdir.rb"
|
12
13
|
|
13
14
|
#
|
14
15
|
#
|
15
16
|
#
|
16
|
-
class
|
17
|
+
class VaspUtils::VaspGeometryOptimizer < ComputationManager
|
17
18
|
class NoVaspDirError < Exception; end
|
18
19
|
class LatestDirStartedError < Exception; end
|
19
20
|
class NoIntegerEndedNameError < Exception; end
|
@@ -80,9 +81,9 @@ class VaspGeomOpt < ComputationManager
|
|
80
81
|
def latest_dir
|
81
82
|
Dir.glob("#{@dir}/*").sort.reverse.find do |dir|
|
82
83
|
begin
|
83
|
-
vd = VaspDir.new(dir)
|
84
|
+
vd = VaspUtils::VaspDir.new(dir)
|
84
85
|
return vd
|
85
|
-
rescue VaspDir::InitializeError
|
86
|
+
rescue VaspUtils::VaspDir::InitializeError
|
86
87
|
next
|
87
88
|
end
|
88
89
|
end
|
@@ -108,7 +109,7 @@ class VaspGeomOpt < ComputationManager
|
|
108
109
|
FileUtils.cp("#{latest_dir.dir}/XDATCAR" , "#{new_dir}/XDATCAR" )
|
109
110
|
FileUtils.cp("#{latest_dir.dir}/CONTCAR" , "#{new_dir}/POSCAR" ) # change name
|
110
111
|
# without POSCAR, OUTCAR, vasprun.xml
|
111
|
-
VaspDir.new(new_dir)
|
112
|
+
VaspUtils::VaspDir.new(new_dir)
|
112
113
|
end
|
113
114
|
|
114
115
|
end
|
data/memo.txt
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
#
|
2
2
|
|
3
|
+
0.0.10 release
|
4
|
+
Delete Outcar.volume
|
5
|
+
Delete Outcar.irreducible_kpoints
|
6
|
+
Accelerate Outcar, using UNIX commands: grep, tail and head
|
7
|
+
Modify bin/symposcar
|
8
|
+
Add bin/rmvaspout
|
9
|
+
Change name space for classes
|
10
|
+
|
3
11
|
0.0.9 release
|
4
12
|
Add VaspDir.poscar
|
5
13
|
Add bin/checkvasp
|
6
14
|
Delete bin/lsvasp, bin/lsvaspdir, bin/lsvaspseries
|
7
15
|
|
8
16
|
0.0.8 release
|
9
|
-
Modified bin/qsubvasp, add -g option
|
17
|
+
Modified bin/qsubvasp, add -g option
|
10
18
|
|
11
19
|
0.0.7 release
|
12
20
|
Modified bin/qsubvasp
|
data/test/test_incar.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
require "test/unit"
|
5
|
+
require "vasputils.rb"
|
5
6
|
require "vasputils/incar.rb"
|
6
7
|
require "stringio"
|
7
8
|
|
@@ -74,12 +75,12 @@ class TC_Incar < Test::Unit::TestCase
|
|
74
75
|
io.puts " NGY = 36"
|
75
76
|
io.puts " NGZ = 42"
|
76
77
|
io.rewind
|
77
|
-
pairs = Incar.parse(io)
|
78
|
+
pairs = VaspUtils::Incar.parse(io)
|
78
79
|
assert_equal(SAMPLE_PAIRS, pairs)
|
79
80
|
end
|
80
81
|
|
81
82
|
def test_self_load_file
|
82
|
-
pairs = Incar.load_file "test/incar/INCAR.00"
|
83
|
+
pairs = VaspUtils::Incar.load_file "test/incar/INCAR.00"
|
83
84
|
assert_equal(SAMPLE_PAIRS, pairs)
|
84
85
|
|
85
86
|
corrects = {
|
@@ -109,11 +110,11 @@ class TC_Incar < Test::Unit::TestCase
|
|
109
110
|
"NGY" => "36",
|
110
111
|
"NGZ" => "42",
|
111
112
|
}
|
112
|
-
pairs = Incar.load_file "test/incar/INCAR.01"
|
113
|
+
pairs = VaspUtils::Incar.load_file "test/incar/INCAR.01"
|
113
114
|
assert_equal(corrects, pairs)
|
114
115
|
|
115
116
|
# not exist
|
116
|
-
assert_raise(Errno::ENOENT){Incar.load_file("")}
|
117
|
+
assert_raise(Errno::ENOENT){VaspUtils::Incar.load_file("")}
|
117
118
|
end
|
118
119
|
|
119
120
|
#def test_dump
|
data/test/test_kpoints.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
require "test/unit"
|
5
5
|
require "stringio"
|
6
|
+
require "vasputils.rb"
|
6
7
|
require "vasputils/kpoints.rb"
|
7
8
|
|
8
9
|
class TC_Kpoints < Test::Unit::TestCase
|
@@ -17,7 +18,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
17
18
|
io.puts " 1 2 3"
|
18
19
|
io.puts " 0.4 0.5 0.6"
|
19
20
|
io.rewind
|
20
|
-
k00 = Kpoints.parse(io)
|
21
|
+
k00 = VaspUtils::Kpoints.parse(io)
|
21
22
|
assert_equal("Automatic mesh", k00[:comment])
|
22
23
|
assert_equal(:monkhorst, k00[:type])
|
23
24
|
assert_equal([1, 2, 3], k00[:mesh])
|
@@ -33,7 +34,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
33
34
|
io.puts " 1 2 3"
|
34
35
|
io.puts " 0.4 0.5 0.6"
|
35
36
|
io.rewind
|
36
|
-
k01 = Kpoints.parse(io)
|
37
|
+
k01 = VaspUtils::Kpoints.parse(io)
|
37
38
|
assert_equal("Automatic mesh", k01[:comment])
|
38
39
|
assert_equal(:gamma_center, k01[:type])
|
39
40
|
assert_equal([1, 2, 3], k01[:mesh])
|
@@ -43,7 +44,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
43
44
|
end
|
44
45
|
|
45
46
|
def test_self_load_file
|
46
|
-
k00 = Kpoints.load_file("test/kpoints/m123-456")
|
47
|
+
k00 = VaspUtils::Kpoints.load_file("test/kpoints/m123-456")
|
47
48
|
assert_equal("Automatic mesh", k00[:comment])
|
48
49
|
assert_equal(:monkhorst, k00[:type])
|
49
50
|
assert_equal([1, 2, 3], k00[:mesh])
|
@@ -51,7 +52,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
51
52
|
assert_in_delta(0.5, k00[:shift][1])
|
52
53
|
assert_in_delta(0.6, k00[:shift][2])
|
53
54
|
|
54
|
-
k01 = Kpoints.load_file("test/kpoints/g123-456")
|
55
|
+
k01 = VaspUtils::Kpoints.load_file("test/kpoints/g123-456")
|
55
56
|
assert_equal("Automatic mesh", k01[:comment])
|
56
57
|
assert_equal(:gamma_center, k01[:type])
|
57
58
|
assert_equal([1, 2, 3], k01[:mesh])
|
@@ -68,7 +69,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
68
69
|
:shift => [0.4, 0.5, 0.6],
|
69
70
|
}
|
70
71
|
io = StringIO.new
|
71
|
-
Kpoints.dump(hash, io)
|
72
|
+
VaspUtils::Kpoints.dump(hash, io)
|
72
73
|
io.rewind
|
73
74
|
results = io.readlines
|
74
75
|
corrects = [
|
@@ -90,7 +91,7 @@ class TC_Kpoints < Test::Unit::TestCase
|
|
90
91
|
:shift => [0.4, 0.5, 0.6],
|
91
92
|
}
|
92
93
|
io = StringIO.new
|
93
|
-
Kpoints.dump(hash, io)
|
94
|
+
VaspUtils::Kpoints.dump(hash, io)
|
94
95
|
io.rewind
|
95
96
|
results = io.readlines
|
96
97
|
corrects = [
|
data/test/test_outcar.rb
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
2
|
|
3
3
|
require 'test/unit'
|
4
|
+
require "vasputils.rb"
|
4
5
|
require 'vasputils/outcar.rb'
|
5
6
|
|
6
7
|
class TC_Outcar < Test::Unit::TestCase
|
7
8
|
$tolerance = 10**(-10)
|
8
9
|
|
9
10
|
def setup
|
10
|
-
@o01 = Outcar.load_file( "test/outcar/01-13-FIN.OUTCAR" )
|
11
|
-
@o01int = Outcar.load_file( "test/outcar/01-03-INT.OUTCAR" )
|
12
|
-
@o02 = Outcar.load_file( "test/outcar/02-05-FIN.OUTCAR" )
|
13
|
-
@o03 = Outcar.load_file( "test/outcar/03-05-FIN.OUTCAR" )
|
14
|
-
@o04 = Outcar.load_file( "test/outcar/10-01-FIN.OUTCAR" )
|
11
|
+
@o01 = VaspUtils::Outcar.load_file( "test/outcar/01-13-FIN.OUTCAR" )
|
12
|
+
@o01int = VaspUtils::Outcar.load_file( "test/outcar/01-03-INT.OUTCAR" )
|
13
|
+
@o02 = VaspUtils::Outcar.load_file( "test/outcar/02-05-FIN.OUTCAR" )
|
14
|
+
@o03 = VaspUtils::Outcar.load_file( "test/outcar/03-05-FIN.OUTCAR" )
|
15
|
+
@o04 = VaspUtils::Outcar.load_file( "test/outcar/10-01-FIN.OUTCAR" )
|
15
16
|
end
|
16
17
|
|
17
18
|
def test_self_load_file
|
18
|
-
assert_raise(Errno::ENOENT){Outcar.load_file( "" )}
|
19
|
+
assert_raise(Errno::ENOENT){VaspUtils::Outcar.load_file( "" )}
|
19
20
|
end
|
20
21
|
|
21
22
|
#def test_nsw
|
@@ -133,30 +134,30 @@ class TC_Outcar < Test::Unit::TestCase
|
|
133
134
|
#assert_in_delta( Iter1-Nsw0/OUTCAR:1463: free energy TOTEN = -53232.707599
|
134
135
|
end
|
135
136
|
|
136
|
-
def test_volume
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
137
|
+
#def test_volume
|
138
|
+
# assert_in_delta( 44.88, @o01 [:volumes][0], $tolerance )
|
139
|
+
# assert_in_delta( 44.88, @o01 [:volumes][1], $tolerance )
|
140
|
+
# assert_in_delta( 44.88, @o01int[:volumes][0], $tolerance )
|
141
|
+
# assert_in_delta( 44.88, @o02 [:volumes][0], $tolerance )
|
142
|
+
# assert_in_delta( 44.88, @o02 [:volumes][1], $tolerance )
|
143
|
+
# assert_in_delta( 44.16, @o02 [:volumes][2], $tolerance )
|
144
|
+
# assert_in_delta( 44.88, @o03 [:volumes][0], $tolerance )
|
145
|
+
# assert_in_delta( 44.88, @o03 [:volumes][1], $tolerance )
|
146
|
+
# assert_in_delta( 44.16, @o03 [:volumes][2], $tolerance )
|
147
|
+
# assert_in_delta( 43.84, @o03 [:volumes][3], $tolerance )
|
148
|
+
|
149
|
+
# #assert_in_delta( Iter1-Nsw0/OUTCAR:343: volume of cell : 1258.66
|
150
|
+
# #assert_in_delta( Iter1-Nsw0/OUTCAR:1488: volume of cell : 1258.66
|
150
151
|
|
151
|
-
end
|
152
|
+
#end
|
152
153
|
|
153
154
|
def test_elapsed_time
|
154
155
|
assert_equal(nil, @o01int[:elapsed_time])
|
155
156
|
assert_in_delta(164.134, @o04[:elapsed_time], $tolerance )
|
156
157
|
end
|
157
158
|
|
158
|
-
def test_irreducible_kpoints
|
159
|
-
|
160
|
-
end
|
159
|
+
#def test_irreducible_kpoints
|
160
|
+
# assert_equal(15, @o01[:irreducible_kpoints])
|
161
|
+
#end
|
161
162
|
|
162
163
|
end
|
data/test/test_poscar.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "test/unit"
|
4
4
|
require "stringio"
|
5
|
+
require "vasputils.rb"
|
5
6
|
require "vasputils/poscar.rb"
|
6
7
|
|
7
8
|
require "rubygems"
|
@@ -28,8 +29,8 @@ class TC_Poscar < Test::Unit::TestCase
|
|
28
29
|
cell = Cell.new(axes, atoms)
|
29
30
|
cell.comment = "test"
|
30
31
|
io = StringIO.new
|
31
|
-
assert_raises(Poscar::ElementMismatchError){
|
32
|
-
Poscar.dump(cell, [0,1,2], io)}
|
32
|
+
assert_raises(VaspUtils::Poscar::ElementMismatchError){
|
33
|
+
VaspUtils::Poscar.dump(cell, [0,1,2], io)}
|
33
34
|
|
34
35
|
# 生成
|
35
36
|
axes = LatticeAxes.new( [
|
@@ -45,7 +46,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
45
46
|
cell = Cell.new(axes, atoms)
|
46
47
|
cell.comment = "test"
|
47
48
|
io = StringIO.new
|
48
|
-
Poscar.dump(cell, [0,1], io)
|
49
|
+
VaspUtils::Poscar.dump(cell, [0,1], io)
|
49
50
|
io.rewind
|
50
51
|
corrects = [
|
51
52
|
"test\n",
|
@@ -73,7 +74,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
73
74
|
cell = Cell.new(axes, atoms)
|
74
75
|
cell.comment = "test"
|
75
76
|
io = StringIO.new
|
76
|
-
Poscar.dump(cell, [0,1], io)
|
77
|
+
VaspUtils::Poscar.dump(cell, [0,1], io)
|
77
78
|
io.rewind
|
78
79
|
corrects = [
|
79
80
|
"test\n",
|
@@ -97,7 +98,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
97
98
|
|
98
99
|
def test_parse
|
99
100
|
io = StringIO.new
|
100
|
-
assert_raises(Poscar::ParseError){ Poscar.parse(io) }
|
101
|
+
assert_raises(VaspUtils::Poscar::ParseError){ VaspUtils::Poscar.parse(io) }
|
101
102
|
|
102
103
|
io = StringIO.new
|
103
104
|
io.puts "sample0"
|
@@ -111,7 +112,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
111
112
|
io.puts " 0.5 0.0 0.0 #Ge-002"
|
112
113
|
io.puts " 0.5 0.5 0.0 #O--003"
|
113
114
|
io.rewind
|
114
|
-
cell = Poscar.parse(io)
|
115
|
+
cell = VaspUtils::Poscar.parse(io)
|
115
116
|
assert_equal("sample0", cell.comment)
|
116
117
|
assert_equal(
|
117
118
|
LatticeAxes.new( [
|
@@ -142,7 +143,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
142
143
|
io.puts " 0.5 0.5 0.0 T T T #O--003"
|
143
144
|
io.puts " 0.5 0.5 0.5 T T T #O--004"
|
144
145
|
io.rewind
|
145
|
-
cell = Poscar.parse(io)
|
146
|
+
cell = VaspUtils::Poscar.parse(io)
|
146
147
|
assert_equal("sample1", cell.comment)
|
147
148
|
assert_equal(
|
148
149
|
LatticeAxes.new( [
|
@@ -167,7 +168,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
167
168
|
end
|
168
169
|
|
169
170
|
def test_load_file
|
170
|
-
cell = Poscar.load_file("test/poscar/POSCAR.00")
|
171
|
+
cell = VaspUtils::Poscar.load_file("test/poscar/POSCAR.00")
|
171
172
|
assert_equal("sample0", cell.comment)
|
172
173
|
assert_equal(
|
173
174
|
LatticeAxes.new( [
|
@@ -184,7 +185,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
184
185
|
assert_equal(
|
185
186
|
Atom.new(2, [0.5, 0.5, 0.0], "#O--003"), cell.atoms[2])
|
186
187
|
|
187
|
-
#cell = Poscar.load_file("test/poscar/POSCAR.02")
|
188
|
+
#cell = VaspUtils::Poscar.load_file("test/poscar/POSCAR.02")
|
188
189
|
#assert_equal("sample0", cell.comment)
|
189
190
|
#assert_in_delta( 7.1028554188641708, cell.axes[0][0], $tolerance)
|
190
191
|
#assert_in_delta(-0.0000000169534433, cell.axes[0][1], $tolerance)
|
@@ -203,7 +204,7 @@ class TC_Poscar < Test::Unit::TestCase
|
|
203
204
|
end
|
204
205
|
|
205
206
|
#def setup
|
206
|
-
# #@pp02 = Poscar.new("test/poscar/POSCAR.shirai")
|
207
|
+
# #@pp02 = VaspUtils::Poscar.new("test/poscar/POSCAR.shirai")
|
207
208
|
#end
|
208
209
|
|
209
210
|
end
|
data/test/test_potcar.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
2
|
|
3
3
|
require "test/unit"
|
4
|
+
require "vasputils.rb"
|
4
5
|
require "vasputils/potcar.rb"
|
5
6
|
|
6
7
|
class TC_Potcar < Test::Unit::TestCase
|
7
8
|
|
8
9
|
def setup
|
9
|
-
@p0 = Potcar.load_file("test/potcar/POTCAR" )
|
10
|
-
@p1 = Potcar.load_file("test/potcar/POTCAR.dummy" )
|
11
|
-
@p2 = Potcar.load_file("test/potcar/POTCAR.allElement")
|
10
|
+
@p0 = VaspUtils::Potcar.load_file("test/potcar/POTCAR" )
|
11
|
+
@p1 = VaspUtils::Potcar.load_file("test/potcar/POTCAR.dummy" )
|
12
|
+
@p2 = VaspUtils::Potcar.load_file("test/potcar/POTCAR.allElement")
|
12
13
|
end
|
13
14
|
|
14
15
|
def test_get_filename
|
@@ -40,8 +41,8 @@ class TC_Potcar < Test::Unit::TestCase
|
|
40
41
|
end
|
41
42
|
|
42
43
|
#def test_self_elements
|
43
|
-
# assert_equal([ "Li", "Ge", "O" ], Potcar.elements( @p0 ))
|
44
|
-
# assert_equal([ "Li", "Ge", "O" ], Potcar.elements( @p1 ))
|
44
|
+
# assert_equal([ "Li", "Ge", "O" ], VaspUtils::Potcar.elements( @p0 ))
|
45
|
+
# assert_equal([ "Li", "Ge", "O" ], VaspUtils::Potcar.elements( @p1 ))
|
45
46
|
# correct = [
|
46
47
|
# "Ac", "Ac", "Ag", "Al", "Al", "Ar", "As", "Au", "B", "B", "B", "Ba",
|
47
48
|
# "Be", "Be", "Bi", "Bi", "Br", "C", "C", "C", "Ca", "Ca", "Cd", "Ce",
|
@@ -58,7 +59,7 @@ class TC_Potcar < Test::Unit::TestCase
|
|
58
59
|
# "Ta", "Ta", "Tb", "Tc", "Tc", "Te", "Th", "Th", "Ti", "Ti", "Ti",
|
59
60
|
# "Tl", "Tl", "Tm", "Tm", "U", "U", "V", "V", "V", "W", "W", "X", "Y",
|
60
61
|
# "Yb", "Yb", "Zn", "Zr", "Zr"]
|
61
|
-
# assert_equal( correct, Potcar.elements( @p2 ))
|
62
|
+
# assert_equal( correct, VaspUtils::Potcar.elements( @p2 ))
|
62
63
|
#end
|
63
64
|
|
64
65
|
end
|
data/test/test_vaspdir.rb
CHANGED
@@ -8,13 +8,13 @@ gem "comana"
|
|
8
8
|
require "comana/computationmanager.rb"
|
9
9
|
|
10
10
|
require "test/unit"
|
11
|
-
require "vasputils
|
11
|
+
require "vasputils.rb"
|
12
12
|
|
13
13
|
# assert_equal( cor, data)
|
14
14
|
# assert_in_delta( cor, data, $tolerance )
|
15
15
|
# assert_raise( RuntimeError ){}
|
16
16
|
|
17
|
-
class VaspDir < ComputationManager
|
17
|
+
class VaspUtils::VaspDir < ComputationManager
|
18
18
|
attr_reader :mode
|
19
19
|
|
20
20
|
def calculate
|
@@ -60,10 +60,10 @@ class TC_VaspDir < Test::Unit::TestCase
|
|
60
60
|
]
|
61
61
|
|
62
62
|
def setup
|
63
|
-
@vd00 = VaspDir.new("test/vaspdir/not-yet")
|
64
|
-
@vd01 = VaspDir.new("test/vaspdir/locked")
|
65
|
-
@vd02 = VaspDir.new("test/vaspdir/started")
|
66
|
-
@vd03 = VaspDir.new("test/vaspdir/finished")
|
63
|
+
@vd00 = VaspUtils::VaspDir.new("test/vaspdir/not-yet")
|
64
|
+
@vd01 = VaspUtils::VaspDir.new("test/vaspdir/locked")
|
65
|
+
@vd02 = VaspUtils::VaspDir.new("test/vaspdir/started")
|
66
|
+
@vd03 = VaspUtils::VaspDir.new("test/vaspdir/finished")
|
67
67
|
|
68
68
|
GENERATED_FILES_VD00.each do |file|
|
69
69
|
FileUtils.rm file if File.exist? file
|
@@ -74,10 +74,10 @@ class TC_VaspDir < Test::Unit::TestCase
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def test_initialize
|
77
|
-
assert_raise(VaspDir::InitializeError){VaspDir.new("test/vaspdir/lack-INCAR" )}
|
78
|
-
assert_raise(VaspDir::InitializeError){VaspDir.new("test/vaspdir/lack-KPOINTS")}
|
79
|
-
assert_raise(VaspDir::InitializeError){VaspDir.new("test/vaspdir/lack-POSCAR" )}
|
80
|
-
assert_raise(VaspDir::InitializeError){VaspDir.new("test/vaspdir/lack-POTCAR" )}
|
77
|
+
assert_raise(VaspUtils::VaspDir::InitializeError){VaspUtils::VaspDir.new("test/vaspdir/lack-INCAR" )}
|
78
|
+
assert_raise(VaspUtils::VaspDir::InitializeError){VaspUtils::VaspDir.new("test/vaspdir/lack-KPOINTS")}
|
79
|
+
assert_raise(VaspUtils::VaspDir::InitializeError){VaspUtils::VaspDir.new("test/vaspdir/lack-POSCAR" )}
|
80
|
+
assert_raise(VaspUtils::VaspDir::InitializeError){VaspUtils::VaspDir.new("test/vaspdir/lack-POTCAR" )}
|
81
81
|
end
|
82
82
|
|
83
83
|
def test_finished?
|