gs2crmod 0.12.2 → 0.12.3

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 CHANGED
@@ -1 +1 @@
1
- 0.12.2
1
+ 0.12.3
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.12.2"
8
+ s.version = "0.12.3"
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 = "2015-08-06"
12
+ s.date = "2015-08-18"
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"]
@@ -430,47 +430,38 @@ def calculate_transient_amplifications
430
430
  end
431
431
 
432
432
  @transient_amplification_at_ky ||= FloatHash.new
433
+ @max_transient_amplification_index_at_ky ||= FloatHash.new
433
434
  eputs
434
435
  to_calc.each do |kxy|
435
436
  transient_amplifications = send(:transient_amplification_at_ + kxy)
436
437
  list(kxy).values.sort.each do |value|
437
-
438
- #p transient_amplifications.keys, value, transient_amplifications[value.to_f-0.0],
439
- #transient_amplifications.class, transient_amplifications.keys.include?(value); exit
440
-
441
438
  next if transient_amplifications.keys.include? value
442
-
443
439
 
444
440
  Terminal.erewind(1)
445
- #ep transient_amplifications.keys
446
441
  eputs sprintf("Calculating transient amplification for #{kxy} = % 1.5e#{Terminal::CLEAR_LINE}", value)
447
-
448
-
449
- # Mode has 0 growth rate at ky==0
442
+
443
+ # Mode has 0 growth rate at ky==0
450
444
  (transient_amplifications[value] = 0.0; next) if value == 0.0 and kxy == :ky
451
445
  phi2_vec = gsl_vector("phi2_by_#{kxy}_over_time", {kxy=>value})
452
- #(transient_amplifications[value] = 0.0; next) if phi2_vec.min <= 0.0
453
446
  transient_amplifications[value] = calculate_transient_amplification(phi2_vec)
454
447
  (eputs "\n\n----------\nIn #@run_name:\n\nphi2_by_#{kxy}_over_time is all NaN; unable to calculate growth rate\n----------\n\n"; transient_amplifications[value] = -1; next) if transient_amplifications[value].to_s == "NaN"
448
+ @max_transient_amplification_index_at_ky[value] = phi2_vec.max_index
455
449
  end
456
450
  end
457
451
 
458
452
  write_results
459
453
 
460
- # ep "transient_amplification_at_ky", @transient_amplification_at_ky
461
454
  if ENV['GS2_CALCULATE_ALL']
462
455
  trap(0){eputs "Calculation of spectrum did not complete: run 'cgrf' (i.e. calculate_transient_amplifications_and_frequencies) for this run. E.g. from the command line \n $ coderunner rc 'cgrf' -j #{@id}"; exit}
463
456
  @transient_amplification_at_ky_at_kx ||= FloatHash.new
464
457
  list(:ky).values.sort.each do |kyv|
465
458
  @transient_amplification_at_ky_at_kx[kyv] ||= FloatHash.new
466
- #p @transient_amplification_at_ky_at_kx[kyv]
467
459
  list(:kx).values.sort.each do |kxv|
468
460
  next if @transient_amplification_at_ky_at_kx[kyv].keys.include? kxv
469
461
  Terminal.erewind(1)
470
462
  eputs sprintf("Calculating growth rate for kx = % 1.5e and ky = % 1.5e#{Terminal::CLEAR_LINE}", kxv, kyv)
471
463
  (@transient_amplification_at_ky_at_kx[kyv][kxv] = 0.0; next) if kyv == 0.0 # Mode has 0 growth rate at ky==0
472
464
  phi2_vec = gsl_vector("phi2_by_mode_over_time", {:kx=>kxv, :ky=>kyv})
473
- #(@transient_amplification_at_ky_at_kx[kyv][kxv] = 0.0; next) if phi2_vec.min <= 0.0
474
465
  @transient_amplification_at_ky_at_kx[kyv][kxv] = calculate_transient_amplification(phi2_vec)
475
466
  (eputs "\n\n----------\nIn #@run_name:\n\nphi2_by_#{kxy}_over_time is all NaN; unable to calculate growth rates\n----------\n\n"; @transient_amplification_at_ky_at_kx[kyv][kxv] = -1; next) if @transient_amplification_at_ky_at_kx[kyv][kxv].to_s == "NaN"
476
467
  end
@@ -481,19 +472,8 @@ def calculate_transient_amplifications
481
472
  @transient_amplifications = @transient_amplification_at_ky
482
473
  @max_transient_amplification = @transient_amplifications.values.max
483
474
  @most_amplified_mode = @transient_amplifications.key(@max_transient_amplification)
484
- #@freq_of_max_transient_amplification = @real_frequencies[@fastest_growing_mode]
485
- #ep @max_transient_amplification, @transient_amplifications
486
- #@decaying = (@max_transient_amplification < 0) if @max_transient_amplification
475
+
487
476
  @ky = @aky if @aky
488
- #if @grid_option == "single"
489
- ## ep @aky, @transient_amplifications
490
- #@gamma_r = @transient_amplifications[@aky.to_f]
491
- #@gamma_i = @real_frequencies[@aky.to_f]
492
- #end
493
- # ep @gamma_r
494
-
495
-
496
- # eputs @transient_amplifications; gets
497
477
  end
498
478
  end
499
479
 
@@ -673,7 +653,8 @@ alias :ctehfa :calculate_transient_es_heat_flux_amplifications
673
653
 
674
654
  def calculate_transient_amplification(vector, options={})
675
655
  if @g_exb_start_timestep
676
- return GSL::Sf::log(vector[(@g_exb_start_timestep/@nwrite).to_i...-1].max / vector[(@g_exb_start_timestep/@nwrite).to_i])/2
656
+ return GSL::Sf::log(vector[(@g_exb_start_timestep/@nwrite).to_i...-1].max /
657
+ vector[(@g_exb_start_timestep/@nwrite).to_i])/2
677
658
  else
678
659
  eputs "Warning: set g_exb_start_timestep to calculate transient amplifications."
679
660
  return 0
data/lib/gs2crmod/gs2.rb CHANGED
@@ -141,6 +141,7 @@ eval(%[
141
141
  :transient_amplification_at_kx,
142
142
  :transient_amplification_at_ky,
143
143
  :transient_amplification_at_ky_at_kx,
144
+ :max_transient_amplification_index_at_ky,
144
145
  :transient_es_heat_flux_amplification_at_species_at_kx,
145
146
  :transient_es_heat_flux_amplification_at_species_at_ky,
146
147
  :transient_es_heat_flux_amplification_at_species_at_ky_at_kx,
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.12.2
4
+ version: 0.12.3
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: 2015-08-06 00:00:00.000000000 Z
13
+ date: 2015-08-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: coderunner