gs2crmod 0.11.24 → 0.11.26
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/ext/extconf.rb +4 -1
- data/ext/gs2crmod_ext.c +6 -17
- data/gs2crmod.gemspec +2 -2
- metadata +16 -16
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.26
|
data/ext/extconf.rb
CHANGED
data/ext/gs2crmod_ext.c
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
#include <math.h>
|
3
3
|
#include <string.h>
|
4
4
|
#include <gsl/gsl_spline.h>
|
5
|
-
#include <gsl/gsl_spline.h>
|
6
5
|
|
7
6
|
VALUE gs2crmod_tensor_complexes_field_gsl_tensor_complex_2(VALUE self, VALUE options)
|
8
7
|
{
|
@@ -409,9 +408,9 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
409
408
|
//Write some as floats to avoid flooring to wrong (lower) number later
|
410
409
|
float *lx_bin, *ly_bin, *lz_bin, *lt_bin;
|
411
410
|
float lxmin, lxmax, lymin, lymax, lzmin, lzmax, ltmin, ltmax, lx, ly, lz, *lt;
|
412
|
-
double *x, *y, *z, *t, *field, *coarray, *corr_norm
|
411
|
+
double *x, *y, *z, *t, *field, *coarray, *corr_norm;
|
413
412
|
int *c_shape, tot_size, ith, ix, iy, it, t_size, first=1;
|
414
|
-
int index,
|
413
|
+
int index, i2, i3, i4, tot_bins, *count;
|
415
414
|
long int i1;
|
416
415
|
|
417
416
|
printf("Starting correlation analysis\n");
|
@@ -427,12 +426,6 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
427
426
|
t[it] = NUM2DBL(CR_TELMT_R1(t_gsl_vector, it));
|
428
427
|
}
|
429
428
|
|
430
|
-
//Read from options
|
431
|
-
if(RTEST(CR_HKS(options, "amin")))
|
432
|
-
amin = NUM2DBL(CR_HKS(options, "amin"));
|
433
|
-
else
|
434
|
-
amin = 1.0;
|
435
|
-
|
436
429
|
VALUE nbins_array=CR_HKS(options, "nbins_array");
|
437
430
|
int *nbins;
|
438
431
|
if(RTEST(nbins_array) && RTEST(rb_obj_is_kind_of(nbins_array, RGET_CLASS_TOP("Array")))){
|
@@ -471,6 +464,7 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
471
464
|
|
472
465
|
if(first)
|
473
466
|
{
|
467
|
+
//ALLOC_N is used since it works correctly with ruby garbage collector
|
474
468
|
tot_size = c_shape[0]*c_shape[1]*c_shape[2]*t_size;
|
475
469
|
x = ALLOC_N(double, tot_size);
|
476
470
|
y = ALLOC_N(double, tot_size);
|
@@ -496,8 +490,8 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
496
490
|
|
497
491
|
|
498
492
|
/******************************
|
499
|
-
*
|
500
|
-
*
|
493
|
+
* GSL Interpolation of *
|
494
|
+
* field in time *
|
501
495
|
*****************************/
|
502
496
|
//Read t interp from options (default is 100)
|
503
497
|
int nt_reg;
|
@@ -508,7 +502,6 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
508
502
|
int idx, ti;
|
509
503
|
double *x_reg, *y_reg, *z_reg, *t_reg, *field_reg, delta_t_reg, *y1;
|
510
504
|
tot_size = c_shape[0]*c_shape[1]*c_shape[2]*nt_reg;
|
511
|
-
//printf("Start interpolation, %d, %d, %d, %d, %d\n", c_shape[0], c_shape[1], c_shape[2], nt_reg, tot_size);
|
512
505
|
delta_t_reg = (t[t_size-1]-t[0])/(nt_reg-1);
|
513
506
|
|
514
507
|
y1 = ALLOC_N(double, t_size);
|
@@ -520,11 +513,9 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
520
513
|
|
521
514
|
for(i1=0; i1<c_shape[0]*c_shape[1]*c_shape[2]*t_size; i1+=t_size)
|
522
515
|
{
|
523
|
-
//printf("%d, %d\n", i1, c_shape[0]*c_shape[1]*c_shape[2]*t_size);
|
524
516
|
for (i2 = 0; i2 < t_size; i2++)
|
525
517
|
{
|
526
518
|
y1[i2] = field[i1+i2];
|
527
|
-
//printf ("%d, %lf %lf\n", i2, t[i2], y1[i2]);
|
528
519
|
}
|
529
520
|
|
530
521
|
gsl_interp_accel *acc
|
@@ -534,7 +525,6 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
534
525
|
|
535
526
|
gsl_spline_init (spline, t, y1, t_size);
|
536
527
|
|
537
|
-
//printf("Interpolated:\n");
|
538
528
|
for (ti = 0; ti < nt_reg; ti++)
|
539
529
|
{
|
540
530
|
t_reg[ti] = t[0]+ti*delta_t_reg;
|
@@ -549,7 +539,7 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
549
539
|
|
550
540
|
}
|
551
541
|
|
552
|
-
//Can now free the original pointers
|
542
|
+
//Can now free the original pointers since redefined variables on a regular grid
|
553
543
|
free(x); x=0;
|
554
544
|
free(y); y=0;
|
555
545
|
free(z); z=0;
|
@@ -567,7 +557,6 @@ VALUE gs2crmod_tensor_field_correlation_gsl_tensor(VALUE self, VALUE options)
|
|
567
557
|
* since the binning will be done at each step since there is too much*
|
568
558
|
* info to store. *
|
569
559
|
* ********************************************************************/
|
570
|
-
double lx_pos_min=20;
|
571
560
|
i3=0;
|
572
561
|
lxmin=0; lymin=0; lzmin=0;
|
573
562
|
for(i1=0; i1<tot_size; i1+=nt_reg){
|
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.11.
|
8
|
+
s.version = "0.11.26"
|
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 = "2014-03-
|
12
|
+
s.date = "2014-03-14"
|
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"]
|
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.11.
|
4
|
+
version: 0.11.26
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-03-
|
13
|
+
date: 2014-03-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: coderunner
|
17
|
-
requirement: &
|
17
|
+
requirement: &10326280 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 0.14.10
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *10326280
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rubyhacks
|
28
|
-
requirement: &
|
28
|
+
requirement: &10325680 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.1.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *10325680
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: ruby-netcdf-updated
|
39
|
-
requirement: &
|
39
|
+
requirement: &10325060 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 0.6.6.1
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *10325060
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: shoulda
|
50
|
-
requirement: &
|
50
|
+
requirement: &10324220 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *10324220
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rdoc
|
61
|
-
requirement: &
|
61
|
+
requirement: &10323080 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '3.12'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *10323080
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: bundler
|
72
|
-
requirement: &
|
72
|
+
requirement: &10322500 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>'
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.0.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *10322500
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: jeweler
|
83
|
-
requirement: &
|
83
|
+
requirement: &10321640 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version: 1.8.4
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *10321640
|
92
92
|
description: GS2 is a gyrokinetic flux tube initial value turbulence code which can
|
93
93
|
be used for fusion or astrophysical plasmas. CodeRunner is a framework for the automated
|
94
94
|
running and analysis of large simulations. This module allows GS2 (and its sister
|