gs2crmod 0.7.0 → 0.7.1

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.7.0
1
+ 0.7.1
data/gs2crmod.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "gs2crmod"
8
- s.version = "0.7.0"
8
+ s.version = "0.7.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"]
@@ -62,6 +62,8 @@ Gem::Specification.new do |s|
62
62
  "lib/gs2crmod/species_dependent_namelists.rb",
63
63
  "lib/gs2crmod/test_gs2.rb",
64
64
  "lib/gs2crmod_extension.rb",
65
+ "test/agk_slab_itg_low_kperp.in",
66
+ "test/agk_slab_itg_low_kperp.tgz",
65
67
  "test/cyclone_low_res.in",
66
68
  "test/cyclone_low_res.tgz",
67
69
  "test/helper.rb",
@@ -0,0 +1,212 @@
1
+ !==============================================================================
2
+ ! AstroGK INPUT FILE automatically generated by CodeRunner
3
+ !==============================================================================
4
+ !
5
+ ! AstroGK is a gyrokinetic flux tube initial value turbulence code
6
+ ! which can be used for fusion or astrophysical plasmas.
7
+ !
8
+ ! See http://gyrokinetics.sourceforge.net
9
+ !
10
+ ! CodeRunner is a framework for the automated running and analysis
11
+ ! of large simulations.
12
+ !
13
+ ! See http://coderunner.sourceforge.net
14
+ ! by CodeRunner version 0.12.11.0
15
+ !
16
+ !==============================================================================
17
+
18
+ !==============================
19
+ !
20
+ !==============================
21
+ &diagnostics
22
+ print_line = .false.
23
+ print_flux_line = .f.
24
+ write_linear = .f.
25
+ ! write_nonlin not specified ---
26
+ write_omega = .false.
27
+ write_omavg = .false.
28
+ ! write_ascii not specified ---
29
+ write_kpar = .true.
30
+ ! write_gs not specified ---
31
+ write_g = .false.
32
+ ! write_gg not specified ---
33
+ ! write_vspace_slices not specified ---
34
+ write_hrate = .f.
35
+ ! write_elsasser not specified ---
36
+ ! write_density_velocity not specified ---
37
+ ! write_epartot not specified ---
38
+ write_final_fields = .false.
39
+ write_final_epar = .false.
40
+ ! write_final_moments not specified ---
41
+ ! write_avg_moments not specified ---
42
+ ! write_Epolar not specified ---
43
+ ! write_Eshell not specified ---
44
+ write_nl_flux = .f.
45
+ ! write_full_moments_r not specified ---
46
+ nwrite = 4
47
+ ! nmovie not specified ---
48
+ ! nwrite2 not specified ---
49
+ ! nsave not specified ---
50
+ navg = 20
51
+ omegatol = -0.001
52
+ omegatinst = 500.0
53
+ ! igomega not specified ---
54
+ ! write_lorentzian not specified ---
55
+ ! exit_when_converged not specified ---
56
+ ! make_movie not specified ---
57
+ save_for_restart = .false.
58
+ ! write_adapt_hc not specified ---
59
+ ! write_verr not specified ---
60
+ ! write_vspectrum not specified ---
61
+ ! write_kspectrum not specified ---
62
+ ! write_init not specified ---
63
+ ! write_gkp not specified ---
64
+ ! write_hkv not specified ---
65
+ ! write_ktrans not specified ---
66
+ ! use_qshell not specified ---
67
+ ! write_ptrans not specified ---
68
+ ! get_wtrans not specified ---
69
+ ! get_etrans not specified ---
70
+ write_phi_over_time = .false.
71
+ ! write_apar_over_time not specified ---
72
+ ! write_bpar_over_time not specified ---
73
+ /
74
+
75
+ !==============================
76
+ !
77
+ !==============================
78
+ &layouts_knobs
79
+ layout = "lexys" ! 'yxles', 'lxyes', 'lyxes', 'lexys' Determines the way the grids are laid out in memory.
80
+ /
81
+
82
+ !==============================
83
+ !
84
+ !==============================
85
+ &reinit_knobs
86
+ delt_adj = 2.0 ! When the time step needs to be changed, it is adjusted
87
+ delt_minimum = 5.0e-10 ! The minimum time step is delt_minimum.
88
+ /
89
+
90
+ !==============================
91
+ !
92
+ !==============================
93
+ &collisions_knobs
94
+ collision_model = "none" ! Collision model used in the simulation. Options: 'default', 'none', 'lorentz', 'ediffuse'
95
+ conserve_momentum = .false.
96
+ heating = .false.
97
+ /
98
+
99
+ !==============================
100
+ !
101
+ !==============================
102
+ &dist_fn_knobs
103
+ test = .false.
104
+ /
105
+
106
+ !==============================
107
+ ! 1
108
+ !==============================
109
+ &dist_fn_species_knobs_1
110
+ fexp = 0.48
111
+ bakdif = 0.05 ! Spatial implicitness parameter. Recommended value: 0.05
112
+ /
113
+
114
+ !==============================
115
+ !
116
+ !==============================
117
+ &hyper_knobs
118
+ hyper_option = "visc_only"
119
+ const_amp = .true.
120
+ include_kpar = .false.
121
+ isotropic_shear = .true.
122
+ D_hypervisc = 0.01
123
+ /
124
+
125
+ !==============================
126
+ !
127
+ !==============================
128
+ &init_g_knobs
129
+ ginit_option = "noise" ! Sets the way that the distribution function is initialized.
130
+ phiinit = 0.1 ! Average amplitude of initial perturbation of each Fourier mode.
131
+ chop_side = .false. ! Rarely needed. Forces asymmetry into initial condition.
132
+ /
133
+
134
+ !==============================
135
+ !
136
+ !==============================
137
+ &kgrids
138
+ grid_option = "single"
139
+ akperp = 0.01
140
+ nkpolar = 0
141
+ /
142
+
143
+ !==============================
144
+ !
145
+ !==============================
146
+ &le_grids_knobs
147
+ ngauss = 8 ! Number of untrapped pitch-angles moving in one direction along field line.
148
+ negrid = 8 ! Total number of energy grid points
149
+ ecut = 16.0
150
+ /
151
+
152
+ !==============================
153
+ !
154
+ !==============================
155
+ &nonlinear_terms_knobs
156
+ nonlinear_mode = "off" ! Include nonlinear terms? ('on','off')
157
+ cfl = 0.2 ! The maximum delt < cfl * min(Delta_perp/v_perp)
158
+ /
159
+
160
+ !==============================
161
+ !
162
+ !==============================
163
+ &parameters
164
+ beta = 0.0 ! Ratio of particle to magnetic pressure (reference Beta, not total beta): beta=n_0 T_0 /( B^2 / (8 pi))
165
+ zeff = 1.0 ! Effective ionic charge.
166
+ tite = 1.0 ! Ratio of ion to electron temperatures.
167
+ /
168
+
169
+ !==============================
170
+ !
171
+ !==============================
172
+ &knobs
173
+ delt = 0.2 ! Time step
174
+ nstep = 500 ! Maximum number of timesteps
175
+ avail_cpu_time = 7200 ! Specify the available wall clock time in seconds. GS2 will exit before this time.
176
+ use_Phi = .true.
177
+ use_Apar = .false.
178
+ use_Bpar = .false.
179
+ /
180
+
181
+ !==============================
182
+ !
183
+ !==============================
184
+ &species_knobs
185
+ nspec = 1 ! Number of kinetic species evolved.
186
+ /
187
+
188
+ !==============================
189
+ ! 1
190
+ !==============================
191
+ &species_parameters_1
192
+ z = 1.0 ! Charge
193
+ mass = 1.0 ! Mass
194
+ dens = 1.0 ! Density
195
+ temp = 1.0 ! Temperature
196
+ tprim = 100 ! -1/T (dT/drho)
197
+ fprim = 1.0 ! -1/n (dn/drho)
198
+ uprim = 0.0 ! ?
199
+ type = "ion" ! Type of species, e.g. 'ion', 'electron', 'beam'
200
+ nu = 0
201
+ nu_h = 100.0
202
+ nexp_h = 6.0
203
+ /
204
+
205
+ !==============================
206
+ !
207
+ !==============================
208
+ &theta_grid
209
+ z0 = 10.0
210
+ ntheta = 20
211
+ /
212
+
Binary file
@@ -135,4 +135,35 @@ class TestAnalysis < Test::Unit::TestCase
135
135
  end
