trinitycrmod 0.3.4 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cdfa113a308bd0cdfe87e5b755b56cc991ee4bda
4
- data.tar.gz: 486acf196cda252ce6a88ffbbfbec16ab0714b0d
3
+ metadata.gz: 45addc2aec59dee48597a236e7badca79c0ff97d
4
+ data.tar.gz: c5754e7e66463e83b3a5ed3e3697bff877e85ffb
5
5
  SHA512:
6
- metadata.gz: 68eede8d4fedd1ddec89331a982c580499b49d1713e0a26cb898645a86370934fb0e8249098e252fff76bc6a649c2e4804f15ab533f13b14e2cf31b53042529a
7
- data.tar.gz: 31c2a4af632f31f77a401bbcd0ad599ce6d2256db0f9d9345f21bd83cc6e1b24658f370ce556a67d81505c1a8edbd7753cc0cf66f4fd6db2c5f29ca3af09b8fd
6
+ metadata.gz: eee87a5a162a34d23d9195c1b2279362a6e6d56ae1a54ad034a306080fa9ceab4fabd47b5c18705ac7198d7a45ff776a97c658c9424e9a7a55f0911dcc995df4
7
+ data.tar.gz: 157219eb32d5697710a2b8d8555e8deeeeac6a65cd8a4949f21099c2a8b9a6c68fd3319319314153997f7e3cf265134a61f6f700e7c95f68d34dfe932133f3bd
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.1"
4
+ gem "coderunner", ">= 0.14.2"
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.4
1
+ 0.3.5
@@ -0,0 +1,18 @@
1
+
2
+ class CodeRunner::Trinity
3
+ # Functions to return the values of parameters if they are not set in CodeRunner.
4
+ # These must be manually kept in sync with Trinity... let's keep their number down
5
+ # to a minimum
6
+ module ActualParameterValues
7
+ def dflx_stencil_actual
8
+ @dflx_stencil or 2
9
+ end
10
+ def evolve_grads_only_actual
11
+ @evolve_grads_only or ".true."
12
+ end
13
+ def fork_flag_actual
14
+ @fork_flag or ".true."
15
+ end
16
+ end
17
+ include ActualParameterValues
18
+ end
@@ -0,0 +1,27 @@
1
+
2
+ class CodeRunner::Trinity
3
+ def check_parameters
4
+
5
+ check_geometery
6
+ check_parallelisation
7
+ check_flux_option
8
+
9
+ end
10
+
11
+ def check_geometery
12
+ error( "Can't find geo_file #@geo_file (the path of geo file should be either absolute or set relative to the run folder #@directory). If you are not using a geometry file for this run please unset the parameter geo_file.") if @geo_file and not FileTest.exist? @geo_file
13
+ end
14
+
15
+ def check_parallelisation
16
+ error("nrad must be explicitly specified") unless @nrad
17
+ error("Number of jobs: #{n_flux_tubes} must evenly divide the number of processors: #{actual_number_of_processors} when fork_flag is .true.") if fork_flag_actual.fortran_true? and not actual_number_of_processors%n_flux_tubes == 0
18
+
19
+ end
20
+
21
+ def check_flux_option
22
+ if @flux_option == "gs2"
23
+ error("subfolders must be .true. ") unless @subfolders and @subfolders.fortran_true?
24
+ end
25
+ end
26
+ end
27
+
@@ -18,6 +18,8 @@ class CodeRunner
18
18
  require 'trinitycrmod/output_files'
19
19
  require 'trinitycrmod/graphs'
20
20
  require 'trinitycrmod/trinity_gs2'
21
+ require 'trinitycrmod/check_parameters'
22
+ require 'trinitycrmod/actual_parameter_values'
21
23
 
22
24
  # Setup gs2 in case people are using it
23
25
  CodeRunner.setup_run_class('gs2')
@@ -84,30 +86,39 @@ class CodeRunner
84
86
  # This is a hook which gets called just before submitting a simulation. It sets up the folder and generates any necessary input files.
85
87
  def generate_input_file
86
88
  @run_name += "_t"
89
+ check_parameters
87
90
  write_input_file
88
91
  generate_gs2_input_files if @flux_option == "gs2"
89
92
  end
90
93
 
94
+
91
95
  # The number of separate flux tube results needed for the jacobian
92
96
  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
