trinitycrmod 0.3.3 → 0.3.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 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