vasputils 0.1.3 → 0.1.4
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.
- checksums.yaml +4 -4
- data/CHANGES +6 -2
- data/VERSION +1 -1
- data/lib/vasputils/poscar.rb +7 -9
- data/lib/vasputils/potcar.rb +1 -1
- data/lib/vasputils/vaspgeometryoptimizer.rb +1 -1
- data/lib/vasputils/vasprunxml.rb +6 -0
- data/lib/vasputils/xdatcar.rb +1 -1
- data/test/test_poscar.rb +9 -4
- data/test/test_vaspgeometryoptimizer.rb +1 -1
- data/test/test_vasprunxml.rb +11 -0
- data/vasputils.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01cd9553715d4619bb01ce5b2d31978c447cc03a
|
4
|
+
data.tar.gz: 45590fabd8de6c5f4bc669399d334c22f3c12936
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a934034c6cccf101adcc139a939b24585bf09ea6fd8b26cb8e67fe7788649012804ee2e0c82fef5c9585e7b4f9d79c13284c219a7ca6b1955404607553ed6042
|
7
|
+
data.tar.gz: b224b574ef436f651330ccb6eea3c9ef2b11b9b0649513552bd8adb9c2f12634cff73dbcd7418eb35d2eb1e26e54cde847c87e0b1ed82cff2c321f4759b73aad
|
data/CHANGES
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
= vasputils changelog
|
2
2
|
|
3
|
-
== Master (for 0.1.
|
3
|
+
== Master (for 0.1.5)
|
4
|
+
|
5
|
+
== Version 0.1.4 [2016-05-09] released
|
6
|
+
* Refactoring of unused variables
|
7
|
+
* Add VasprunXml::calculation_energies
|
4
8
|
|
5
9
|
== Version 0.1.3 [2016-04-20] released
|
6
10
|
* Add 'incar generate --overwrite'
|
@@ -47,7 +51,7 @@
|
|
47
51
|
* Add bin/poscar
|
48
52
|
* Add bin/potcar
|
49
53
|
* Add vaspspcond including subcommand 'vary', instead of varycondition.
|
50
|
-
* Add VaspUtils::
|
54
|
+
* Add VaspUtils::VasprunXml
|
51
55
|
* Add bin/geomoptposcar
|
52
56
|
* Add subcommand `povray' to bin/poscar
|
53
57
|
* Add element order to Poscar.dump
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/lib/vasputils/poscar.rb
CHANGED
@@ -46,7 +46,7 @@ class VaspUtils::Poscar
|
|
46
46
|
axes = []
|
47
47
|
3.times do |i| #each axis of a, b, c.
|
48
48
|
vec = io.readline.strip.split(/\s+/) #in x,y,z directions
|
49
|
-
axes << vec.collect! { |
|
49
|
+
axes << vec.collect! { |j| j.to_f * scale } #multiply scaling factor
|
50
50
|
end
|
51
51
|
|
52
52
|
# Element symbol (vasp 5). Nothing in vasp 4.
|
@@ -220,7 +220,7 @@ class VaspUtils::Poscar
|
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
-
|
223
|
+
klass.new(axes, atoms)
|
224
224
|
end
|
225
225
|
|
226
226
|
# selective_dynamics は常に on にする。
|
@@ -270,8 +270,8 @@ class VaspUtils::Poscar
|
|
270
270
|
:direct => true,
|
271
271
|
:positions => new_positions
|
272
272
|
}
|
273
|
-
correct = VaspUtils::Poscar.new(hash)
|
274
273
|
|
274
|
+
VaspUtils::Poscar.new(hash)
|
275
275
|
end
|
276
276
|
|
277
277
|
#
|
@@ -379,13 +379,11 @@ class VaspUtils::Poscar
|
|
379
379
|
def sprint_position(i)
|
380
380
|
str = sprintf(" % 18.15f % 18.15f % 18.15f", * @positions[i])
|
381
381
|
if @selective_dynamics
|
382
|
-
|
383
|
-
|
384
|
-
(flag == true) ? str += " T" : str += " F"
|
385
|
-
end
|
386
|
-
else
|
387
|
-
str += " T T T"
|
382
|
+
@selective_dynamics[i].each do |flag|
|
383
|
+
(flag == true) ? str += " T" : str += " F"
|
388
384
|
end
|
385
|
+
else
|
386
|
+
#str += " T T T"
|
389
387
|
end
|
390
388
|
str
|
391
389
|
end
|
data/lib/vasputils/potcar.rb
CHANGED
@@ -79,7 +79,7 @@ class VaspUtils::VaspGeometryOptimizer < Comana::ComputationManager
|
|
79
79
|
#Keep 'geomopt00/{POSCAR,POTCAR,INCAR,POTCAR}', remove others.
|
80
80
|
def reset_initialize
|
81
81
|
poscars = Dir.glob("#{@dir}/#{PREFIX}*/POSCAR").sort
|
82
|
-
poscar = nil
|
82
|
+
#poscar = nil
|
83
83
|
path = nil
|
84
84
|
|
85
85
|
# Find the first geometory optimization
|
data/lib/vasputils/vasprunxml.rb
CHANGED
@@ -34,6 +34,7 @@ class VaspUtils::VasprunXml
|
|
34
34
|
axis.text.strip.split.map {|i| i.to_f}
|
35
35
|
end
|
36
36
|
end
|
37
|
+
results
|
37
38
|
end
|
38
39
|
|
39
40
|
def positions_list
|
@@ -105,5 +106,10 @@ class VaspUtils::VasprunXml
|
|
105
106
|
def num_spins
|
106
107
|
@data.xpath("/modeling/parameters/separator[@name='electronic']/separator[@name='electronic spin']/i[@name='ISPIN']").children.to_s.to_i
|
107
108
|
end
|
109
|
+
|
110
|
+
# energies of each ionic step
|
111
|
+
def calculation_energies
|
112
|
+
@data.xpath("/modeling/calculation/energy/i[@name='e_fr_energy']").children.to_a.map{|i| i.to_s.to_f}
|
113
|
+
end
|
108
114
|
end
|
109
115
|
|
data/lib/vasputils/xdatcar.rb
CHANGED
@@ -43,7 +43,7 @@ class VaspUtils::Xdatcar
|
|
43
43
|
axes = []
|
44
44
|
3.times do |i| #each axis of a, b, c.
|
45
45
|
vec = io.readline.strip.split(/\s+/) #in x,y,z directions
|
46
|
-
axes << vec.collect! { |
|
46
|
+
axes << vec.collect! { |j| j.to_f * scale } #multiply scaling factor
|
47
47
|
end
|
48
48
|
|
49
49
|
vals = io.readline.strip.split(/\s+/)
|
data/test/test_poscar.rb
CHANGED
@@ -255,7 +255,12 @@ class TC_Poscar < Test::Unit::TestCase
|
|
255
255
|
],
|
256
256
|
:elements => %w(Li Ge O),
|
257
257
|
:nums_elements => [1,1,2],
|
258
|
-
:selective_dynamics =>
|
258
|
+
:selective_dynamics => [
|
259
|
+
[true , true , true ],
|
260
|
+
[true , true , false],
|
261
|
+
[true , false, false],
|
262
|
+
[false, false, false],
|
263
|
+
],
|
259
264
|
:direct => true,
|
260
265
|
:positions => [
|
261
266
|
[0.0, 0.0, 0.0],
|
@@ -277,9 +282,9 @@ class TC_Poscar < Test::Unit::TestCase
|
|
277
282
|
"Selective dynamics\n",
|
278
283
|
"Direct\n",
|
279
284
|
" 0.000000000000000 0.000000000000000 0.000000000000000 T T T\n",
|
280
|
-
" 0.500000000000000 0.000000000000000 0.000000000000000 T T
|
281
|
-
" 0.500000000000000 0.500000000000000 0.000000000000000 T
|
282
|
-
" 0.500000000000000 0.500000000000000 0.500000000000000
|
285
|
+
" 0.500000000000000 0.000000000000000 0.000000000000000 T T F\n",
|
286
|
+
" 0.500000000000000 0.500000000000000 0.000000000000000 T F F\n",
|
287
|
+
" 0.500000000000000 0.500000000000000 0.500000000000000 F F F\n",
|
283
288
|
]
|
284
289
|
lines = io.readlines
|
285
290
|
corrects.each_with_index do |cor, index|
|
@@ -59,7 +59,7 @@ class TC_VaspGeometryOptimizer < Test::Unit::TestCase
|
|
59
59
|
|
60
60
|
def test_prepare_next
|
61
61
|
dir = TEST_DIR + "/prepare_next/normal"
|
62
|
-
old_number_dir = dir + "/geomopt00"
|
62
|
+
#old_number_dir = dir + "/geomopt00"
|
63
63
|
new_number_dir = dir + "/geomopt01"
|
64
64
|
|
65
65
|
if Dir.exist?(new_number_dir)
|
data/test/test_vasprunxml.rb
CHANGED
@@ -133,6 +133,17 @@ class TC_VasprunXml < Test::Unit::TestCase
|
|
133
133
|
assert_raise(error){ @v00.partial_dos(5, 1)}
|
134
134
|
end
|
135
135
|
|
136
|
+
def test_calculation_energies
|
137
|
+
results = @v01.calculation_energies
|
138
|
+
assert_equal(5 , results.size)
|
139
|
+
assert_equal(-4.21361453, results[0])
|
140
|
+
assert_equal(-4.31607186, results[1])
|
141
|
+
assert_equal(-4.39832854, results[2])
|
142
|
+
assert_equal(-4.40043741, results[3])
|
143
|
+
assert_equal(-4.40063677, results[4])
|
144
|
+
end
|
145
|
+
|
146
|
+
|
136
147
|
|
137
148
|
end
|
138
149
|
|
data/vasputils.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: vasputils 0.1.
|
5
|
+
# stub: vasputils 0.1.4 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "vasputils"
|
9
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.4"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["ippei94da"]
|
14
|
-
s.date = "2016-
|
14
|
+
s.date = "2016-05-09"
|
15
15
|
s.description = "This gem provides parsers for some of input and output files for VASP.\n This will provide support command for computations."
|
16
16
|
s.email = "ippei94da@gmail.com"
|
17
17
|
s.executables = ["incar", "kpoints", "poscar", "potcar", "vaspdir", "vaspgeomopt", "vasprunxml"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vasputils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ippei94da
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|