gs2crmod 0.9.10 → 0.9.11
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.
- data/VERSION +1 -1
- data/gs2crmod.gemspec +2 -2
- data/lib/gs2crmod/graphs.rb +44 -0
- data/lib/gs2crmod/gsl_data.rb +23 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.11
|
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.9.
|
8
|
+
s.version = "0.9.11"
|
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-08-
|
12
|
+
s.date = "2013-08-19"
|
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"]
|
data/lib/gs2crmod/graphs.rb
CHANGED
@@ -23,6 +23,8 @@ def auto_axiskits(name, options)
|
|
23
23
|
'tpar2_by_mode_over_time' => ["(delta T_parallel)^2 by mode", '%'],
|
24
24
|
'tperp2_by_mode_over_time' => ["(delta T_perp)^2 by mode", '%'],
|
25
25
|
'hflux_tot' => ['Total Heat Flux', ''],
|
26
|
+
'es_heat_par' => ['Parallel electrostatic heat flux', ''],
|
27
|
+
'es_heat_perp' => ['Perpendicular electrostatic heat flux', ''],
|
26
28
|
'ky' => ['ky', "1/rho_#{species_letter}"],
|
27
29
|
'kx' => ['kx', "1/rho_#{species_letter}"],
|
28
30
|
'kpar' => ['kpar', "2 pi/qR"],
|
@@ -75,6 +77,13 @@ def axiskit(name, options={})
|
|
75
77
|
units = ''
|
76
78
|
return GraphKit::AxisKit.autocreate(data: gsl_vector('es_heat_flux_over_time', options), title: "#{type} Heat Flux", units: units)
|
77
79
|
# when 'spectrum_by_ky'
|
80
|
+
# return AxisKit.autocreate(data: gsl_vector('spectrum_by_ky', options), title: "Phi^2 at t = #{list(:t)[options[:t_index]]}", units: '')
|
81
|
+
when 'es_heat_par'
|
82
|
+
puts "heat par"
|
83
|
+
type = species_type(options[:species_index]).capitalize
|
84
|
+
units = ''
|
85
|
+
return GraphKit::AxisKit.autocreate(data: gsl_vector('es_heat_par_over_time', options), title: "#{type} parallel es heat flux", units: units)
|
86
|
+
# when 'spectrum_by_ky'
|
78
87
|
# return AxisKit.autocreate(data: gsl_vector('spectrum_by_ky', options), title: "Phi^2 at t = #{list(:t)[options[:t_index]]}", units: '')
|
79
88
|
end
|
80
89
|
raise CRError.new("Unknown axis kit: #{name}")
|
@@ -404,6 +413,41 @@ module GraphKits
|
|
404
413
|
end
|
405
414
|
end
|
406
415
|
|
416
|
+
def es_heat_par_vs_time_graphkit(options={})
|
417
|
+
case options[:command]
|
418
|
+
when :help
|
419
|
+
return "Graph of parallel electrostatic heat flux vs time."
|
420
|
+
when :options
|
421
|
+
return [:t_index_window, :species_index]
|
422
|
+
else
|
423
|
+
kit = GraphKit.autocreate({x: axiskit('t', options), y: axiskit('es_heat_par', options)})
|
424
|
+
kit.data[0].title = "#{species_type(options[:species_index])} es_heat_par: #@run_name"
|
425
|
+
kit.data[0].with = "l" #"lines"
|
426
|
+
kit.file_name = options[:graphkit_name]
|
427
|
+
# kit.log_axis = 'y'
|
428
|
+
kit
|
429
|
+
end
|
430
|
+
end
|
431
|
+
|
432
|
+
def es_heat_perp_vs_time_graphkit(options={})
|
433
|
+
case options[:command]
|
434
|
+
when :help
|
435
|
+
return "Graph of perpendicular electrostatic heat flux vs time."
|
436
|
+
when :options
|
437
|
+
return [:t_index_window, :species_index]
|
438
|
+
else
|
439
|
+
kit = GraphKit.autocreate({x: axiskit('t', options), y: axiskit('es_heat_perp', options)})
|
440
|
+
kit.data[0].title = "#{species_type(options[:species_index])} es_heat_perp: #@run_name"
|
441
|
+
kit.data[0].with = "l" #"lines"
|
442
|
+
kit.file_name = options[:graphkit_name]
|
443
|
+
# kit.log_axis = 'y'
|
444
|
+
kit
|
445
|
+
end
|
446
|
+
end
|
447
|
+
def es_heat_all_vs_time_graphkit(options={})
|
448
|
+
es_heat_par_vs_time_graphkit(options)
|
449
|
+
es_heat_perp_vs_time_graphkit(options)
|
450
|
+
end
|
407
451
|
def es_mom_flux_vs_time_graphkit(options={})
|
408
452
|
case options[:command]
|
409
453
|
when :help
|
data/lib/gs2crmod/gsl_data.rb
CHANGED
@@ -731,6 +731,29 @@ module GSLVectors
|
|
731
731
|
return GSL::Vector.alloc(netcdf_file.var('es_heat_flux').get('start' => [options[:species_index].to_i - 1, options[:begin_element]], 'end' => [options[:species_index].to_i - 1, options[:end_element]]).to_a.flatten)
|
732
732
|
end
|
733
733
|
end
|
734
|
+
def es_heat_par_over_time_gsl_vector(options)
|
735
|
+
Dir.chdir(@directory) do
|
736
|
+
|
737
|
+
options.setup_time_window
|
738
|
+
return GSL::Vector.alloc(netcdf_file.var('es_heat_par').get('start' => [options[:species_index].to_i - 1, options[:begin_element]], 'end' => [options[:species_index].to_i - 1, options[:end_element]]).to_a.flatten)
|
739
|
+
end
|
740
|
+
end
|
741
|
+
alias :es_heat_par_gsl_vector :es_heat_par_over_time_gsl_vector
|
742
|
+
def es_heat_perp_over_time_gsl_vector(options)
|
743
|
+
Dir.chdir(@directory) do
|
744
|
+
|
745
|
+
options.setup_time_window
|
746
|
+
return GSL::Vector.alloc(netcdf_file.var('es_heat_perp').get('start' => [options[:species_index].to_i - 1, options[:begin_element]], 'end' => [options[:species_index].to_i - 1, options[:end_element]]).to_a.flatten)
|
747
|
+
end
|
748
|
+
end
|
749
|
+
alias :es_heat_perp_gsl_vector :es_heat_perp_over_time_gsl_vector
|
750
|
+
def es_heat_flux_over_time_gsl_vector(options)
|
751
|
+
Dir.chdir(@directory) do
|
752
|
+
|
753
|
+
options.setup_time_window
|
754
|
+
return GSL::Vector.alloc(netcdf_file.var('es_heat_flux').get('start' => [options[:species_index].to_i - 1, options[:begin_element]], 'end' => [options[:species_index].to_i - 1, options[:end_element]]).to_a.flatten)
|
755
|
+
end
|
756
|
+
end
|
734
757
|
def es_mom_flux_over_time_gsl_vector(options)
|
735
758
|
Dir.chdir(@directory) do
|
736
759
|
|
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.9.
|
4
|
+
version: 0.9.11
|
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-08-
|
13
|
+
date: 2013-08-19 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: coderunner
|