![]() |
|
#include <complex.h>
#include "util.h"
#include "nfft3.h"
#include "fastsum.h"
Go to the source code of this file.
Data Structures | |
struct | fields_fastsum_plan |
plan for fast calculation of 3D space-charge fields of bunches of charged particles. More... | |
Defines | |
#define | EPSILON_0 8.8541878176E-12 |
Include header for C99 complex datatype. | |
Functions | |
void | fields_fastsum_init (fields_fastsum_plan *plan, int N_total, unsigned flags, int nn, int m, int p, double eps_I, double eps_B) |
initialize fast calculation plan | |
void | fields_fastsum_finalize (fields_fastsum_plan *plan) |
finalize plan | |
void | fields_fastsum_exact (fields_fastsum_plan *plan) |
direct calculation | |
void | fields_fastsum_simple (fields_fastsum_plan *plan) |
simple NFFT-based summation algorithm | |
void | fields_fastsum_precompute (fields_fastsum_plan *plan) |
fast NFFT-based summation, precomputation | |
void | fields_fastsum_trafo (fields_fastsum_plan *plan) |
fast NFFT-based summation algorithm |
reference: G. Pöplau, D. Potts and U. van Rienen. Calculation of 3D Space-Charge Fields of Charged Particles by Fast Summation. Scientific Computing in Electrical Engineering, A.M. Anile, G. Ali and G. Mascaly (Eds.), Springer-Verlag, Berlin, pages 241-246, 2005.
Definition in file fields_fastsum.h.
#define EPSILON_0 8.8541878176E-12 |
Include header for C99 complex datatype.
Include header for utils from NFFT3 library. Include header for NFFT3 library.
Definition at line 24 of file fields_fastsum.h.
Referenced by fields_fastsum_exact(), fields_fastsum_simple(), and fields_fastsum_trafo().
void fields_fastsum_init | ( | fields_fastsum_plan * | plan, | |
int | N_total, | |||
unsigned | flags, | |||
int | nn, | |||
int | m, | |||
int | p, | |||
double | eps_I, | |||
double | eps_B | |||
) |
initialize fast calculation plan
plan | The pointer to a fields fastsum plan. | |
N_total | The number of source knots r. | |
flags | Fastsum flags. | |
nn | The expansion degree. | |
m | The cut-off parameter for the NFFT. | |
p | The degree of smoothness. | |
eps_I | The inner boundary. | |
eps_B | the outer boundary. |
Definition at line 19 of file fields_fastsum.c.
References fields_fastsum_plan::E, fastsum_init_guru(), fields_fastsum_plan::fsum, fields_fastsum_plan::N_total, one_over_cube(), fields_fastsum_plan::q, and fields_fastsum_plan::r.
void fields_fastsum_finalize | ( | fields_fastsum_plan * | plan | ) |
finalize plan
plan | The pointer to a fields fastsum plan. |
Definition at line 33 of file fields_fastsum.c.
References fields_fastsum_plan::E, fastsum_finalize(), fields_fastsum_plan::fsum, fastsum_plan::kernel_param, fields_fastsum_plan::q, and fields_fastsum_plan::r.
void fields_fastsum_exact | ( | fields_fastsum_plan * | plan | ) |
direct calculation
plan | The pointer to a fields fastsum plan. |
Definition at line 43 of file fields_fastsum.c.
References fields_fastsum_plan::E, EPSILON_0, fields_fastsum_plan::N_total, PI, fields_fastsum_plan::q, and fields_fastsum_plan::r.
void fields_fastsum_simple | ( | fields_fastsum_plan * | plan | ) |
simple NFFT-based summation algorithm
plan | The pointer to a fields fastsum plan. |
Definition at line 75 of file fields_fastsum.c.
References fastsum_plan::alpha, fields_fastsum_plan::E, EPSILON_0, fastsum_plan::f, fastsum_precompute(), fastsum_trafo(), fields_fastsum_plan::fsum, fields_fastsum_plan::N_total, PI, fields_fastsum_plan::q, fields_fastsum_plan::r, fastsum_plan::x, and fastsum_plan::y.
void fields_fastsum_precompute | ( | fields_fastsum_plan * | plan | ) |
fast NFFT-based summation, precomputation
plan | The pointer to a fields fastsum plan. |
Definition at line 165 of file fields_fastsum.c.
References fastsum_plan::alpha, fastsum_precompute(), fields_fastsum_plan::fsum, fields_fastsum_plan::N_total, nfft_second(), fields_fastsum_plan::q, fields_fastsum_plan::r, fastsum_plan::x, and fastsum_plan::y.
void fields_fastsum_trafo | ( | fields_fastsum_plan * | plan | ) |
fast NFFT-based summation algorithm
plan | The pointer to a fields fastsum plan. |
Definition at line 185 of file fields_fastsum.c.
References fastsum_plan::Ad, fastsum_plan::Add, fastsum_plan::alpha, fastsum_plan::b, fields_fastsum_plan::E, fastsum_plan::eps_I, EPSILON_0, nfft_plan::f, nfft_plan::f_hat, FieldsSearchTree(), fastsum_plan::flags, fields_fastsum_plan::fsum, fastsum_plan::kernel_param, fastsum_plan::M_total, fastsum_plan::mv1, fastsum_plan::mv2, fastsum_plan::N_total, fields_fastsum_plan::N_total, nfft_plan::N_total, nfft_adjoint(), nfft_trafo(), fastsum_plan::p, PI, fields_fastsum_plan::r, fastsum_plan::x, and fastsum_plan::y.