trinitycrmod 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5e545c1e6f3e5425538c03f8c5efc2c8a1d84b71
4
- data.tar.gz: adccdd76ebf0aac64282417a6c8bd05479e8617c
3
+ metadata.gz: cdfa113a308bd0cdfe87e5b755b56cc991ee4bda
4
+ data.tar.gz: 486acf196cda252ce6a88ffbbfbec16ab0714b0d
5
5
  SHA512:
6
- metadata.gz: 791f4c288cef9b7fab577ab24527e1a7ac0fac36ba77af0e6417cd363597390f7b0611d4207e9f4157817386c1ec11b4358cc4050c5e4a4f792a26732abaa925
7
- data.tar.gz: 63a16a90caa5c4607be2033f4786ea07c2345b0948cccd6bbc50c6e3484b49c483cf16689033b115bdc03ffa79d6fc14c9e6dcd27b46c959affe8bdbea7a9655
6
+ metadata.gz: 68eede8d4fedd1ddec89331a982c580499b49d1713e0a26cb898645a86370934fb0e8249098e252fff76bc6a649c2e4804f15ab533f13b14e2cf31b53042529a
7
+ data.tar.gz: 31c2a4af632f31f77a401bbcd0ad599ce6d2256db0f9d9345f21bd83cc6e1b24658f370ce556a67d81505c1a8edbd7753cc0cf66f4fd6db2c5f29ca3af09b8fd
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
- gem "coderunner", ">= 0.14.0"
4
+ gem "coderunner", ">= 0.14.1"
5
5
  gem "text-data-tools", ">= 1.1.3"
6
6
  gem "gs2crmod", ">=0.11.10"
7
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.4
@@ -73,12 +73,12 @@ class CodeRunner
73
73
  beginning
74
74
  end
75
75
 
76
- def self.load(dir, runner)
77
- run = super(dir, runner)
78
- grun_list = run.instance_variable_get(:@gs2_run_list)
79
- grun_list.values.each{|r| r.runner=runner} if grun_list.kind_of? Hash
80
- run
81
- end
76
+ #def self.load(dir, runner)
77
+ #run = super(dir, runner)
78
+ #grun_list = run.instance_variable_get(:@gs2_run_list)
79
+ #grun_list.values.each{|r| r.runner=runner} if grun_list.kind_of? Hash
80
+ #run
81
+ #end
82
82
 
83
83
 
84
84
  # This is a hook which gets called just before submitting a simulation. It sets up the folder and generates any necessary input files.
@@ -88,16 +88,33 @@ class CodeRunner
88
88
  generate_gs2_input_files if @flux_option == "gs2"
89
89
  end
90
90
 
91
+ # The number of separate flux tube results needed for the jacobian
92
+ def n_flux_tubes
93
+ neqs = case @grad_option
94
+ when "ntgrads"
95
+ 4
96
+ when "tgrads"
97
+ 3
98
+ when "tigrad"
99
+ 2
100
+ else
101
+ raise "unknown grad_option: #@grad_option"
102
+ end
103
+ p 'nraaad', @nrad
104
+ (@nrad-1) * neqs
105
+ end
91
106
  # Writes the gs2 input files, creating separate subfolders
92
107
  # for them if @subfolders is .true.
93
108
  def generate_gs2_input_files
94
109
  # At the moment we must use subfolders
95
110
  raise "subfolders must be .true. " unless @subfolders and @subfolders.fortran_true?
96
- for i in 0...(@nrad-1)*2
97
- gs2run = gs2_run(:base).dup
98
- gs2_run(i).instance_variables.each do |var|
99
- gs2run.instance_variable_set(var, gs2_run(i).instance_variable_get(var))
100
- end
111
+ for i in 0...n_flux_tubes
112
+ #gs2run = gs2_run(:base).dup
113
+ #gs2_run(i).instance_variables.each do |var|
114
+ #gs2run.instance_variable_set(var, gs2_run(i).instance_variable_get(var))
115
+ #end
116
+ gs2run = gs2_runs[i]
117
+ #p ['i',i]
101
118
  if @subfolders and @subfolders.fortran_true?
102
119
  gs2run.directory = @directory + "/flux_tube_#{i+1}"
103
120
  FileUtils.makedirs(gs2run.directory)
@@ -146,11 +163,12 @@ class CodeRunner
146
163
 
147
164
  def generate_component_runs
148
165
  #puts "HERE"
149
- @component_runs = []
166
+ @component_runs ||= []
150
167
  if @flux_option == "gs2"
151
168
  #puts "HERE"
152
- for i in 0...(@nrad-1)*2
153
- component = gs2_run(i).create_component
169
+
170
+ for i in 0...n_flux_tubes
171
+ component = (@component_runs[i] ||= Gs2.new(@runner).create_component)
154
172
  component.component_runs = []
155
173
  #component.runner = nil
156
174
  #pp component; STDIN.gets
@@ -159,9 +177,14 @@ class CodeRunner
159
177
  #pp component; STDIN.gets
160
178
  #p component.class
161
179
  component.job_no = @job_no
162
- Dir.chdir("flux_tube_#{i+1}"){component.process_directory}
180
+ component.status = @status
181
+ #p ["HERE2", @component_runs.size, @component_runs[i]]
182
+ #Dir.chdir(@directory) {
183
+ compdir = "flux_tube_#{i+1}"
184
+ Dir.chdir(compdir){component.process_directory} if FileTest.exist? compdir
185
+ #}
163
186
  component.component_runs = []
