1 #ifndef MPIMIS_BREAKAGE
2 #define MPIMIS_BREAKAGE
4 #include "basictools.h"
6 #include "equationsolver.h"
11 typedef breakage* pbreakage;
16 Breakage(
double _xmin,
double _xmax,
int _na,
int _nx,
int _ny,
int _nz) {
17 xmin = pow(_xmin, 3), xmax = pow(_xmax, 3), na = _na, nx = _nx, ny = _ny, nz = _nz;
18 a = allocate_vector(na); g = allocate_vector(na); lg = (
int*)malloc((na + 1) *
sizeof(int));
19 freq_integral_coeff = allocate_vector(na); plus_integral_coeff = allocate_vector(na);
20 a = allocate_vector(na); fill_uniform_grid(xmin, xmax, na, a); transform_grid_m2l(xmin, xmax, na, a);
21 fill_freq_integral_coeff(); };
24 free_vector(freq_integral_coeff); free_vector(plus_integral_coeff); free_vector(g); free((
void*)lg); };
31 double* freq_integral_coeff;
32 double* plus_integral_coeff;
39 void breakage_plus(
double* input,
double* output,
double* data);
40 void breakage_minus(
double* input,
double* output);
42 int is_on_boundary(
int ir,
double* vr);
44 double get_value_at_x(
double* fi,
double x);
46 void fill_freq_integral_coeff();
48 int solvequarticequation(
double* roots,
int& cRealRoots,
double C_r,
double cube_x);
51 void fill_g(
double& CE);
52 void fill_lg(
double& CE);
53 void fill_plus_integral_coeff();
54 double definite_integral(
double& fa,
double& fb,
double& a,
double& b,
double c,
double& x1,
double& x2);
55 double frequency(
double* input);
61 void apply_breakage(
double* input,
double* output,
double* v);
64 #endif // MPIMIS_BREAKAGE
Definition: breakage.h:13