ASCOT5
Loading...
Searching...
No Matches
Functions
plasma_1D.c File Reference

1D linearly interpolated plasma More...

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "../ascot5.h"
#include "../error.h"
#include "../consts.h"
#include "../print.h"
#include "plasma_1D.h"

Go to the source code of this file.

Functions

int plasma_1D_init_offload (plasma_1D_offload_data *offload_data, real **offload_array)
 Initialize 1D plasma data and check inputs.
 
void plasma_1D_free_offload (plasma_1D_offload_data *offload_data, real **offload_array)
 Free offload array and reset parameters.
 
void plasma_1D_init (plasma_1D_data *pls_data, plasma_1D_offload_data *offload_data, real *offload_array)
 Initialize magnetic field data struct on target.
 
a5err plasma_1D_eval_temp (real *temp, real rho, int species, plasma_1D_data *pls_data)
 Evaluate plasma temperature.
 
a5err plasma_1D_eval_dens (real *dens, real rho, int species, plasma_1D_data *pls_data)
 Evaluate plasma density.
 
a5err plasma_1D_eval_densandtemp (real *dens, real *temp, real rho, plasma_1D_data *pls_data)
 Evaluate plasma density and temperature for all species.
 

Detailed Description

1D linearly interpolated plasma

Plasma data which is defined in a 1D uniform grid from which the values are interpolated linearly. The coordinate is the normalized poloidal flux.

Definition in file plasma_1D.c.

Function Documentation

◆ plasma_1D_init_offload()

int plasma_1D_init_offload ( plasma_1D_offload_data * offload_data,
real ** offload_array )

Initialize 1D plasma data and check inputs.

Before calling this function, the offload struct is expected to be fully initialized.

The offload array is expected to hold plasma data as

  • [0] = rho grid
  • [n_rho] = electron temperature [J]
  • [n_rho*2] = ion temperature [J]
  • [n_rho*2 + n_rho*n_ions] = electron density [m^-3]
  • [n_rho*2 + n_rho*n_ions + n_rho] = ion density [m^-3]

Since this data requires no initialization, the only thing this function does is that it prints some values as sanity check.

Parameters
offload_datapointer to offload data struct
offload_arraypointer to pointer to offload array
Returns
zero if initialization succes

Definition at line 39 of file plasma_1D.c.

◆ plasma_1D_free_offload()

void plasma_1D_free_offload ( plasma_1D_offload_data * offload_data,
real ** offload_array )

Free offload array and reset parameters.

This function deallocates the offload_array.

Parameters
offload_datapointer to offload data struct
offload_arraypointer to pointer to offload array

Definition at line 97 of file plasma_1D.c.

◆ plasma_1D_init()

void plasma_1D_init ( plasma_1D_data * pls_data,
plasma_1D_offload_data * offload_data,
real * offload_array )

Initialize magnetic field data struct on target.

This function copies the magnetic field parameters from the offload struct to the struct on target and sets the plasma data pointers to correct offsets in the offload array.

Parameters
pls_datapointer to data struct on target
offload_datapointer to offload data struct
offload_arraypointer to offload array

Definition at line 114 of file plasma_1D.c.

◆ plasma_1D_eval_temp()

a5err plasma_1D_eval_temp ( real * temp,
real rho,
int species,
plasma_1D_data * pls_data )

Evaluate plasma temperature.

This function evaluates the temperature of a plasma species at the given radial coordinate using linear interpolation.

Parameters
temppointer to where evaluated temperature [J] is stored
rhoradial coordinate
speciesindex of plasma species
pls_datapointer to plasma data struct
Returns
zero if evaluation succeeded

Definition at line 145 of file plasma_1D.c.

◆ plasma_1D_eval_dens()

a5err plasma_1D_eval_dens ( real * dens,
real rho,
int species,
plasma_1D_data * pls_data )

Evaluate plasma density.

This function evaluates the density of a plasma species at the given radial coordinate using linear interpolation.

Parameters
denspointer to where evaluated density [m^-3] is stored
rhoradial coordinate
speciesindex of plasma species
pls_datapointer to plasma data struct
Returns
zero if evaluation succeeded

Definition at line 185 of file plasma_1D.c.

◆ plasma_1D_eval_densandtemp()

a5err plasma_1D_eval_densandtemp ( real * dens,
real * temp,
real rho,
plasma_1D_data * pls_data )

Evaluate plasma density and temperature for all species.

This function evaluates the density and temperature of all plasma species at the given radial coordinate using linear interpolation.

Parameters
denspointer to where interpolated densities [m^-3] are stored
temppointer to where interpolated temperatures [J] are stored
rhoradial coordinate
pls_datapointer to plasma data struct
Returns
zero if evaluation succeeded

Definition at line 225 of file plasma_1D.c.