vasputils 0.0.4 → 0.0.5
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/Gemfile +3 -3
- data/VERSION +1 -1
- data/bin/qsubvasp +1 -1
- data/bin/runvasp +5 -3
- data/lib/vasputils/vaspdir.rb +11 -37
- data/lib/vasputils/vaspgeomopt.rb +4 -3
- data/memo.txt +5 -0
- data/test/test_vaspdir.rb +4 -4
- data/test/test_vaspgeomopt.rb +2 -1
- data/vasputils.gemspec +11 -11
- metadata +26 -26
data/Gemfile
CHANGED
@@ -6,9 +6,9 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
gem "rdoc", "
|
10
|
-
gem "bundler", "
|
11
|
-
gem "jeweler", "
|
9
|
+
gem "rdoc", ">= 3.12"
|
10
|
+
gem "bundler", ">= 1.1.3"
|
11
|
+
gem "jeweler", ">= 1.8.3"
|
12
12
|
gem "simplecov", ">= 0"
|
13
13
|
gem "crystalcell", ">= 0.0.0"
|
14
14
|
gem "mageo", ">= 0.0.0"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/bin/qsubvasp
CHANGED
@@ -45,7 +45,7 @@ File.open(SCRIPT_FILE, "w") do |io|
|
|
45
45
|
io.puts "#PBS -N task"
|
46
46
|
io.puts "#PBS -l nodes=4:ppn=1:Ga"
|
47
47
|
io.puts "cd $PBS_O_WORKDIR"
|
48
|
-
io.puts "
|
48
|
+
io.puts "runvasp"
|
49
49
|
#io.puts "#/usr/local/bin/mpiexec /usr/local/bin/vasp5212mpi-ifc11-fast"
|
50
50
|
#io.puts "#/home/ippei/local/mpi/mpiexec-0.84/mpiexec /usr/local/calc/bin/vasp5212-mpich2"
|
51
51
|
#io.puts "#/usr/local/calc/mpiexec/bin/mpiexec /usr/local/calc/bin/vasp5212-mpich2"
|
data/bin/runvasp
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
|
5
4
|
require "rubygems"
|
5
|
+
gem "comana"
|
6
|
+
require "comana/computationmanager.rb"
|
7
|
+
|
6
8
|
gem "vasputils"
|
7
9
|
require "vasputils/vaspdir.rb"
|
8
10
|
require "vasputils/vaspgeomopt.rb"
|
@@ -25,11 +27,11 @@ else
|
|
25
27
|
calc_dir = VaspDir.new(dir)
|
26
28
|
end
|
27
29
|
|
28
|
-
#pp calc_dir
|
30
|
+
#pp calc_dir.class.ancestors
|
29
31
|
|
30
32
|
begin
|
31
33
|
calc_dir.start
|
32
|
-
rescue
|
34
|
+
rescue ComputationManager::AlreadyStartedError
|
33
35
|
puts "Already started. Exit."
|
34
36
|
exit
|
35
37
|
end
|
data/lib/vasputils/vaspdir.rb
CHANGED
@@ -28,8 +28,10 @@ require "vasputils/kpoints.rb"
|
|
28
28
|
# try00 形式の postfix がついていることを前提とする。
|
29
29
|
# 00 の部分には CONTCAR を POSCAR にする手続きで連続して行う計算の番号を示す。
|
30
30
|
#
|
31
|
-
class VaspDir <
|
31
|
+
class VaspDir < ComputationManager
|
32
32
|
class InitializeError < Exception; end
|
33
|
+
class NoVaspBinaryError < Exception; end
|
34
|
+
class PrepareNextError < Exception; end
|
33
35
|
|
34
36
|
#INCAR 解析とかして、モードを調べる。
|
35
37
|
#- 格子定数の構造最適化モード(ISIF = 3)
|
@@ -37,6 +39,7 @@ class VaspDir < Comana
|
|
37
39
|
##- k 点探索モードは無理だろう。
|
38
40
|
def initialize(dir)
|
39
41
|
super(dir)
|
42
|
+
@lockdir = "lock_vaspdir"
|
40
43
|
%w(INCAR KPOINTS POSCAR POTCAR).each do |file|
|
41
44
|
infile = "#{@dir}/#{file}"
|
42
45
|
raise InitializeError, infile unless FileTest.exist? infile
|
@@ -96,58 +99,29 @@ class VaspDir < Comana
|
|
96
99
|
# そのうち mpiexec from torque に対応するが、
|
97
100
|
# まずは mpirun で動くように作る。
|
98
101
|
def calculate
|
99
|
-
#File.open(lock_file, "w") do |lock_io|
|
100
|
-
# lock_io.puts "HOST: #{ENV["HOST"]}"
|
101
|
-
# lock_io.puts "START: #{Time.now.to_s}"
|
102
|
-
# lock_io.flush
|
103
|
-
|
104
|
-
# num_cores = 4 if /^Se\d\d/ =~ ENV["HOST"]
|
105
|
-
# num_cores = 4 if /^Ge\d\d/ =~ ENV["HOST"]
|
106
|
-
# num_cores = 4 if /^Ga\d\d/ =~ ENV["HOST"]
|
107
|
-
# num_cores = 4 if /^At$/ =~ ENV["HOST"]
|
108
|
-
# num_cores = 2 if /^yggdrasil$/ =~ ENV["HOST"]
|
109
|
-
|
110
|
-
# # machines を生成
|
111
|
-
# File.open("#{@dir}/machines", "w") do |io|
|
112
|
-
# io.puts "localhost:#{num_cores}"
|
113
|
-
# end
|
114
|
-
#end
|
115
|
-
#num_cores = 4
|
116
|
-
|
117
|
-
#settings = YAML.load_file("#{ENV["HOME"]}/.machineinfo")
|
118
|
-
#setting = settings[ENV["HOST"]]
|
119
102
|
begin
|
120
|
-
|
121
|
-
|
103
|
+
info =
|
104
|
+
MachineInfo.load_file("#{ENV["HOME"]}/.machineinfo").get_info(ENV["HOST"])
|
105
|
+
vasp = info["vasp"]
|
122
106
|
rescue
|
123
|
-
vasp = "vasp"
|
107
|
+
#vasp = "vasp"
|
108
|
+
raise NoVaspBinaryError, "No vasp path in #{ENV["HOME"]}/.machineinfo"
|
124
109
|
end
|
125
110
|
command = "cd #{@dir};"
|
126
111
|
command += vasp
|
127
112
|
command += "> stdout"
|
128
113
|
|
129
|
-
#if ENV["PBS_JOBID"]
|
130
|
-
# command += "/usr/local/calc/mpiexec/bin/mpiexec /usr/local/calc/bin/vasp5212-mpich2"
|
131
|
-
#else
|
132
|
-
# /usr/local/calc/bin/vasp5212-mpich2"
|
133
|
-
## command = "cd #{@dir};" +
|
134
|
-
## "/usr/local/calc/mpich-1.2.7-ifc7/bin/mpirun " +
|
135
|
-
## "-np #{num_cores} " +
|
136
|
-
## "-machinefile machines " +
|
137
|
-
## "/usr/local/calc/vasp/vasp4631mpi" +
|
138
|
-
## "> stdout"
|
139
|
-
#end
|
140
|
-
|
141
114
|
system command
|
142
115
|
end
|
143
116
|
|
144
117
|
def prepare_next
|
145
118
|
#do_nothing
|
119
|
+
raise PrepareNextError, "VaspDir doesn't need next."
|
146
120
|
end
|
147
121
|
|
148
122
|
end
|
149
123
|
|
150
|
-
#class VaspGeometryOptimization <
|
124
|
+
#class VaspGeometryOptimization < ComputationManager
|
151
125
|
# # 次の計算ディレクトリを作成し、
|
152
126
|
# # その VaspDir クラスで self を置き換える。
|
153
127
|
# # 計算が正常終了していなければ、例外 VaspDirNotEndedError を生じる。
|
@@ -6,20 +6,21 @@ require "fileutils"
|
|
6
6
|
|
7
7
|
require "rubygems"
|
8
8
|
gem "comana"
|
9
|
-
require "comana"
|
9
|
+
require "comana/computationmanager.rb"
|
10
10
|
|
11
|
-
require "vasputils/vaspdir"
|
11
|
+
require "vasputils/vaspdir.rb"
|
12
12
|
|
13
13
|
#
|
14
14
|
#
|
15
15
|
#
|
16
|
-
class VaspGeomOpt <
|
16
|
+
class VaspGeomOpt < ComputationManager
|
17
17
|
class NoVaspDirError < Exception; end
|
18
18
|
class LatestDirStartedError < Exception; end
|
19
19
|
class NoIntegerEndedNameError < Exception; end
|
20
20
|
|
21
21
|
def initialize(dir)
|
22
22
|
super(dir)
|
23
|
+
@lockdir = "lock_vaspgeomopt"
|
23
24
|
latest_dir # to check.
|
24
25
|
end
|
25
26
|
|
data/memo.txt
CHANGED
data/test/test_vaspdir.rb
CHANGED
@@ -5,7 +5,7 @@ $TEST = true
|
|
5
5
|
|
6
6
|
require "rubygems"
|
7
7
|
gem "comana"
|
8
|
-
require "comana.rb"
|
8
|
+
require "comana/computationmanager.rb"
|
9
9
|
|
10
10
|
require "test/unit"
|
11
11
|
require "vasputils/vaspdir.rb"
|
@@ -14,7 +14,7 @@ require "vasputils/vaspdir.rb"
|
|
14
14
|
# assert_in_delta( cor, data, $tolerance )
|
15
15
|
# assert_raise( RuntimeError ){}
|
16
16
|
|
17
|
-
class VaspDir <
|
17
|
+
class VaspDir < ComputationManager
|
18
18
|
attr_reader :mode
|
19
19
|
|
20
20
|
def calculate
|
@@ -88,7 +88,7 @@ class TC_VaspDir < Test::Unit::TestCase
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def test_calculate
|
91
|
-
lock_dir = "test/vaspdir/not-yet/
|
91
|
+
lock_dir = "test/vaspdir/not-yet/lock_vaspdir"
|
92
92
|
Dir.rmdir(lock_dir) if Dir.exist?(lock_dir)
|
93
93
|
#pp @vd00;exit
|
94
94
|
#@vd00.calculate
|
@@ -102,7 +102,7 @@ class TC_VaspDir < Test::Unit::TestCase
|
|
102
102
|
assert(FileTest.exist? "test/vaspdir/not-yet/POSCAR")
|
103
103
|
assert(FileTest.exist? "test/vaspdir/not-yet/POTCAR")
|
104
104
|
|
105
|
-
lock_dir = "test/vaspdir/not-yet/
|
105
|
+
lock_dir = "test/vaspdir/not-yet/lock_vaspdir"
|
106
106
|
Dir.rmdir(lock_dir) if Dir.exist?(lock_dir)
|
107
107
|
end
|
108
108
|
|
data/test/test_vaspgeomopt.rb
CHANGED
data/vasputils.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "vasputils"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["ippei94da"]
|
12
|
-
s.date = "2012-05-
|
12
|
+
s.date = "2012-05-08"
|
13
13
|
s.description = "This gem provides parsers for some of input and output files for VASP.\n This will provide support command for computations."
|
14
14
|
s.email = "ippei94da@gmail.com"
|
15
15
|
s.executables = ["addVolumeToten.rb", "latticeconstants", "lsvasp", "lsvaspdir", "lsvaspseries", "qsubvasp", "runvasp", "symposcar"]
|
@@ -207,9 +207,9 @@ Gem::Specification.new do |s|
|
|
207
207
|
s.specification_version = 3
|
208
208
|
|
209
209
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
210
|
-
s.add_development_dependency(%q<rdoc>, ["
|
211
|
-
s.add_development_dependency(%q<bundler>, ["
|
212
|
-
s.add_development_dependency(%q<jeweler>, ["
|
210
|
+
s.add_development_dependency(%q<rdoc>, [">= 3.12"])
|
211
|
+
s.add_development_dependency(%q<bundler>, [">= 1.1.3"])
|
212
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.8.3"])
|
213
213
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
214
214
|
s.add_development_dependency(%q<crystalcell>, [">= 0.0.0"])
|
215
215
|
s.add_development_dependency(%q<mageo>, [">= 0.0.0"])
|
@@ -218,9 +218,9 @@ Gem::Specification.new do |s|
|
|
218
218
|
s.add_development_dependency(%q<comana>, [">= 0.0.5"])
|
219
219
|
s.add_development_dependency(%q<builtinextension>, [">= 0.0.3"])
|
220
220
|
else
|
221
|
-
s.add_dependency(%q<rdoc>, ["
|
222
|
-
s.add_dependency(%q<bundler>, ["
|
223
|
-
s.add_dependency(%q<jeweler>, ["
|
221
|
+
s.add_dependency(%q<rdoc>, [">= 3.12"])
|
222
|
+
s.add_dependency(%q<bundler>, [">= 1.1.3"])
|
223
|
+
s.add_dependency(%q<jeweler>, [">= 1.8.3"])
|
224
224
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
225
225
|
s.add_dependency(%q<crystalcell>, [">= 0.0.0"])
|
226
226
|
s.add_dependency(%q<mageo>, [">= 0.0.0"])
|
@@ -230,9 +230,9 @@ Gem::Specification.new do |s|
|
|
230
230
|
s.add_dependency(%q<builtinextension>, [">= 0.0.3"])
|
231
231
|
end
|
232
232
|
else
|
233
|
-
s.add_dependency(%q<rdoc>, ["
|
234
|
-
s.add_dependency(%q<bundler>, ["
|
235
|
-
s.add_dependency(%q<jeweler>, ["
|
233
|
+
s.add_dependency(%q<rdoc>, [">= 3.12"])
|
234
|
+
s.add_dependency(%q<bundler>, [">= 1.1.3"])
|
235
|
+
s.add_dependency(%q<jeweler>, [">= 1.8.3"])
|
236
236
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
237
237
|
s.add_dependency(%q<crystalcell>, [">= 0.0.0"])
|
238
238
|
s.add_dependency(%q<mageo>, [">= 0.0.0"])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vasputils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,44 +9,44 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdoc
|
16
|
-
requirement: &
|
16
|
+
requirement: &82143140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '3.12'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *82143140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &82141240 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.1.3
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *82141240
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &82139430 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ! '>='
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 1.8.3
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *82139430
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &82155010 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *82155010
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: crystalcell
|
60
|
-
requirement: &
|
60
|
+
requirement: &82154520 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *82154520
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mageo
|
71
|
-
requirement: &
|
71
|
+
requirement: &82153850 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.0.0
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *82153850
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: malge
|
82
|
-
requirement: &
|
82
|
+
requirement: &82153190 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.0.1
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *82153190
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: maset
|
93
|
-
requirement: &
|
93
|
+
requirement: &82152310 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 0.0.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *82152310
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: comana
|
104
|
-
requirement: &
|
104
|
+
requirement: &82150690 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 0.0.5
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *82150690
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: builtinextension
|
115
|
-
requirement: &
|
115
|
+
requirement: &82149970 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
version: 0.0.3
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *82149970
|
124
124
|
description: ! "This gem provides parsers for some of input and output files for VASP.\n
|
125
125
|
\ This will provide support command for computations."
|
126
126
|
email: ippei94da@gmail.com
|
@@ -331,7 +331,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
331
331
|
version: '0'
|
332
332
|
segments:
|
333
333
|
- 0
|
334
|
-
hash: -
|
334
|
+
hash: -917063793
|
335
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
336
|
none: false
|
337
337
|
requirements:
|