164
- @component_runs.push component
187
+ #@component_runs.push component
165
188
  component.real_id = @id
166
189
  #@gs2_run_list[i] = component
167
190
  #pp component; STDIN.gets
@@ -175,8 +198,9 @@ class CodeRunner
175
198
 
176
199
 
177
200
  def save
178
- @gs2_run_list.values.each{|r| r.runner = nil; r.component_runs = []} if @gs2_run_list.kind_of? Hash
201
+ #@gs2_run_list.values.each{|r| r.runner = nil; r.component_runs = []} if @gs2_run_list.kind_of? Hash
179
202
  super
203
+ #@gs2_run_list.values.each{|r| r.runner = @runner} if @gs2_run_list.kind_of? Hash
180
204
 
181
205
  #logf(:save)
182
206
  #raise CRFatal.new("Something has gone horribly wrong: runner.class is #{@runner.class} instead of CodeRunner") unless @runner.class.to_s == "CodeRunner"
@@ -28,9 +28,12 @@ class CodeRunner
28
28
  CodeRunner::Gs2.make_new_defaults_file(name + '_gs2tmp', gs2_input_file)
29
29
 
30
30
  File.open(defaults_filename, 'a'){|file| file.puts <<EOF2
31
- gs2_run(:base).instance_eval do
31
+ gs2_runs.each do |run|
32
+ run.instance_eval do
32
33
  #{File.read(tmp_filename).gsub(/\A|\n/, "\n ")}
33
34
  end
35
+ end
36
+
34
37
 
35
38
  EOF2
36
39
 
@@ -41,14 +44,19 @@ EOF2
41
44
 
42
45
  end
43
46
 
44
- def gs2_run(key)
45
- @gs2_run_list ||= {}
46
- @gs2_run_list[key] ||= Gs2.new(@runner)
47
- #if key != :base
48
- #raise "key in gs2_run must be either :base or an integer" unless key.kind_of? Integer
49
- #@gs2_run_list[key] ||= @gs2_run_list[:base].dup
50
- #end
51
- @gs2_run_list[key]
47
+ def gs2_runs
48
+ #puts "2@COMMMMMMMMMMMMMPOOOOOOOOOOOOOONNNETN", @component_runs
49
+ generate_component_runs if not (@component_runs and @component_runs.size > 0)
50
+ #p ["@COMMMMMMMMMMMMMPOOOOOOOOOOOOOONNNETN", @component_runs]
51
+ @component_runs
52
+ #@gs2_run_list ||= {}
53
+ #raise TypeError.new("@runner is nil") if @runner.nil?
54
+ #@gs2_run_list[key] ||= Gs2.new(@runner)
55
+ ##if key != :base
56
+ ##raise "key in gs2_run must be either :base or an integer" unless key.kind_of? Integer
57
+ ##@gs2_run_list[key] ||= @gs2_run_list[:base].dup
58
+ ##end
59
+ #@gs2_run_list[key]
52
60
  end
53
61
 
54
62
  # Override standard CodeRunner method to allow for Gs2 variables
data/trinitycrmod.gemspec CHANGED
@@ -2,11 +2,11 @@
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: trinitycrmod 0.3.3 ruby lib
5
+ # stub: trinitycrmod 0.3.4 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "trinitycrmod"
9
- s.version = "0.3.3"
9
+ s.version = "0.3.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"]
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
45
45
  s.specification_version = 4
46
46
 
47
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
- s.add_runtime_dependency(%q<coderunner>, [">= 0.14.0"])
48
+ s.add_runtime_dependency(%q<coderunner>, [">= 0.14.1"])
49
49
  s.add_runtime_dependency(%q<text-data-tools>, [">= 1.1.3"])
50
50
  s.add_runtime_dependency(%q<gs2crmod>, [">= 0.11.10"])
51
51
  s.add_development_dependency(%q<shoulda>, [">= 0"])
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
53
53
  s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
54
54
  s.add_development_dependency(%q<jeweler>, [">= 2.0.0"])
55
55
  else
56
- s.add_dependency(%q<coderunner>, [">= 0.14.0"])
56
+ s.add_dependency(%q<coderunner>, [">= 0.14.1"])
57
57
  s.add_dependency(%q<text-data-tools>, [">= 1.1.3"])
58
58
  s.add_dependency(%q<gs2crmod>, [">= 0.11.10"])
59
59
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -62,7 +62,7 @@ Gem::Specification.new do |s|
62
62
  s.add_dependency(%q<jeweler>, [">= 2.0.0"])
63
63
  end
64
64
  else
65
- s.add_dependency(%q<coderunner>, [">= 0.14.0"])
65
+ s.add_dependency(%q<coderunner>, [">= 0.14.1"])
66
66
  s.add_dependency(%q<text-data-tools>, [">= 1.1.3"])
67
67
  s.add_dependency(%q<gs2crmod>, [">= 0.11.10"])
68
68
  s.add_dependency(%q<shoulda>, [">= 0"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trinitycrmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Highcock
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.14.0
19
+ version: 0.14.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.14.0
26
+ version: 0.14.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: text-data-tools
29
29
  requirement: !ruby/object:Gem::Requirement