vasputils 0.0.7 → 0.0.8

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.
Files changed (7) hide show
  1. data/Gemfile +1 -1
  2. data/VERSION +1 -1
  3. data/bin/lsvasp +60 -55
  4. data/bin/qsubvasp +69 -10
  5. data/memo.txt +4 -1
  6. data/vasputils.gemspec +5 -5
  7. metadata +24 -24
data/Gemfile CHANGED
@@ -14,6 +14,6 @@ group :development do
14
14
  gem "mageo", ">= 0.0.0"
15
15
  gem "malge", ">= 0.0.1"
16
16
  gem "maset", ">= 0.0.0"
17
- gem "comana", ">= 0.0.8"
17
+ gem "comana", ">= 0.0.9"
18
18
  gem "builtinextension", ">= 0.0.3"
19
19
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
data/bin/lsvasp CHANGED
@@ -5,34 +5,34 @@
5
5
 
6
6
  #require "vasputils/calcseries.rb"
7
7
  require "vasputils/vaspgeomopt.rb"
8
- require "optparse"
9
-
10
- # option analysis
11
- OPTIONS = Hash.new
12
- op = OptionParser.new
13
- op.on("-c", "--cutoff" , "Show cutoff energy. "){ OPTIONS[:cutoff ] = true }
14
- op.on("-e", "--electronic-steps", "Show electronic-steps." ){ OPTIONS[:e_steps] = true }
15
- op.on("-i", "--ionic-steps" , "Show ionic-steps." ){ OPTIONS[:i_steps] = true }
16
- op.on("-k", "--k-mesh" , "Show k-mesh." ){ OPTIONS[:k_mesh] = true }
17
- op.on("-K", "--irr-kpoints" , "Show irreducible k-points."){ OPTIONS[:irr_k ] = true }
18
- op.on("-l", "--lattice-const" , "Show lattice constants."){ OPTIONS[:lattice] = true }
19
- op.on("-t", "--elapsed-time" , "Show elapsed-time." ){ OPTIONS[:time ] = true }
20
- op.on("-T", "--time-estesp" , "Show time per elec. steps."){ OPTIONS[:time_e] = true }
21
- op.on("-E", "--toten" , "Show toten." ){ OPTIONS[:toten ] = true }
22
- op.on("-a", "--all" , "Show all information." ){
23
- # -a で出力される順序はここで決まる。
24
- OPTIONS[:cutoff ] = true
25
- OPTIONS[:irr_k ] = true
26
- OPTIONS[:k_mesh ] = true
27
- OPTIONS[:i_steps ] = true
28
- OPTIONS[:e_steps ] = true
29
- OPTIONS[:time ] = true
30
- OPTIONS[:time_e ] = true
31
- OPTIONS[:lattice ] = true
32
- OPTIONS[:toten ] = true
33
- }
34
-
35
- op.parse!(ARGV)
8
+ #require "optparse"
9
+ #
10
+ ## option analysis
11
+ #OPTIONS = Hash.new
12
+ #op = OptionParser.new
13
+ #op.on("-c", "--cutoff" , "Show cutoff energy. "){ OPTIONS[:cutoff ] = true }
14
+ #op.on("-e", "--electronic-steps", "Show electronic-steps." ){ OPTIONS[:e_steps] = true }
15
+ #op.on("-i", "--ionic-steps" , "Show ionic-steps." ){ OPTIONS[:i_steps] = true }
16
+ #op.on("-k", "--k-mesh" , "Show k-mesh." ){ OPTIONS[:k_mesh] = true }
17
+ #op.on("-K", "--irr-kpoints" , "Show irreducible k-points."){ OPTIONS[:irr_k ] = true }
18
+ #op.on("-l", "--lattice-const" , "Show lattice constants."){ OPTIONS[:lattice] = true }
19
+ #op.on("-t", "--elapsed-time" , "Show elapsed-time." ){ OPTIONS[:time ] = true }
20
+ #op.on("-T", "--time-estesp" , "Show time per elec. steps."){ OPTIONS[:time_e] = true }
21
+ #op.on("-E", "--toten" , "Show toten." ){ OPTIONS[:toten ] = true }
22
+ #op.on("-a", "--all" , "Show all information." ){
23
+ # # -a で出力される順序はここで決まる。
24
+ # OPTIONS[:cutoff ] = true
25
+ # OPTIONS[:irr_k ] = true
26
+ # OPTIONS[:k_mesh ] = true
27
+ # OPTIONS[:i_steps ] = true
28
+ # OPTIONS[:e_steps ] = true
29
+ # OPTIONS[:time ] = true
30
+ # OPTIONS[:time_e ] = true
31
+ # OPTIONS[:lattice ] = true
32
+ # OPTIONS[:toten ] = true
33
+ #}
34
+ #
35
+ #op.parse!(ARGV)
36
36
 