136
136
  end
137
137
 
138
+ AGK_SLAB_ITG_LOW_KPERP_FOLDER = 'test/agk_slab_itg_low_kperp'
138
139
 
140
+ if ENV['AGK_EXEC']
141
+ class TestAstrogkSubmission < Test::Unit::TestCase
142
+ def setup
143
+ CodeRunner.setup_run_class('gs2', modlet: 'astrogk')
144
+ CodeRunner::Gs2::Astrogk.make_new_defaults_file('test_gs2crmod_astrogk', 'test/agk_slab_itg_low_kperp.in')
145
+ FileUtils.mv('test_gs2crmod_astrogk_defaults.rb', CodeRunner::Gs2::Astrogk.rcp.user_defaults_location + '/.')
146
+ FileUtils.makedirs(tfolder)
147
+ end
148
+ def tfolder
149
+ AGK_SLAB_ITG_LOW_KPERP_FOLDER
150
+ end
151
+ def teardown
152
+ FileUtils.rm(CodeRunner::Gs2::Astrogk.rcp.user_defaults_location + '/' + 'test_gs2crmod_astrogk_defaults.rb')
153
+ FileUtils.rm(tfolder + '/.CODE_RUNNER_TEMP_RUN_LIST_CACHE')
154
+ FileUtils.rm(tfolder + '/v/id_1/.code_runner_run_data')
155
+ FileUtils.rm(tfolder + '/v/id_1/code_runner_results.rb')
156
+ #Don't uncomment the line below unless you *really* know what you are doing! Replacing the test archive will break many of the tests
157
+ Dir.chdir('test'){system "tar -czf agk_slab_itg_low_kperp.tgz agk_slab_itg_low_kperp/" unless FileTest.exist?('agk_slab_itg_low_kperp.tgz')}
158
+ FileUtils.rm_r(tfolder)
159
+ end
160
+ def test_submission
161
+ CodeRunner.submit(C: 'gs2', X: ENV['AGK_EXEC'], D: 'test_gs2crmod_astrogk', n: '4', Y: tfolder, m: 'astrogk')
162
+
163
+ CodeRunner.status(Y: tfolder)
164
+ end
165
+ end
166
+ else
167
+ puts "\n************************************\nWarning: agk submission tests not run. Please specify the evironment variable AGK_EXEC (the path to the agk executable) if you wish to test submission.\n************************************\n"
168
+ sleep 0.1
169
+ 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.7.0
4
+ version: 0.7.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -148,6 +148,8 @@ files:
148
148
  - lib/gs2crmod/species_dependent_namelists.rb
149
149
  - lib/gs2crmod/test_gs2.rb
150
150
  - lib/gs2crmod_extension.rb
151
+ - test/agk_slab_itg_low_kperp.in
152
+ - test/agk_slab_itg_low_kperp.tgz
151
153
  - test/cyclone_low_res.in
152
154
  - test/cyclone_low_res.tgz
153
155
  - test/helper.rb