gs2crmod 0.11.51 → 0.11.53
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/gs2crmod.gemspec +12 -18
- data/lib/gs2crmod/graphs.rb +16 -5
- data/lib/gs2crmod/gsl_data.rb +41 -0
- data/lib/gs2crmod/namelists.rb +242 -13
- metadata +48 -63
- checksums.yaml +0 -7
- data/test/agk_slab_itg_low_kperp.in +0 -212
- data/test/agk_slab_itg_low_kperp.tgz +0 -0
- data/test/cyclone_low_res.in +0 -236
- data/test/cyclone_low_res.tgz +0 -0
- data/test/helper.rb +0 -18
- data/test/slab_itg/dummy +0 -0
- data/test/test_gs2crmod.rb +0 -283
data/Gemfile
CHANGED
@@ -9,8 +9,10 @@ source "http://rubygems.org"
|
|
9
9
|
# Add dependencies to develop your gem here.
|
10
10
|
# Include everything needed to run rake, tests, features, etc.
|
11
11
|
group :development do
|
12
|
-
gem "shoulda", "
|
12
|
+
gem "shoulda", " 3.0.1"
|
13
13
|
gem "rdoc", "~> 3.12"
|
14
14
|
gem "bundler", "> 1.0.0"
|
15
15
|
gem "jeweler", ">= 1.8.4"
|
16
|
+
gem "minitest", "~> 4"
|
17
|
+
#gem "rake-compiler"
|
16
18
|
end
|
data/Rakefile
CHANGED
@@ -24,6 +24,7 @@ Jeweler::Tasks.new do |gem|
|
|
24
24
|
gem.extensions = "ext/extconf.rb"
|
25
25
|
gem.files.include('ext/*.c', 'include/*.h', 'ext/*.rb')
|
26
26
|
gem.required_ruby_version = '>= 1.9.1'
|
27
|
+
gem.files.exclude 'test/**/*'
|
27
28
|
# dependencies defined in Gemfile
|
28
29
|
end
|
29
30
|
Jeweler::RubygemsDotOrgTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.53
|
data/gs2crmod.gemspec
CHANGED
@@ -2,17 +2,14 @@
|
|
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: gs2crmod 0.11.51 ruby lib
|
6
|
-
# stub: ext/extconf.rb
|
7
5
|
|
8
6
|
Gem::Specification.new do |s|
|
9
7
|
s.name = "gs2crmod"
|
10
|
-
s.version = "0.11.
|
8
|
+
s.version = "0.11.53"
|
11
9
|
|
12
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
13
|
-
s.require_paths = ["lib"]
|
14
11
|
s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
|
15
|
-
s.date = "2014-07-
|
12
|
+
s.date = "2014-07-06"
|
16
13
|
s.description = "GS2 is a gyrokinetic flux tube initial value turbulence code which can be used for fusion or astrophysical plasmas. CodeRunner is a framework for the automated running and analysis of large simulations. This module allows GS2 (and its sister code AstroGK) to harness the power of the CodeRunner framework."
|
17
14
|
s.email = "edmundhighcock@sourceforge.net"
|
18
15
|
s.extensions = ["ext/extconf.rb"]
|
@@ -74,49 +71,46 @@ Gem::Specification.new do |s|
|
|
74
71
|
"sync_variables/helper.rb",
|
75
72
|
"sync_variables/sync_variables.rb",
|
76
73
|
"sync_variables_sgk/helper.rb",
|
77
|
-
"sync_variables_sgk/sync_variables_sgk.rb"
|
78
|
-
"test/agk_slab_itg_low_kperp.in",
|
79
|
-
"test/agk_slab_itg_low_kperp.tgz",
|
80
|
-
"test/cyclone_low_res.in",
|
81
|
-
"test/cyclone_low_res.tgz",
|
82
|
-
"test/helper.rb",
|
83
|
-
"test/slab_itg/dummy",
|
84
|
-
"test/test_gs2crmod.rb"
|
74
|
+
"sync_variables_sgk/sync_variables_sgk.rb"
|
85
75
|
]
|
86
76
|
s.homepage = "http://gs2crmod.sourceforge.net"
|
87
77
|
s.licenses = ["GSLv3"]
|
78
|
+
s.require_paths = ["lib"]
|
88
79
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
|
89
|
-
s.rubygems_version = "
|
80
|
+
s.rubygems_version = "1.8.11"
|
90
81
|
s.summary = "Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes."
|
91
82
|
|
92
83
|
if s.respond_to? :specification_version then
|
93
|
-
s.specification_version =
|
84
|
+
s.specification_version = 3
|
94
85
|
|
95
86
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
96
87
|
s.add_runtime_dependency(%q<coderunner>, [">= 0.14.15"])
|
97
88
|
s.add_runtime_dependency(%q<rubyhacks>, [">= 0.1.2"])
|
98
89
|
s.add_runtime_dependency(%q<ruby-netcdf-updated>, [">= 0.6.6.1"])
|
99
|
-
s.add_development_dependency(%q<shoulda>, ["
|
90
|
+
s.add_development_dependency(%q<shoulda>, ["= 3.0.1"])
|
100
91
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
101
92
|
s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
|
102
93
|
s.add_development_dependency(%q<jeweler>, [">= 1.8.4"])
|
94
|
+
s.add_development_dependency(%q<minitest>, ["~> 4"])
|
103
95
|
else
|
104
96
|
s.add_dependency(%q<coderunner>, [">= 0.14.15"])
|
105
97
|
s.add_dependency(%q<rubyhacks>, [">= 0.1.2"])
|
106
98
|
s.add_dependency(%q<ruby-netcdf-updated>, [">= 0.6.6.1"])
|
107
|
-
s.add_dependency(%q<shoulda>, ["
|
99
|
+
s.add_dependency(%q<shoulda>, ["= 3.0.1"])
|
108
100
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
109
101
|
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
110
102
|
s.add_dependency(%q<jeweler>, [">= 1.8.4"])
|
103
|
+
s.add_dependency(%q<minitest>, ["~> 4"])
|
111
104
|
end
|
112
105
|
else
|
113
106
|
s.add_dependency(%q<coderunner>, [">= 0.14.15"])
|
114
107
|
s.add_dependency(%q<rubyhacks>, [">= 0.1.2"])
|
115
108
|
s.add_dependency(%q<ruby-netcdf-updated>, [">= 0.6.6.1"])
|
116
|
-
s.add_dependency(%q<shoulda>, ["
|
109
|
+
s.add_dependency(%q<shoulda>, ["= 3.0.1"])
|
117
110
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
118
111
|
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
119
112
|
s.add_dependency(%q<jeweler>, [">= 1.8.4"])
|
113
|
+
s.add_dependency(%q<minitest>, ["~> 4"])
|
120
114
|
end
|
121
115
|
end
|
122
116
|
|
data/lib/gs2crmod/graphs.rb
CHANGED
@@ -45,6 +45,7 @@ def auto_axiskits(name, options)
|
|
45
45
|
'spectrum_over_kx' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
46
46
|
'zonal_spectrum' => ["Zonal spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
47
47
|
'spectrum_over_ky' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
48
|
+
'es_heat_over_kx' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
|
48
49
|
'es_heat_over_ky' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
|
49
50
|
'es_heat_flux_over_ky_over_kx' => ["Heat flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 2],
|
50
51
|
'spectrum_over_kpar' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
|
@@ -348,7 +349,7 @@ module GraphKits
|
|
348
349
|
|
349
350
|
alias :eigenfunction_graphkit :efn_graphkit
|
350
351
|
|
351
|
-
def
|
352
|
+
def es_heat_vs_ky_vs_kx_graphkit(options={})
|
352
353
|
case options[:command]
|
353
354
|
when :help
|
354
355
|
return "Graph of electrostatic contribution to heat flux at a given time vs kx and ky"
|
@@ -365,18 +366,28 @@ module GraphKits
|
|
365
366
|
end
|
366
367
|
end
|
367
368
|
|
369
|
+
def es_heat_vs_kx_graphkit(options={})
|
370
|
+
case options[:command]
|
371
|
+
when :help
|
372
|
+
return "Heat flux vs kx"
|
373
|
+
when :options
|
374
|
+
return [:species_index]
|
375
|
+
else
|
376
|
+
return es_heat_flux_vs_kxy_graphkit(options.absorb({direction: :kx}))
|
377
|
+
end
|
378
|
+
end
|
368
379
|
def es_heat_vs_ky_graphkit(options={})
|
369
380
|
case options[:command]
|
370
381
|
when :help
|
371
382
|
return "Heat flux vs ky"
|
372
383
|
when :options
|
373
|
-
return [:
|
384
|
+
return [:species_index]
|
374
385
|
else
|
375
386
|
return es_heat_flux_vs_kxy_graphkit(options.absorb({direction: :ky}))
|
376
387
|
end
|
377
388
|
end
|
378
389
|
|
379
|
-
def
|
390
|
+
def es_heat_flux_vs_kxy_graphkit(options={})
|
380
391
|
case options[:command]
|
381
392
|
when :help
|
382
393
|
return "Heat flux vs options[:direction] (kx or ky)"
|
@@ -384,12 +395,12 @@ module GraphKits
|
|
384
395
|
return [:ky_index, :species_index]
|
385
396
|
else
|
386
397
|
kxy = options[:direction]||options[:kxy]
|
387
|
-
kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("
|
398
|
+
kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("es_heat_over_#{kxy}", options)})
|
388
399
|
kit.title = "Heat flux vs #{kxy} for species #{options[:species_index]}"
|
389
400
|
kit.file_name = options[:graphkit_name] + options[:t_index].to_s
|
390
401
|
kit.data[0].with = 'lp'
|
391
|
-
#kit.ylabel = "Phi^2 #{kxy}^2"
|
392
402
|
kit.pointsize = 2.0
|
403
|
+
return kit
|
393
404
|
end
|
394
405
|
end
|
395
406
|
|
data/lib/gs2crmod/gsl_data.rb
CHANGED
@@ -449,6 +449,47 @@ module GSLVectors
|
|
449
449
|
end
|
450
450
|
private :es_heat_by_kxy_over_time_gsl_vector
|
451
451
|
|
452
|
+
def es_heat_over_kx_gsl_vector(options)
|
453
|
+
options[:direction] = :kx
|
454
|
+
es_heat_over_kxy_gsl_vector(options)
|
455
|
+
end
|
456
|
+
def es_heat_over_ky_gsl_vector(options)
|
457
|
+
options[:direction] = :ky
|
458
|
+
es_heat_over_kxy_gsl_vector(options)
|
459
|
+
end
|
460
|
+
|
461
|
+
#This function will output the heat flux as a function of kx or ky.
|
462
|
+
#Default behaviour will be to average the heat flux over the time domain.
|
463
|
+
def es_heat_over_kxy_gsl_vector(options)
|
464
|
+
Dir.chdir(@directory) do
|
465
|
+
kxy = options[:direction]
|
466
|
+
raise "Please provide species_index " unless options[:species_index]
|
467
|
+
if kxy==:ky
|
468
|
+
es_heat = (netcdf_file.var('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
|
469
|
+
#Need to average over time and sum over kx
|
470
|
+
shape = es_heat.shape
|
471
|
+
es_heat_av = []; temp = [];
|
472
|
+
for iy in 0...shape[1]
|
473
|
+
for ix in 0...shape[0]
|
474
|
+
temp[ix] = es_heat[ix,iy,0,0..-1].sum / shape[3]
|
475
|
+
end
|
476
|
+
es_heat_av[iy] = temp.sum
|
477
|
+
end
|
478
|
+
return es_heat_av.to_gslv
|
479
|
+
else
|
480
|
+
es_heat = (netcdf_file.var('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
|
481
|
+
shape = es_heat.shape
|
482
|
+
es_heat_av = []; temp = [];
|
483
|
+
for ix in 0...shape[0]
|
484
|
+
for iy in 0...shape[1]
|
485
|
+
temp[iy] = es_heat[ix,iy,0,0..-1].sum / shape[3]
|
486
|
+
end
|
487
|
+
es_heat_av[ix] = temp.sum
|
488
|
+
end
|
489
|
+
return es_heat_av.to_gslv
|
490
|
+
end
|
491
|
+
end
|
492
|
+
end
|
452
493
|
def phi2_by_kx_over_time_gsl_vector(options)
|
453
494
|
options[:direction] = :kx
|
454
495
|
phi2_by_kxy_over_time_gsl_vector(options)
|
data/lib/gs2crmod/namelists.rb
CHANGED
@@ -402,7 +402,7 @@
|
|
402
402
|
:should_include=>"true",
|
403
403
|
:description=>"",
|
404
404
|
:tests=>["Tst::FLOAT"],
|
405
|
-
:autoscanned_defaults=>[0.0, 0.75],
|
405
|
+
:autoscanned_defaults=>[0.0, 0.20013433062472832, 0.75],
|
406
406
|
:must_pass=>
|
407
407
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
408
408
|
:explanation=>
|
@@ -442,7 +442,7 @@
|
|
442
442
|
:description=>
|
443
443
|
"Flux surface label. Usually rho = diameter/diameter of LCFS",
|
444
444
|
:tests=>["Tst::FLOAT"],
|
445
|
-
:autoscanned_defaults=>[0.5, 0.6, 0.8, 1.0],
|
445
|
+
:autoscanned_defaults=>[0.33, 0.5, 0.6, 0.8, 1.0],
|
446
446
|
:must_pass=>
|
447
447
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
448
448
|
:explanation=>
|
@@ -456,7 +456,7 @@
|
|
456
456
|
:description=>
|
457
457
|
"Sets value of the safety factor when using local toroidal equilibrium model.",
|
458
458
|
:tests=>["Tst::FLOAT"],
|
459
|
-
:autoscanned_defaults=>[1.5],
|
459
|
+
:autoscanned_defaults=>[1.147066305282792, 1.5],
|
460
460
|
:must_pass=>
|
461
461
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
462
462
|
:explanation=>
|
@@ -470,7 +470,7 @@
|
|
470
470
|
:description=>
|
471
471
|
"Sets local elongation when local toroidal equilibrium is specified.",
|
472
472
|
:tests=>["Tst::FLOAT"],
|
473
|
-
:autoscanned_defaults=>[1.0],
|
473
|
+
:autoscanned_defaults=>[1.0, 1.3185652797218639],
|
474
474
|
:must_pass=>
|
475
475
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
476
476
|
:explanation=>
|
@@ -483,7 +483,7 @@
|
|
483
483
|
:should_include=>"true",
|
484
484
|
:description=>"akappri = dkappa/drho",
|
485
485
|
:tests=>["Tst::FLOAT"],
|
486
|
-
:autoscanned_defaults=>[0.0],
|
486
|
+
:autoscanned_defaults=>[-0.006360432757579471, 0.0],
|
487
487
|
:must_pass=>
|
488
488
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
489
489
|
:explanation=>
|
@@ -496,7 +496,7 @@
|
|
496
496
|
:should_include=>"true",
|
497
497
|
:description=>"tri = arcsin[(R(max(Z))-R_major)/r_mid]",
|
498
498
|
:tests=>["Tst::FLOAT"],
|
499
|
-
:autoscanned_defaults=>[0.0],
|
499
|
+
:autoscanned_defaults=>[0.0, 0.004358569789972528],
|
500
500
|
:must_pass=>
|
501
501
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
502
502
|
:explanation=>
|
@@ -509,7 +509,7 @@
|
|
509
509
|
:should_include=>"true",
|
510
510
|
:description=>"tripri = dtri/drho",
|
511
511
|
:tests=>["Tst::FLOAT"],
|
512
|
-
:autoscanned_defaults=>[0.0],
|
512
|
+
:autoscanned_defaults=>[0.0, 0.12435021170306493],
|
513
513
|
:must_pass=>
|
514
514
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
515
515
|
:explanation=>
|
@@ -522,7 +522,7 @@
|
|
522
522
|
:should_include=>"true",
|
523
523
|
:description=>"shift = -R q**2 dbeta/drho (>0)",
|
524
524
|
:tests=>["Tst::FLOAT"],
|
525
|
-
:autoscanned_defaults=>[0.0, 0],
|
525
|
+
:autoscanned_defaults=>[-0.17067265951553612, 0.0, 0],
|
526
526
|
:must_pass=>
|
527
527
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
528
528
|
:explanation=>
|
@@ -642,7 +642,29 @@
|
|
642
642
|
:autoscanned_defaults=>[".false."],
|
643
643
|
:type=>:Fortran_Bool,
|
644
644
|
:code_name=>:gb_to_cv,
|
645
|
-
:module=>:theta_grid}
|
645
|
+
:module=>:theta_grid},
|
646
|
+
:cvdriftknob=>
|
647
|
+
{:should_include=>"true",
|
648
|
+
:description=>"",
|
649
|
+
:help=>"",
|
650
|
+
:code_name=>:cvdriftknob,
|
651
|
+
:must_pass=>
|
652
|
+
[{:test=>"kind_of? Numeric",
|
653
|
+
:explanation=>
|
654
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
655
|
+
:type=>:Float,
|
656
|
+
:autoscanned_defaults=>[1.0]},
|
657
|
+
:gbdriftknob=>
|
658
|
+
{:should_include=>"true",
|
659
|
+
:description=>"",
|
660
|
+
:help=>"",
|
661
|
+
:code_name=>:gbdriftknob,
|
662
|
+
:must_pass=>
|
663
|
+
[{:test=>"kind_of? Numeric",
|
664
|
+
:explanation=>
|
665
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
666
|
+
:type=>:Float,
|
667
|
+
:autoscanned_defaults=>[1.0]}}},
|
646
668
|
:theta_grid_salpha_knobs=>
|
647
669
|
{:description=>"",
|
648
670
|
:should_include=>"true",
|
@@ -937,7 +959,7 @@
|
|
937
959
|
:should_include=>"true",
|
938
960
|
:description=>nil,
|
939
961
|
:tests=>["Tst::FLOAT"],
|
940
|
-
:autoscanned_defaults=>[0.8, 1],
|
962
|
+
:autoscanned_defaults=>[0.0, 0.8, 1],
|
941
963
|
:must_pass=>
|
942
964
|
[{:test=>"kind_of? Float or kind_of? Integer",
|
943
965
|
:explanation=>
|
@@ -1163,7 +1185,17 @@
|
|
1163
1185
|
:explanation=>"This variable must be an integer."}],
|
1164
1186
|
:autoscanned_defaults=>[],
|
1165
1187
|
:type=>:Integer,
|
1166
|
-
:code_name=>:invLp_input}
|
1188
|
+
:code_name=>:invLp_input},
|
1189
|
+
:chs_eq=>
|
1190
|
+
{:should_include=>"true",
|
1191
|
+
:description=>"Use equilbrium data from the CHEASE file ogyropsi.dat",
|
1192
|
+
:help=>"Use equilbrium data from the CHEASE file ogyropsi.dat",
|
1193
|
+
:code_name=>:chs_eq,
|
1194
|
+
:must_pass=>
|
1195
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1196
|
+
:explanation=>
|
1197
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1198
|
+
:type=>:Fortran_Bool}}},
|
1167
1199
|
:le_grids_knobs=>
|
1168
1200
|
{:description=>"PITCH ANGLE/ENERGY GRID SETUP",
|
1169
1201
|
:should_include=>"true",
|
@@ -1762,6 +1794,28 @@
|
|
1762
1794
|
:explanation=>
|
1763
1795
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1764
1796
|
:type=>:Fortran_Bool,
|
1797
|
+
:autoscanned_defaults=>[".false."]},
|
1798
|
+
:wfb_cmr=>
|
1799
|
+
{:should_include=>"true",
|
1800
|
+
:description=>"",
|
1801
|
+
:help=>"",
|
1802
|
+
:code_name=>:wfb_cmr,
|
1803
|
+
:must_pass=>
|
1804
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1805
|
+
:explanation=>
|
1806
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1807
|
+
:type=>:Fortran_Bool,
|
1808
|
+
:autoscanned_defaults=>[".false."]},
|
1809
|
+
:opt_source=>
|
1810
|
+
{:should_include=>"true",
|
1811
|
+
:description=>"",
|
1812
|
+
:help=>"",
|
1813
|
+
:code_name=>:opt_source,
|
1814
|
+
:must_pass=>
|
1815
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1816
|
+
:explanation=>
|
1817
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1818
|
+
:type=>:Fortran_Bool,
|
1765
1819
|
:autoscanned_defaults=>[".false."]}}},
|
1766
1820
|
:fields_knobs=>
|
1767
1821
|
{:description=>"ALGORITHMIC CHOICES",
|
@@ -1863,6 +1917,28 @@
|
|
1863
1917
|
:explanation=>
|
1864
1918
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1865
1919
|
:type=>:Fortran_Bool,
|
1920
|
+
:autoscanned_defaults=>[".false."]},
|
1921
|
+
:field_local_allreduce=>
|
1922
|
+
{:should_include=>"true",
|
1923
|
+
:description=>"",
|
1924
|
+
:help=>"",
|
1925
|
+
:code_name=>:field_local_allreduce,
|
1926
|
+
:must_pass=>
|
1927
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1928
|
+
:explanation=>
|
1929
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1930
|
+
:type=>:Fortran_Bool,
|
1931
|
+
:autoscanned_defaults=>[".false."]},
|
1932
|
+
:field_local_allreduce_sub=>
|
1933
|
+
{:should_include=>"true",
|
1934
|
+
:description=>"",
|
1935
|
+
:help=>"",
|
1936
|
+
:code_name=>:field_local_allreduce_sub,
|
1937
|
+
:must_pass=>
|
1938
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
1939
|
+
:explanation=>
|
1940
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
1941
|
+
:type=>:Fortran_Bool,
|
1866
1942
|
:autoscanned_defaults=>[".false."]}}},
|
1867
1943
|
:knobs=>
|
1868
1944
|
{:description=>"",
|
@@ -2126,6 +2202,18 @@
|
|
2126
2202
|
:explanation=>
|
2127
2203
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2128
2204
|
:type=>:Fortran_Bool,
|
2205
|
+
:autoscanned_defaults=>[".false."]},
|
2206
|
+
:do_eigsolve=>
|
2207
|
+
{:should_include=>"true",
|
2208
|
+
:description=>"",
|
2209
|
+
:help=>
|
2210
|
+
"A new eigenvalue solve mode has been implemented. Contact David Dickinson for details.",
|
2211
|
+
:code_name=>:do_eigsolve,
|
2212
|
+
:must_pass=>
|
2213
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
2214
|
+
:explanation=>
|
2215
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2216
|
+
:type=>:Fortran_Bool,
|
2129
2217
|
:autoscanned_defaults=>[".false."]}}},
|
2130
2218
|
:reinit_knobs=>
|
2131
2219
|
{:description=>"",
|
@@ -2327,6 +2415,28 @@
|
|
2327
2415
|
:explanation=>
|
2328
2416
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2329
2417
|
:type=>:Fortran_Bool,
|
2418
|
+
:autoscanned_defaults=>[".false."]},
|
2419
|
+
:opt_redist_persist=>
|
2420
|
+
{:should_include=>"true",
|
2421
|
+
:description=>"",
|
2422
|
+
:help=>"",
|
2423
|
+
:code_name=>:opt_redist_persist,
|
2424
|
+
:must_pass=>
|
2425
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
2426
|
+
:explanation=>
|
2427
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2428
|
+
:type=>:Fortran_Bool,
|
2429
|
+
:autoscanned_defaults=>[".false."]},
|
2430
|
+
:opt_redist_persist_overlap=>
|
2431
|
+
{:should_include=>"true",
|
2432
|
+
:description=>"",
|
2433
|
+
:help=>"",
|
2434
|
+
:code_name=>:opt_redist_persist_overlap,
|
2435
|
+
:must_pass=>
|
2436
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
2437
|
+
:explanation=>
|
2438
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2439
|
+
:type=>:Fortran_Bool,
|
2330
2440
|
:autoscanned_defaults=>[".false."]}}},
|
2331
2441
|
:collisions_knobs=>
|
2332
2442
|
{:description=>"COLLISIONS",
|
@@ -4792,7 +4902,18 @@
|
|
4792
4902
|
[{:test=>"kind_of? Integer",
|
4793
4903
|
:explanation=>"This variable must be an integer."}],
|
4794
4904
|
:type=>:Integer,
|
4795
|
-
:autoscanned_defaults=>[
|
4905
|
+
:autoscanned_defaults=>[10000]},
|
4906
|
+
:use_nonlin_convergence=>
|
4907
|
+
{:should_include=>"true",
|
4908
|
+
:description=>"",
|
4909
|
+
:help=>"",
|
4910
|
+
:code_name=>:use_nonlin_convergence,
|
4911
|
+
:must_pass=>
|
4912
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
4913
|
+
:explanation=>
|
4914
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
4915
|
+
:type=>:Fortran_Bool,
|
4916
|
+
:autoscanned_defaults=>[".false."]}},
|
4796
4917
|
:help=>
|
4797
4918
|
"Controls what information is output by GS2 during and at the end of a simulation."},
|
4798
4919
|
:testgridgen=>
|
@@ -6118,4 +6239,112 @@
|
|
6118
6239
|
:explanation=>
|
6119
6240
|
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
6120
6241
|
:type=>:Fortran_Bool,
|
6121
|
-
:autoscanned_defaults=>[".true."]}}}
|
6242
|
+
:autoscanned_defaults=>[".true."]}}},
|
6243
|
+
:eigval_knobs=>
|
6244
|
+
{:description=>"",
|
6245
|
+
:should_include=>"true",
|
6246
|
+
:variables=>
|
6247
|
+
{:n_eig=>
|
6248
|
+
{:should_include=>"true",
|
6249
|
+
:description=>"",
|
6250
|
+
:help=>"",
|
6251
|
+
:code_name=>:n_eig,
|
6252
|
+
:must_pass=>
|
6253
|
+
[{:test=>"kind_of? Integer",
|
6254
|
+
:explanation=>"This variable must be an integer."}],
|
6255
|
+
:type=>:Integer,
|
6256
|
+
:autoscanned_defaults=>[1]},
|
6257
|
+
:max_iter=>
|
6258
|
+
{:should_include=>"true",
|
6259
|
+
:description=>"",
|
6260
|
+
:help=>"",
|
6261
|
+
:code_name=>:max_iter,
|
6262
|
+
:must_pass=>
|
6263
|
+
[{:test=>"kind_of? Integer",
|
6264
|
+
:explanation=>"This variable must be an integer."}],
|
6265
|
+
:type=>:Integer,
|
6266
|
+
:autoscanned_defaults=>["PETSC_DECIDE"]},
|
6267
|
+
:tolerance=>
|
6268
|
+
{:should_include=>"true",
|
6269
|
+
:description=>"",
|
6270
|
+
:help=>"",
|
6271
|
+
:code_name=>:tolerance,
|
6272
|
+
:must_pass=>
|
6273
|
+
[{:test=>"kind_of? Numeric",
|
6274
|
+
:explanation=>
|
6275
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
6276
|
+
:type=>:Float,
|
6277
|
+
:autoscanned_defaults=>[1.0e-06]},
|
6278
|
+
:solver_option=>
|
6279
|
+
{:should_include=>"true",
|
6280
|
+
:description=>"",
|
6281
|
+
:help=>"",
|
6282
|
+
:code_name=>:solver_option,
|
6283
|
+
:must_pass=>
|
6284
|
+
[{:test=>"kind_of? String",
|
6285
|
+
:explanation=>"This variable must be a string."}],
|
6286
|
+
:type=>:String,
|
6287
|
+
:autoscanned_defaults=>["default"]},
|
6288
|
+
:extraction_option=>
|
6289
|
+
{:should_include=>"true",
|
6290
|
+
:description=>"",
|
6291
|
+
:help=>"",
|
6292
|
+
:code_name=>:extraction_option,
|
6293
|
+
:must_pass=>
|
6294
|
+
[{:test=>"kind_of? String",
|
6295
|
+
:explanation=>"This variable must be a string."}],
|
6296
|
+
:type=>:String,
|
6297
|
+
:autoscanned_defaults=>["default"]},
|
6298
|
+
:which_option=>
|
6299
|
+
{:should_include=>"true",
|
6300
|
+
:description=>"",
|
6301
|
+
:help=>"",
|
6302
|
+
:code_name=>:which_option,
|
6303
|
+
:must_pass=>
|
6304
|
+
[{:test=>"kind_of? String",
|
6305
|
+
:explanation=>"This variable must be a string."}],
|
6306
|
+
:type=>:String,
|
6307
|
+
:autoscanned_defaults=>["default"]},
|
6308
|
+
:transform_option=>
|
6309
|
+
{:should_include=>"true",
|
6310
|
+
:description=>"",
|
6311
|
+
:help=>"",
|
6312
|
+
:code_name=>:transform_option,
|
6313
|
+
:must_pass=>
|
6314
|
+
[{:test=>"kind_of? String",
|
6315
|
+
:explanation=>"This variable must be a string."}],
|
6316
|
+
:type=>:String,
|
6317
|
+
:autoscanned_defaults=>["default"]},
|
6318
|
+
:targ_re=>
|
6319
|
+
{:should_include=>"true",
|
6320
|
+
:description=>"",
|
6321
|
+
:help=>"",
|
6322
|
+
:code_name=>:targ_re,
|
6323
|
+
:must_pass=>
|
6324
|
+
[{:test=>"kind_of? Numeric",
|
6325
|
+
:explanation=>
|
6326
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
6327
|
+
:type=>:Float,
|
6328
|
+
:autoscanned_defaults=>[0.5]},
|
6329
|
+
:targ_im=>
|
6330
|
+
{:should_include=>"true",
|
6331
|
+
:description=>"",
|
6332
|
+
:help=>"",
|
6333
|
+
:code_name=>:targ_im,
|
6334
|
+
:must_pass=>
|
6335
|
+
[{:test=>"kind_of? Numeric",
|
6336
|
+
:explanation=>
|
6337
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
6338
|
+
:type=>:Float,
|
6339
|
+
:autoscanned_defaults=>[0.5]},
|
6340
|
+
:use_ginit=>
|
6341
|
+
{:should_include=>"true",
|
6342
|
+
:description=>"",
|
6343
|
+
:help=>"",
|
6344
|
+
:code_name=>:use_ginit,
|
6345
|
+
:must_pass=>
|
6346
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
6347
|
+
:explanation=>
|
6348
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
6349
|
+
:type=>:Fortran_Bool,
|
6350
|
+
:autoscanned_defaults=>[".false."]}}}}
|