ASCOT5
Loading...
Searching...
No Matches
E_field.h File Reference

Header file for E_field.c. More...

#include "ascot5.h"
#include "offload.h"
#include "error.h"
#include "B_field.h"
#include "Efield/E_TC.h"
#include "Efield/E_1DS.h"

Go to the source code of this file.

Data Structures

struct  E_field_data
 Electric field simulation data. More...
 

Typedefs

typedef enum E_field_type E_field_type
 Electric field types.
 

Enumerations

enum  E_field_type { E_field_type_TC , E_field_type_1DS }
 Electric field types. More...
 

Functions

void E_field_free (E_field_data *data)
 Free allocated resources.
 
void E_field_offload (E_field_data *data)
 Offload data to the accelerator.
 
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.
 

Detailed Description

Header file for E_field.c.

Contains a list declaring all E_field_types, and declaration of E_field_offload_data and E_field_data structs.

Definition in file E_field.h.

Typedef Documentation

◆ E_field_type

typedef enum E_field_type E_field_type

Electric field types.

Electric field types are used in the electric field interface (E_field.c) to direct function calls to correct electric field instances. Each electric field instance must have a corresponding type.

Enumeration Type Documentation

◆ E_field_type

Electric field types.

Electric field types are used in the electric field interface (E_field.c) to direct function calls to correct electric field instances. Each electric field instance must have a corresponding type.

Enumerator
E_field_type_TC 

Trivial Cartesian electric field

E_field_type_1DS 

Spline-interpolated radial electric field

Definition at line 25 of file E_field.h.

Function Documentation

◆ E_field_free()

void E_field_free ( E_field_data * data)

Free allocated resources.

Parameters
datapointer to the data struct

Definition at line 30 of file E_field.c.

◆ E_field_offload()

void E_field_offload ( E_field_data * data)

Offload data to the accelerator.

Parameters
datapointer to the data struct

Definition at line 46 of file E_field.c.

◆ 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.

This function evaluates the electric field at the given coordinates. Note that magnetic field data is also required in case electric field is e.g. a flux quantity.

The values are stored in the given array as:

  • E[0] = ER
  • E[1] = Ephi
  • E[2] = Ez

This is a SIMD function.

Parameters
Epointer to array where electric field values are stored
rR coordinate [m]
phiphi coordinate [deg]
zz coordinate [m]
ttime coordinate [s]
Edatapointer to electric field data struct
Bdatapointer to magnetic field data struct
Returns
Non-zero a5err value if evaluation failed, zero otherwise

Definition at line 82 of file E_field.c.