ASCOT5
Toggle main menu visibility
Loading...
Searching...
No Matches
linint
linint.h
Go to the documentation of this file.
1
12
#ifndef LININT_H
13
#define LININT_H
14
#include "
../ascot5.h
"
15
#include "../offload.h"
16
#include "
../spline/interp.h
"
17
21
typedef
struct
{
22
int
n_x
;
23
int
bc_x
;
24
real
x_min
;
25
real
x_max
;
26
real
x_grid
;
27
real
*
c
;
28
}
linint1D_data
;
29
33
typedef
struct
{
34
int
n_x
;
35
int
n_y
;
36
int
bc_x
;
37
int
bc_y
;
38
real
x_min
;
39
real
x_max
;
40
real
x_grid
;
41
real
y_min
;
42
real
y_max
;
43
real
y_grid
;
44
real
*
c
;
45
}
linint2D_data
;
46
50
typedef
struct
{
51
int
n_x
;
52
int
n_y
;
53
int
n_z
;
54
int
bc_x
;
55
int
bc_y
;
56
int
bc_z
;
57
real
x_min
;
58
real
x_max
;
59
real
x_grid
;
60
real
y_min
;
61
real
y_max
;
62
real
y_grid
;
63
real
z_min
;
64
real
z_max
;
65
real
z_grid
;
66
real
*
c
;
67
}
linint3D_data
;
68
69
void
linint1D_init
(
linint1D_data
* str,
real
* c,
70
int
n_x,
int
bc_x,
71
real
x_min,
real
x_max);
72
73
void
linint2D_init
(
linint2D_data
* str,
real
* c,
74
int
n_x,
int
n_y,
int
bc_x,
int
bc_y,
75
real
x_min,
real
x_max,
76
real
y_min,
real
y_max);
77
78
void
linint3D_init
(
linint3D_data
* str,
real
* c,
79
int
n_x,
int
n_y,
int
n_z,
80
int
bc_x,
int
bc_y,
int
bc_z,
81
real
x_min,
real
x_max,
82
real
y_min,
real
y_max,
83
real
z_min,
real
z_max);
84
85
GPU_DECLARE_TARGET_SIMD_UNIFORM(str)
86
int
linint1D_eval_f
(
real
* f,
linint1D_data
* str,
real
x);
87
DECLARE_TARGET_END
88
GPU_DECLARE_TARGET_SIMD_UNIFORM(str)
89
int
linint2D_eval_f
(
real
* f,
linint2D_data
* str,
real
x,
real
y);
90
DECLARE_TARGET_END
91
GPU_DECLARE_TARGET_SIMD_UNIFORM(str)
92
int
linint3D_eval_f
(
real
* f,
linint3D_data
* str,
93
real
x,
real
y,
real
z);
94
DECLARE_TARGET_END
95
#endif
ascot5.h
Main header file for ASCOT5.
real
double real
Definition
ascot5.h:85
interp.h
Spline interpolation library.
linint3D_eval_f
DECLARE_TARGET_END int linint3D_eval_f(real *f, linint3D_data *str, real x, real y, real z)
Evaluate interpolated value of 3D scalar field.
Definition
linint3D.c:70
linint1D_eval_f
int linint1D_eval_f(real *f, linint1D_data *str, real x)
Evaluate interpolated value of 1D scalar field.
Definition
linint1D.c:47
linint2D_init
void linint2D_init(linint2D_data *str, real *c, int n_x, int n_y, int bc_x, int bc_y, real x_min, real x_max, real y_min, real y_max)
Initialize linear interpolation struct for scalar 2D data.
Definition
linint2D.c:25
linint1D_init
void linint1D_init(linint1D_data *str, real *c, int n_x, int bc_x, real x_min, real x_max)
Initialize linear interpolation struct for scalar 1D data.
Definition
linint1D.c:22
linint3D_init
void linint3D_init(linint3D_data *str, real *c, int n_x, int n_y, int n_z, int bc_x, int bc_y, int bc_z, real x_min, real x_max, real y_min, real y_max, real z_min, real z_max)
Initialize linear interpolation struct for scalar 3D data.
Definition
linint3D.c:29
linint2D_eval_f
DECLARE_TARGET_END int linint2D_eval_f(real *f, linint2D_data *str, real x, real y)
Evaluate interpolated value of 2D scalar field.
Definition
linint2D.c:60
linint1D_data
1D interpolation struct.
Definition
linint.h:21
linint1D_data::n_x
int n_x
Definition
linint.h:22
linint1D_data::bc_x
int bc_x
Definition
linint.h:23
linint1D_data::x_max
real x_max
Definition
linint.h:25
linint1D_data::x_min
real x_min
Definition
linint.h:24
linint1D_data::c
real * c
Definition
linint.h:27
linint1D_data::x_grid
real x_grid
Definition
linint.h:26
linint2D_data
2D interpolation struct.
Definition
linint.h:33
linint2D_data::bc_x
int bc_x
Definition
linint.h:36
linint2D_data::y_grid
real y_grid
Definition
linint.h:43
linint2D_data::y_max
real y_max
Definition
linint.h:42
linint2D_data::x_max
real x_max
Definition
linint.h:39
linint2D_data::bc_y
int bc_y
Definition
linint.h:37
linint2D_data::n_y
int n_y
Definition
linint.h:35
linint2D_data::n_x
int n_x
Definition
linint.h:34
linint2D_data::x_min
real x_min
Definition
linint.h:38
linint2D_data::y_min
real y_min
Definition
linint.h:41
linint2D_data::x_grid
real x_grid
Definition
linint.h:40
linint2D_data::c
real * c
Definition
linint.h:44
linint3D_data
3D interpolation struct.
Definition
linint.h:50
linint3D_data::n_y
int n_y
Definition
linint.h:52
linint3D_data::bc_x
int bc_x
Definition
linint.h:54
linint3D_data::bc_z
int bc_z
Definition
linint.h:56
linint3D_data::n_x
int n_x
Definition
linint.h:51
linint3D_data::z_max
real z_max
Definition
linint.h:64
linint3D_data::x_max
real x_max
Definition
linint.h:58
linint3D_data::y_grid
real y_grid
Definition
linint.h:62
linint3D_data::x_min
real x_min
Definition
linint.h:57
linint3D_data::n_z
int n_z
Definition
linint.h:53
linint3D_data::y_max
real y_max
Definition
linint.h:61
linint3D_data::bc_y
int bc_y
Definition
linint.h:55
linint3D_data::z_grid
real z_grid
Definition
linint.h:65
linint3D_data::c
real * c
Definition
linint.h:66
linint3D_data::z_min
real z_min
Definition
linint.h:63
linint3D_data::x_grid
real x_grid
Definition
linint.h:59
linint3D_data::y_min
real y_min
Definition
linint.h:60
Generated on
for ASCOT5 by
1.18.0