gs2crmod 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/gs2crmod.gemspec +3 -2
- data/lib/gs2crmod/calculations.rb +4 -1
- data/lib/gs2crmod/gs2.rb +4 -0
- data/lib/gs2crmod/ingen.rb +10 -0
- data/lib/gs2crmod/spectrogk/namelists.rb +48 -0
- data/lib/gs2crmod/spectrogk.rb +3 -1
- data/test/slab_itg/dummy +0 -0
- data/test/test_gs2crmod.rb +2 -0
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.1
|
data/gs2crmod.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "gs2crmod"
|
8
|
-
s.version = "0.8.
|
8
|
+
s.version = "0.8.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
|
12
|
-
s.date = "2013-07-
|
12
|
+
s.date = "2013-07-17"
|
13
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."
|
14
14
|
s.email = "edmundhighcock@sourceforge.net"
|
15
15
|
s.extensions = ["ext/extconf.rb"]
|
@@ -69,6 +69,7 @@ Gem::Specification.new do |s|
|
|
69
69
|
"test/cyclone_low_res.in",
|
70
70
|
"test/cyclone_low_res.tgz",
|
71
71
|
"test/helper.rb",
|
72
|
+
"test/slab_itg/dummy",
|
72
73
|
"test/test_gs2crmod.rb"
|
73
74
|
]
|
74
75
|
s.homepage = "http://gs2crmod.sourceforge.net"
|
@@ -373,7 +373,10 @@ def calculate_growth_rate(vector, options={})
|
|
373
373
|
raise "This vector should be positive definite" if vector.min < 0.0
|
374
374
|
offset = 0
|
375
375
|
length = vector.length
|
376
|
-
|
376
|
+
while vector[offset] == 0.0
|
377
|
+
offset+=1
|
378
|
+
return 0.0 if offset == vector.length
|
379
|
+
end
|
377
380
|
growth_rate = GSL::Fit::linear(gsl_vector(:t).subvector(offset, length-offset), 0.5*GSL::Sf::log(vector.subvector(offset, length - offset)))[1]
|
378
381
|
divisor = 1
|
379
382
|
while (growth_rate.to_s == "NaN")
|
data/lib/gs2crmod/gs2.rb
CHANGED
data/lib/gs2crmod/ingen.rb
CHANGED
@@ -209,6 +209,16 @@ def ingen
|
|
209
209
|
|
210
210
|
warning("The correct BC is not being implemented. Preferably specify nonad_zero = true in input file.") if (not (@nonad_zero and @nonad_zero.fortran_true?) and not agk?)
|
211
211
|
|
212
|
+
###################
|
213
|
+
# Spectrogk tests #
|
214
|
+
###################
|
215
|
+
#
|
216
|
+
if spectrogk?
|
217
|
+
if @force_5d and @force_5d.fortran_true?
|
218
|
+
warning("Must specify interpolation method with phi_method.") if not (@phi_method)
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
212
222
|
end
|
213
223
|
|
214
224
|
# A hash which gives the actual numbers of gridpoints indexed by their corresponding letters in the layout string.
|
@@ -2675,6 +2675,17 @@
|
|
2675
2675
|
:explanation=>
|
2676
2676
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
2677
2677
|
:type=>:Float},
|
2678
|
+
:nu_p=>
|
2679
|
+
{:should_include=>"true",
|
2680
|
+
:description=>nil,
|
2681
|
+
:help=>nil,
|
2682
|
+
:tests=>["Tst::FLOAT"],
|
2683
|
+
:code_name=>:nu_p,
|
2684
|
+
:must_pass=>
|
2685
|
+
[{:test=>"kind_of? Numeric",
|
2686
|
+
:explanation=>
|
2687
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
2688
|
+
:type=>:Float},
|
2678
2689
|
:nexp_h=>
|
2679
2690
|
{:should_include=>"true",
|
2680
2691
|
:description=>nil,
|
@@ -2686,6 +2697,17 @@
|
|
2686
2697
|
:explanation=>
|
2687
2698
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
2688
2699
|
:type=>:Float},
|
2700
|
+
:nexp_p=>
|
2701
|
+
{:should_include=>"true",
|
2702
|
+
:description=>nil,
|
2703
|
+
:help=>nil,
|
2704
|
+
:tests=>["Tst::FLOAT"],
|
2705
|
+
:code_name=>:nexp_p,
|
2706
|
+
:must_pass=>
|
2707
|
+
[{:test=>"kind_of? Numeric",
|
2708
|
+
:explanation=>
|
2709
|
+
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
2710
|
+
:type=>:Float},
|
2689
2711
|
:adapt_hc=>
|
2690
2712
|
{:should_include=>"true",
|
2691
2713
|
:description=>nil,
|
@@ -2763,6 +2785,32 @@
|
|
2763
2785
|
:explanation=>
|
2764
2786
|
"This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
|
2765
2787
|
:type=>:Float}}},
|
2788
|
+
:parameters_knobs=>
|
2789
|
+
{:description=>"",
|
2790
|
+
:should_include=>"true",
|
2791
|
+
:variables=>
|
2792
|
+
{:force_5d=>
|
2793
|
+
{:should_include=>"true",
|
2794
|
+
:description=>"Force code to include Hankel space",
|
2795
|
+
:help=>nil,
|
2796
|
+
:tests=>["Tst::FORTRAN_BOOL"],
|
2797
|
+
:code_name=>:force_5d,
|
2798
|
+
:must_pass=>
|
2799
|
+
[{:test=>"kind_of? String and FORTRAN_BOOLS.include? self",
|
2800
|
+
:explanation=>
|
2801
|
+
"This variable must be a fortran boolean. (In Ruby this is represented as a string: e.g. '.true.')"}],
|
2802
|
+
:type=>:Fortran_Bool},
|
2803
|
+
:phi_method=>
|
2804
|
+
{:should_include=>"true",
|
2805
|
+
:description=>"Method of determining fields from the distribution in Hankel space",
|
2806
|
+
:help=>
|
2807
|
+
"Should the nonlinear terms be calculated?\n \n** 'none', 'default', 'off': Do not include nonlinear terms, i.e. run a linear calculation.\n** 'on' Include nonlinear terms.",
|
2808
|
+
:tests=>["Tst::STRING"],
|
2809
|
+
:code_name=>:phi_method,
|
2810
|
+
:must_pass=>
|
2811
|
+
[{:test=>"kind_of? String",
|
2812
|
+
:explanation=>"This variable must be a string."}],
|
2813
|
+
:type=>:String}}},
|
2766
2814
|
:theta_grid=>
|
2767
2815
|
{:description=>"",
|
2768
2816
|
:should_include=>"true",
|
data/lib/gs2crmod/spectrogk.rb
CHANGED
data/test/slab_itg/dummy
ADDED
File without changes
|
data/test/test_gs2crmod.rb
CHANGED
@@ -217,5 +217,7 @@ class TestBasicsSpectroGK < Test::Unit::TestCase
|
|
217
217
|
def test_variables
|
218
218
|
assert_equal(Hash, @runner.run_class.rcp.namelists.class)
|
219
219
|
assert_equal(@runner.run_class.rcp.namelists[:layouts_knobs].class, Hash)
|
220
|
+
assert_equal(@runner.run_class.rcp.namelists[:parameters_knobs].class, Hash)
|
221
|
+
assert_equal(@runner.run_class.rcp.namelists[:parameters_knobs][:variables][:force_5d].class, Hash)
|
220
222
|
end
|
221
223
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gs2crmod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-07-
|
13
|
+
date: 2013-07-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: coderunner
|
@@ -155,6 +155,7 @@ files:
|
|
155
155
|
- test/cyclone_low_res.in
|
156
156
|
- test/cyclone_low_res.tgz
|
157
157
|
- test/helper.rb
|
158
|
+
- test/slab_itg/dummy
|
158
159
|
- test/test_gs2crmod.rb
|
159
160
|
homepage: http://gs2crmod.sourceforge.net
|
160
161
|
licenses:
|