ASCOT5
|
Header file for mccc package. More...
#include "../../ascot5.h"
#include "../../B_field.h"
#include "../../plasma.h"
#include "../../particle.h"
#include "../../random.h"
#include "mccc_wiener.h"
Go to the source code of this file.
Data Structures | |
struct | mccc_data |
Parameters and data required to evaluate Coulomb collisions. More... | |
Macros | |
#define | MCCC_CUTOFF 0.1 |
Defines minimum energy boundary condition. | |
Functions | |
void | mccc_init (mccc_data *mdata, int include_energy, int include_pitch, int include_gcdiff) |
Set collision operator data. | |
void | mccc_fo_euler (particle_simd_fo *p, real *h, plasma_data *pdata, mccc_data *mdata, real *rnd) |
Integrate collisions for one time-step. | |
void | mccc_gc_euler (particle_simd_gc *p, real *h, B_field_data *Bdata, plasma_data *pdata, mccc_data *mdata, real *rnd) |
Integrate collisions for one time-step. | |
void | mccc_gc_milstein (particle_simd_gc *p, real *hin, real *hout, real tol, mccc_wienarr *w, B_field_data *Bdata, plasma_data *pdata, mccc_data *mdata, real *rnd) |
Integrate collisions for one time-step. | |
Header file for mccc package.
Definition in file mccc.h.
#define MCCC_CUTOFF 0.1 |
void mccc_init | ( | mccc_data * | mdata, |
int | include_energy, | ||
int | include_pitch, | ||
int | include_gcdiff ) |
Set collision operator data.
mdata | pointer to collision operator data struct |
include_energy | can collisions change marker energy, either 0 or 1 |
include_pitch | can collisions change marker pitch, either 0 or 1 |
include_gcdiff | can collisions change GC position, either 0 or 1 |
void mccc_fo_euler | ( | particle_simd_fo * | p, |
real * | h, | ||
plasma_data * | pdata, | ||
mccc_data * | mdata, | ||
real * | rnd ) |
Integrate collisions for one time-step.
p | fo struct |
h | time-steps for NSIMD markers |
pdata | pointer to plasma data |
mdata | pointer collision data struct |
rnd | array of normally distributed random numbers used to resolve collisions. Values for marker i are rnd[i*NSIMD + j] |
Definition at line 27 of file mccc_fo_euler.c.
void mccc_gc_euler | ( | particle_simd_gc * | p, |
real * | h, | ||
B_field_data * | Bdata, | ||
plasma_data * | pdata, | ||
mccc_data * | mdata, | ||
real * | rnd ) |
Integrate collisions for one time-step.
p | gc struct |
h | time-steps for NSIMD markers |
Bdata | pointer to magnetic field |
pdata | pointer to plasma data |
mdata | pointer to collision data struct |
rnd | array of normally distributed random numbers used to resolve collisions. Values for marker i are rnd[i*NSIMD + j] |
Definition at line 29 of file mccc_gc_euler.c.
void mccc_gc_milstein | ( | particle_simd_gc * | p, |
real * | hin, | ||
real * | hout, | ||
real | tol, | ||
mccc_wienarr * | w, | ||
B_field_data * | Bdata, | ||
plasma_data * | pdata, | ||
mccc_data * | mdata, | ||
real * | rnd ) |
Integrate collisions for one time-step.
p | pointer to gc simd struct |
hin | time-steps for NSIMD markers |
hout | suggestions for the next timesteps for NSIMD markers |
tol | relative error tolerance |
w | array holding wiener structs for NSIMD markers |
Bdata | pointer to magnetic field data |
pdata | pointer to plasma data |
mdata | pointer to collision data struct |
rnd | array of normally distributed random numbers used to resolve collisions. Values for marker i are rnd[i*NSIMD + j] |
Definition at line 34 of file mccc_gc_milstein.c.