97
+ d1 = dflx_stencil_actual - 1
98
+ ngrads =d1 * case @grad_option
99
+ when "tigrad", "ngrad", "lgrad"
100
+ 1
101
+ when "tgrads"
102
+ 2
103
+ when "ltgrads", "ntgrads"
104
+ 3
105
+ when "all"
106
+ 4
107
+ else
108
+ raise "unknown grad_option: #@grad_option"
109
+ end
110
+ if evolve_grads_only_actual.fortran_true?
111
+ njac = ngrads + 1
112
+ else
113
+ njac = 2*ngrads+1
114
+ end
115
+ #p 'nraaad', @nrad
116
+ (@nrad-1) * njac
105
117
  end
106
118
  # Writes the gs2 input files, creating separate subfolders
107
119
  # for them if @subfolders is .true.
108
120
  def generate_gs2_input_files
109
121
  # At the moment we must use subfolders
110
- raise "subfolders must be .true. " unless @subfolders and @subfolders.fortran_true?
111
122
  for i in 0...n_flux_tubes
112
123
  #gs2run = gs2_run(:base).dup
113
124
  #gs2_run(i).instance_variables.each do |var|
data/trinitycrmod.gemspec CHANGED
@@ -2,16 +2,16 @@
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.4 ruby lib
5
+ # stub: trinitycrmod 0.3.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "trinitycrmod"
9
- s.version = "0.3.4"
9
+ s.version = "0.3.5"
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"]
13
13
  s.authors = ["Edmund Highcock"]
14
- s.date = "2014-02-04"
14
+ s.date = "2014-02-06"
15
15
  s.description = "This module allows Trinity, the Multiscale Gyrokinetic Turbulent Transport solver for Fusion Reactors, to harness the power of CodeRunner, a framework for the automated running and analysis of simulations."
16
16
  s.email = "edmundhighcock@sourceforge.net"
17
17
  s.extra_rdoc_files = [
@@ -26,6 +26,8 @@ Gem::Specification.new do |s|
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "lib/trinitycrmod.rb",
29
+ "lib/trinitycrmod/actual_parameter_values.rb",
30
+ "lib/trinitycrmod/check_parameters.rb",
29
31
  "lib/trinitycrmod/deleted_variables.rb",
30
32
  "lib/trinitycrmod/graphs.rb",
31
33
  "lib/trinitycrmod/namelists.rb",
@@ -45,7 +47,7 @@ Gem::Specification.new do |s|
45
47
  s.specification_version = 4
46
48
 
47
49
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
- s.add_runtime_dependency(%q<coderunner>, [">= 0.14.1"])
50
+ s.add_runtime_dependency(%q<coderunner>, [">= 0.14.2"])
49
51
  s.add_runtime_dependency(%q<text-data-tools>, [">= 1.1.3"])
50
52
  s.add_runtime_dependency(%q<gs2crmod>, [">= 0.11.10"])
51
53
  s.add_development_dependency(%q<shoulda>, [">= 0"])
@@ -53,7 +55,7 @@ Gem::Specification.new do |s|
53
55
  s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
54
56
  s.add_development_dependency(%q<jeweler>, [">= 2.0.0"])
55
57
  else
56
- s.add_dependency(%q<coderunner>, [">= 0.14.1"])
58
+ s.add_dependency(%q<coderunner>, [">= 0.14.2"])
57
59
  s.add_dependency(%q<text-data-tools>, [">= 1.1.3"])
58
60
  s.add_dependency(%q<gs2crmod>, [">= 0.11.10"])
59
61
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -62,7 +64,7 @@ Gem::Specification.new do |s|
62
64
  s.add_dependency(%q<jeweler>, [">= 2.0.0"])
63
65
  end
64
66
  else
65
- s.add_dependency(%q<coderunner>, [">= 0.14.1"])
67
+ s.add_dependency(%q<coderunner>, [">= 0.14.2"])
66
68
  s.add_dependency(%q<text-data-tools>, [">= 1.1.3"])
67
69
  s.add_dependency(%q<gs2crmod>, [">= 0.11.10"])
68
70
  s.add_dependency(%q<shoulda>, [">= 0"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trinitycrmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Highcock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
11
+ date: 2014-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coderunner
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.14.1
19
+ version: 0.14.2
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.1
26
+ version: 0.14.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: text-data-tools
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -125,6 +125,8 @@ files:
125
125
  - Rakefile
126
126
  - VERSION
127
127
  - lib/trinitycrmod.rb
128
+ - lib/trinitycrmod/actual_parameter_values.rb
129
+ - lib/trinitycrmod/check_parameters.rb
128
130
  - lib/trinitycrmod/deleted_variables.rb
129
131
  - lib/trinitycrmod/graphs.rb
130
132
  - lib/trinitycrmod/namelists.rb