CYCLUS
cram.hpp
Go to the documentation of this file.
1 #ifdef PYNE_CRAM_SOLVE_C
2 #error "Both cram.h (the C header for CRAM) and cram.hpp (C++) have been included, only one is allowed!"
3 #endif
4 
5 #ifndef PYNE_CRAM_SOLVE_CPP
6 #define PYNE_CRAM_SOLVE_CPP
7 
8 
9 typedef struct pyne_cram_transmute_info_tag {
10  int n;
11  int nnz;
12  int* i;
13  int* j;
14  char** nucs;
15  int* nucids;
16  double* decay_matrix;
18 
20 
21 int pyne_cram_transmute_ij(int i, int j);
22 
23 int pyne_cram_transmute_nucid_to_i(int nucid);
24 
25 void pyne_cram_solve_double(double* A, double* b, double* x);
26 void pyne_cram_diag_add_double(double* A, double alpha);
27 void pyne_cram_dot_double(double* A, double* x, double* y);
28 void pyne_cram_scalar_times_vector_double(double, double*);
29 
30 // double complex types are not allowed in the C++ type convention,
31 // which extern "C" forced us into.
32 
33 void pyne_cram_expm_multiply6(double* A, double* b, double* x);
34 void pyne_cram_expm_multiply8(double* A, double* b, double* x);
35 void pyne_cram_expm_multiply10(double* A, double* b, double* x);
36 void pyne_cram_expm_multiply12(double* A, double* b, double* x);
37 void pyne_cram_expm_multiply14(double* A, double* b, double* x);
38 void pyne_cram_expm_multiply16(double* A, double* b, double* x);
39 void pyne_cram_expm_multiply18(double* A, double* b, double* x);
40 #endif // PYNE_CRAM_SOLVE_CPP
struct pyne::alpha alpha
a struct matching the '/decay/alphas' table in nuc_data.h5.
void pyne_cram_diag_add_double(double *A, double alpha)
Definition: cram.c:88351
int pyne_cram_transmute_nucid_to_i(int nucid)
Definition: cram.c:30168
double b(int nuc)
Computes the scattering length [cm] from the coherent and incoherent components.
Definition: pyne.cc:11180
int pyne_cram_transmute_ij(int i, int j)
Definition: cram.c:36
struct pyne_cram_transmute_info_tag pyne_cram_transmute_info_t
void pyne_cram_expm_multiply14(double *A, double *b, double *x)
Definition: cram.c:242901
void pyne_cram_expm_multiply6(double *A, double *b, double *x)
Definition: cram.c:228865
void pyne_cram_solve_double(double *A, double *b, double *x)
Definition: cram.c:37156
void pyne_cram_expm_multiply18(double *A, double *b, double *x)
Definition: cram.c:249931
void pyne_cram_expm_multiply16(double *A, double *b, double *x)
Definition: cram.c:246415
void pyne_cram_dot_double(double *A, double *x, double *y)
Definition: cram.c:91846
void pyne_cram_expm_multiply8(double *A, double *b, double *x)
Definition: cram.c:232371
void pyne_cram_expm_multiply12(double *A, double *b, double *x)
Definition: cram.c:239389
void pyne_cram_scalar_times_vector_double(double, double *)
Definition: cram.c:95341
pyne_cram_transmute_info_t pyne_cram_transmute_info
Definition: cram.c:26
void pyne_cram_expm_multiply10(double *A, double *b, double *x)
Definition: cram.c:235879