37
37
  dirs = ARGV
38
38
  dirs = Dir.glob("*").sort if ARGV.empty?
@@ -59,32 +59,37 @@ dirs = Dir.glob("*").sort if ARGV.empty?
59
59
  #puts "#" + items.join(", ")
60
60
 
61
61
  dirs.each do |dir|
62
- begin
63
- ldir = VaspGeomOpt.new(dir).latest_dir
64
- results = []
65
- names = []
66
- OPTIONS.each do |key, val|
67
- case key
68
- when :cutoff
69
- results << sprintf("%6s", ldir.finished_calc.incar["ENCUT"])
70
- when :k_mesh then results << sprintf("%2d, %2d, %2d, %8.5f, %8.5f, %8.5f",
71
- * ldir.finished_calc.kpoints[:mesh], * ldir.finished_calc.kpoints[:shift])
72
- when :irr_k then results << sprintf("%4d", ldir.finished_calc.outcar[:irreducible_kpoints])
73
- when :lattice then
74
- results << sprintf("%9.5f, %9.5f, %9.5f, %9.5f, %9.5f, %9.5f",
75
- * ldir.finished_calc.contcar.axes.get_lattice_constants)
76
- when :e_steps then results << sprintf("%4d", ldir.internal_steps)
77
- when :i_steps then results << sprintf("%4d", ldir.external_steps)
78
- when :time then results << sprintf("%8d", ldir.elapsed_time)
79
- when :time_e then results << sprintf("%8d", ldir.elapsed_time/ldir.internal_steps)
80
- when :toten then results << sprintf("%16.4f", ldir.finished_calc.outcar[:totens][-1])
81
- end
82
- end
83
- results << dir
84
- puts " " + results.join(", ")
85
- rescue
86
- puts "Something wrong: #{dir}"
87
- next
88
- end
62
+ state = VaspGeomOpt.new(dir).state
63
+ longest = :terminated.size
64
+ state = state.to_s + (" " * (longest - state.size ))
65
+
66
+ puts
67
+ #begin
68
+ # ldir = VaspGeomOpt.new(dir).latest_dir
69
+ # results = []
70
+ # names = []
71
+ # OPTIONS.each do |key, val|
72
+ # case key
73
+ # when :cutoff
74
+ # results << sprintf("%6s", ldir.finished_calc.incar["ENCUT"])
75
+ # when :k_mesh then results << sprintf("%2d, %2d, %2d, %8.5f, %8.5f, %8.5f",
76
+ # * ldir.finished_calc.kpoints[:mesh], * ldir.finished_calc.kpoints[:shift])
77
+ # when :irr_k then results << sprintf("%4d", ldir.finished_calc.outcar[:irreducible_kpoints])
78
+ # when :lattice then
79
+ # results << sprintf("%9.5f, %9.5f, %9.5f, %9.5f, %9.5f, %9.5f",
80
+ # * ldir.finished_calc.contcar.axes.get_lattice_constants)
81
+ # when :e_steps then results << sprintf("%4d", ldir.internal_steps)
82
+ # when :i_steps then results << sprintf("%4d", ldir.external_steps)
83
+ # when :time then results << sprintf("%8d", ldir.elapsed_time)
84
+ # when :time_e then results << sprintf("%8d", ldir.elapsed_time/ldir.internal_steps)
85
+ # when :toten then results << sprintf("%16.4f", ldir.finished_calc.outcar[:totens][-1])
86
+ # end
87
+ # end
88
+ # results << dir
89
+ # puts " " + results.join(", ")
90
+ #rescue
91
+ # puts "Something wrong: #{dir}"
92
+ # next
93
+ #end
89
94
 
