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 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", "~> 3.12"
10
- gem "bundler", "~> 1.1.3"
11
- gem "jeweler", "~> 1.8.3"
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.4
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 "vaspgeomopt"
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 Comana::AlreadyStartedError
34
+ rescue ComputationManager::AlreadyStartedError
33
35
  puts "Already started. Exit."
34
36
  exit
35
37
  end
@@ -28,8 +28,10 @@ require "vasputils/kpoints.rb"
28
28
  # try00 形式の postfix がついていることを前提とする。
29
29
  # 00 の部分には CONTCAR を POSCAR にする手続きで連続して行う計算の番号を示す。
30
30
  #
31
- class VaspDir < Comana
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
- hi = MachineInfo.load_file("#{ENV["HOME"]}/.machineinfo").get_host(ENV["HOST"])
121
- vasp = hi["vasp"]
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 < Comana
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 < Comana
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
@@ -1,3 +1,8 @@
1
+ 0.0.5
2
+ Modifiy error process in VaspDir.calculate.
3
+ Add runvasp.
4
+ Add qsubvasp.
5
+
1
6
  0.0.4 release
2
7
  Using Comana library.
3
8
  Add runvasp.
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 < Comana
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/comana_lock"
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/comana_lock"
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
 
@@ -3,10 +3,11 @@
3
3
 
4
4
  require "fileutils"
5
5
  require "test/unit"
6
+
6
7
  require "vasputils/vaspgeomopt.rb"
7
8
 
8
9
 
9
- class VaspGeomOpt < Comana
10
+ class VaspGeomOpt < ComputationManager
10
11
  public :latest_dir, :prepare_next
11
12
  end
12
13
 
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.4"
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-07"
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>, ["~> 3.12"])
211
- s.add_development_dependency(%q<bundler>, ["~> 1.1.3"])
212
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
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>, ["~> 3.12"])
222
- s.add_dependency(%q<bundler>, ["~> 1.1.3"])
223
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
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>, ["~> 3.12"])
234
- s.add_dependency(%q<bundler>, ["~> 1.1.3"])
235
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
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
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-07 00:00:00.000000000 Z
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: &86738910 !ruby/object:Gem::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: *86738910
24
+ version_requirements: *82143140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &86737820 !ruby/object:Gem::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: *86737820
35
+ version_requirements: *82141240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &86753150 !ruby/object:Gem::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: *86753150
46
+ version_requirements: *82139430
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &86752350 !ruby/object:Gem::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: *86752350
57
+ version_requirements: *82155010
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: crystalcell
60
- requirement: &86751370 !ruby/object:Gem::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: *86751370
68
+ version_requirements: *82154520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mageo
71
- requirement: &86749640 !ruby/object:Gem::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: *86749640
79
+ version_requirements: *82153850
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: malge
82
- requirement: &86748730 !ruby/object:Gem::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: *86748730
90
+ version_requirements: *82153190
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: maset
93
- requirement: &86745950 !ruby/object:Gem::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: *86745950
101
+ version_requirements: *82152310
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: comana
104
- requirement: &86584290 !ruby/object:Gem::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: *86584290
112
+ version_requirements: *82150690
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: builtinextension
115
- requirement: &86583340 !ruby/object:Gem::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: *86583340
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: -619006479
334
+ hash: -917063793
335
335
  required_rubygems_version: !ruby/object:Gem::Requirement
336
336
  none: false
337
337
  requirements: