PyNE C++
cram.hpp
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 
19 extern pyne_cram_transmute_info_t pyne_cram_transmute_info;
20 
21 int pyne_cram_transmute_ij(int i, int j);
22 
23 int pyne_cram_transmute_nucid_to_i(int nucid);
24 
25 
26 void pyne_cram_solve_double(double* A, double* b, double* x);
27 void pyne_cram_diag_add_double(double* A, double alpha);
28 void pyne_cram_dot_double(double* A, double* x, double* y);
29 void pyne_cram_scalar_times_vector_double(double, double*);
30 
31 // double complex types are not allowed in the C++ type convention,
32 // which extern "C" forced us into.
33 
34 void pyne_cram_expm_multiply6(double* A, double* b, double* x);
35 void pyne_cram_expm_multiply8(double* A, double* b, double* x);
36 void pyne_cram_expm_multiply10(double* A, double* b, double* x);
37 void pyne_cram_expm_multiply12(double* A, double* b, double* x);
38 void pyne_cram_expm_multiply14(double* A, double* b, double* x);
39 void pyne_cram_expm_multiply16(double* A, double* b, double* x);
40 void pyne_cram_expm_multiply18(double* A, double* b, double* x);
41 #endif // PYNE_CRAM_SOLVE_CPP
struct pyne::alpha alpha
a struct matching the '/decay/alphas' table in nuc_data.h5.
double b(int nuc)
Computes the scattering length [cm] from the coherent and incoherent components.
Definition: data.cpp:835
Definition: cram.h:9