90
95
  end
data/bin/qsubvasp CHANGED
@@ -12,30 +12,89 @@
12
12
  # the INDICATOR in ~/.machineinfo
13
13
  # Default value is 1.
14
14
  #
15
- # calc_dir must be a vasp geometry optimization directory.
15
+ # calc_dir is a vasp directory as usual,
16
+ # when with -g option, VaspGeomOpt directory.
16
17
 
17
18
  #require "optparse"
18
- require "yaml"
19
19
  require "pp"
20
+ require "yaml"
21
+ require "optparse"
20
22
 
21
23
  require "rubygems"
22
24
  gem "comana"
23
25
  require "comana/queuesubmitter.rb"
24
- #require "comana/machineinfo.rb"
26
+ require "comana/machineinfo.rb"
25
27
 
26
28
  require "vasputils/vaspdir.rb"
27
29
  require "vasputils/vaspgeomopt.rb"
28
30
 
31
+ opts = {}
32
+
33
+ op = OptionParser.new
34
+ op.on("-c cluster", "--cluster" , "Cluster name."){|v| opts["cluster"] = v }
35
+ op.on("-n number", "--number", "Indicate node number, or key in ~/.machineinfo."){|v|
36
+ opts["number"] = v
37
+ }
38
+ op.on("-g", "--geom-opt", "Geometry optimization."){ opts["geomopt"] = true}
39
+ op.parse!(ARGV)
40
+
41
+ def condition_check(opts)
42
+ # Condition Check
43
+ mi = MachineInfo.load_file("#{ENV["HOME"]}/.machineinfo")
44
+ conds = {}
45
+ # cluster
46
+ name = opts["cluster"]
47
+ #pp mi.get_info(name)
48
+ if name
49
+ conds["cluster"] = name
50
+ else
51
+ puts "-c CLUSTER_NAME is necessary."
52
+ exit
53
+ end
29
54
 
30
- OPTS = QueueSubmitter.parse_options(
31
- ARGV, MachineInfo.load_file("#{ENV["HOME"]}/.machineinfo")
32
- )
33
- OPTS[:directory] = VaspGeomOpt.new(File.expand_path(ARGV[0]))
34
- OPTS[:command] = "runvasp -g"
35
- #pp OPTS; exit
55
+ # target and command
56
+ unless ARGV.size == 1
57
+ puts "Indicate only one directory for vasp. Argument: #{ARGV}"
58
+ exit
59
+ end
60
+ if opts["geomopt"]
61
+ begin
62
+ conds["target"] = VaspGeomOpt.new(File.expand_path(ARGV[0]))
63
+ conds["command"] = "runvasp -g"
64
+ rescue VaspGeomOpt::NoVaspDirError
65
+ puts "Seem not to be a directory for VaspGeomOpt #{ARGV}"
66
+ exit
67
+ end
68
+ else
69
+ begin
70
+ conds["target"] = VaspDir.new(File.expand_path(ARGV[0]))
71
+ conds["command"] = "runvasp"
72
+ rescue VaspDir::InitializeError
73
+ puts "Seem not to be a directory for VaspDir #{ARGV}"
74
+ exit
75
+ end
76
+ end
36
77
 
37
- qs = QueueSubmitter.new(OPTS)
78
+ # number
79
+ str = opts["number"]
80
+ num = str.to_i
81
+ if num > 0
82
+ conds["number"] = num
83
+ else
84
+ if mi.get_info(name).has_key?(str)
85
+ conds["number"] = mi.get_info(name)[str]
86
+ else
87
+ puts "-n argument must be a positive integer or key in ~/machineinfo."
88
+ exit
89
+ end
90
+ end
91
+ conds
92
+ end
93
+ opts = condition_check(opts)
94
+
95
+ qs = QueueSubmitter.new(opts)
38
96
  #pp qs; exit
97
+
39
98
  begin
40
99
  qs.start
41
100
  puts "Submitted. Exit."
data/memo.txt CHANGED
@@ -1,9 +1,12 @@
1
1
  #
2
2
 
3
+ 0.0.8 release
4
+ Modified bin/qsubvasp, add -g option.
5
+
3
6
  0.0.7 release
4
7
  Modified bin/qsubvasp
5
8
 
