ASCOT5
Toggle main menu visibility
Loading...
Searching...
No Matches
E_field.c
Go to the documentation of this file.
1
16
#include <stdio.h>
17
#include "
ascot5.h
"
18
#include "
error.h
"
19
#include "
print.h
"
20
#include "
E_field.h
"
21
#include "
B_field.h
"
22
#include "
Efield/E_TC.h
"
23
#include "
Efield/E_1DS.h
"
24
#include "
Efield/E_2DS.h
"
25
31
void
E_field_free
(
E_field_data
* data) {
32
switch
(data->
type
) {
33
case
E_field_type_2DS
:
34
E_2DS_free(&data->
E2DS
);
35
break
;
36
case
E_field_type_1DS
:
37
E_1DS_free
(&data->
E1DS
);
38
break
;
39
case
E_field_type_TC
:
40
E_TC_free
(&data->
ETC
);
41
break
;
42
}
43
}
44
50
void
E_field_offload
(
E_field_data
* data) {
51
switch
(data->
type
) {
52
case
E_field_type_2DS
:
53
E_2DS_offload(&data->
E2DS
);
54
break
;
55
case
E_field_type_1DS
:
56
E_1DS_offload
(&data->
E1DS
);
57
break
;
58
case
E_field_type_TC
:
59
E_TC_offload
(&data->
ETC
);
60
break
;
61
}
62
}
63
89
a5err
E_field_eval_E
(
real
E[3],
real
r,
real
phi,
real
z,
real
t,
90
E_field_data
* Edata,
B_field_data
* Bdata) {
91
a5err
err = 0;
92
93
switch
(Edata->
type
) {
94
95
case
E_field_type_2DS
:
96
err = E_2DS_eval_E(E, r, z, &(Edata->
E2DS
));
97
break
;
98
99
case
E_field_type_1DS
:
100
err =
E_1DS_eval_E
(E, r, phi, z, &(Edata->
E1DS
), Bdata);
101
break
;
102
103
case
E_field_type_TC
:
104
err =
E_TC_eval_E
(E, r, phi, z, &(Edata->
ETC
), Bdata);
105
break
;
106
107
default
:
108
/* Unregonized input. Produce error. */
109
err = error_raise(
ERR_UNKNOWN_INPUT
, __LINE__,
EF_E_FIELD
);
110
break
;
111
}
112
113
return
err;
114
}
B_field.h
Header file for B_field.c.
E_1DS_free
void E_1DS_free(E_1DS_data *data)
Free allocated resources.
Definition
E_1DS.c:58
E_1DS_offload
void E_1DS_offload(E_1DS_data *data)
Offload data to the accelerator.
Definition
E_1DS.c:67
E_1DS_eval_E
a5err E_1DS_eval_E(real E[3], real r, real phi, real z, E_1DS_data *Edata, B_field_data *Bdata)
Evaluate 1D spline radial electric field.
Definition
E_1DS.c:89
E_1DS.h
Header file for E_1DS.c.
E_2DS.h
Header file for E_2DS.c.
E_TC_offload
void E_TC_offload(E_TC_data *data)
Offload data to the accelerator.
Definition
E_TC.c:51
E_TC_eval_E
a5err E_TC_eval_E(real E[3], real r, real phi, real z, E_TC_data *Edata, B_field_data *Bdata)
Evaluate electric field.
Definition
E_TC.c:70
E_TC_free
void E_TC_free(E_TC_data *data)
Free allocated resources.
Definition
E_TC.c:42
E_TC.h
Header file for E_TC.c.
E_field_free
void E_field_free(E_field_data *data)
Free allocated resources.
Definition
E_field.c:31
E_field_offload
void E_field_offload(E_field_data *data)
Offload data to the accelerator.
Definition
E_field.c:50
E_field_eval_E
a5err E_field_eval_E(real E[3], real r, real phi, real z, real t, E_field_data *Edata, B_field_data *Bdata)
Evaluate electric field.
Definition
E_field.c:89
E_field.h
Header file for E_field.c.
E_field_type_2DS
@ E_field_type_2DS
Definition
E_field.h:29
E_field_type_TC
@ E_field_type_TC
Definition
E_field.h:27
E_field_type_1DS
@ E_field_type_1DS
Definition
E_field.h:28
ascot5.h
Main header file for ASCOT5.
real
double real
Definition
ascot5.h:85
error.h
Error module for ASCOT5.
a5err
unsigned long int a5err
Simulation error flag.
Definition
error.h:17
EF_E_FIELD
@ EF_E_FIELD
Definition
error.h:43
ERR_UNKNOWN_INPUT
@ ERR_UNKNOWN_INPUT
Definition
error.h:66
print.h
Macros for printing console output.
B_field_data
Magnetic field simulation data.
Definition
B_field.h:41
E_field_data
Electric field simulation data.
Definition
E_field.h:38
E_field_data::ETC
E_TC_data ETC
Definition
E_field.h:40
E_field_data::E2DS
E_2DS_data E2DS
Definition
E_field.h:42
E_field_data::type
E_field_type type
Definition
E_field.h:39
E_field_data::E1DS
E_1DS_data E1DS
Definition
E_field.h:41
Generated on
for ASCOT5 by
1.18.0