6
- 0.0.6 release [2012-05-10]
9
+ 0.0.6 release
7
10
  bin/qsubvasp is added.
8
11
  lib/vaspdir is modified to raise ExecuteError when vasp failed.
9
12
 
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.7"
8
+ s.version = "0.0.8"
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-18"
12
+ s.date = "2012-05-29"
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"]
@@ -215,7 +215,7 @@ Gem::Specification.new do |s|
215
215
  s.add_development_dependency(%q<mageo>, [">= 0.0.0"])
216
216
  s.add_development_dependency(%q<malge>, [">= 0.0.1"])
217
217
  s.add_development_dependency(%q<maset>, [">= 0.0.0"])
218
- s.add_development_dependency(%q<comana>, [">= 0.0.8"])
218
+ s.add_development_dependency(%q<comana>, [">= 0.0.9"])
219
219
  s.add_development_dependency(%q<builtinextension>, [">= 0.0.3"])
220
220
  else
221
221
  s.add_dependency(%q<rdoc>, [">= 3.12"])
@@ -226,7 +226,7 @@ Gem::Specification.new do |s|
226
226
  s.add_dependency(%q<mageo>, [">= 0.0.0"])
227
227
  s.add_dependency(%q<malge>, [">= 0.0.1"])
228
228
  s.add_dependency(%q<maset>, [">= 0.0.0"])
229
- s.add_dependency(%q<comana>, [">= 0.0.8"])
229
+ s.add_dependency(%q<comana>, [">= 0.0.9"])
230
230
  s.add_dependency(%q<builtinextension>, [">= 0.0.3"])
231
231
  end
232
232
  else
@@ -238,7 +238,7 @@ Gem::Specification.new do |s|
238
238
  s.add_dependency(%q<mageo>, [">= 0.0.0"])
239
239
  s.add_dependency(%q<malge>, [">= 0.0.1"])
240
240
  s.add_dependency(%q<maset>, [">= 0.0.0"])
241
- s.add_dependency(%q<comana>, [">= 0.0.8"])
241
+ s.add_dependency(%q<comana>, [">= 0.0.9"])
242
242
  s.add_dependency(%q<builtinextension>, [">= 0.0.3"])
243
243
  end
244
244
  end
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.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-18 00:00:00.000000000 Z
12
+ date: 2012-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdoc
16
- requirement: &85401430 !ruby/object:Gem::Requirement
16
+ requirement: &80740170 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.12'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *85401430
24
+ version_requirements: *80740170
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &85401110 !ruby/object:Gem::Requirement
27
+ requirement: &80739710 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.1.3
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *85401110
35
+ version_requirements: *80739710
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &85400730 !ruby/object:Gem::Requirement
38
+ requirement: &80739300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.8.3
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *85400730
46
+ version_requirements: *80739300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &85400380 !ruby/object:Gem::Requirement
49
+ requirement: &80739060 !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: *85400380
57
+ version_requirements: *80739060
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: crystalcell
60
- requirement: &85400010 !ruby/object:Gem::Requirement
60
+ requirement: &80738780 !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: *85400010
68
+ version_requirements: *80738780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mageo
71
- requirement: &85399650 !ruby/object:Gem::Requirement
71
+ requirement: &80738530 !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: *85399650
79
+ version_requirements: *80738530
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: malge
82
- requirement: &85399320 !ruby/object:Gem::Requirement
82
+ requirement: &80738290 !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: *85399320
90
+ version_requirements: *80738290
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: maset
93
- requirement: &85398980 !ruby/object:Gem::Requirement
93
+ requirement: &80738050 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,21 +98,21 @@ dependencies:
98
98
  version: 0.0.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *85398980
101
+ version_requirements: *80738050
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: comana
104
- requirement: &85830120 !ruby/object:Gem::Requirement
104
+ requirement: &80737740 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.0.8
109
+ version: 0.0.9
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *85830120
112
+ version_requirements: *80737740
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: builtinextension
115
- requirement: &85829250 !ruby/object:Gem::Requirement
115
+ requirement: &80737270 !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: *85829250
123
+ version_requirements: *80737270
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: -1045014531
334
+ hash: -929575121
335
335
  required_rubygems_version: !ruby/object:Gem::Requirement
336
336
  none: false
337
337
  requirements: