Skip to content

Commit

Permalink
CNO (#1064)
Browse files Browse the repository at this point in the history
* Add CNO atomic data files based on MakeMacro
* Update some of the array size limits
  • Loading branch information
kslong authored May 14, 2024
1 parent 89b2f74 commit b2ac4f6
Show file tree
Hide file tree
Showing 93 changed files with 1,141,833 additions and 7 deletions.
4 changes: 2 additions & 2 deletions source/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ extern int nlevels; /**< These are the actual number of level
extern int nlte_levels; /**< Actual number of levels to treat explicityly */

/* AUGER NOTE: recommended to increase NLEVELS_MACRO to at least 500 for Auger macro-atoms */
#define NLEVELS_MACRO 300 /**< Maximum number of macro atom levels. (SS, June 04) */
#define NLEVELS_MACRO 600 /**< Maximum number of macro atom levels. (SS, June 04) */
extern int nlevels_macro; /**< Actual number of macro atom levels. (SS, June 04) */
#define NLINES 200000 /**< Maximum number of lines to be read */
extern int nlines; /**< Actual number of lines that were read in */
Expand Down Expand Up @@ -314,7 +314,7 @@ extern double phot_freq_min; /**< The lowest frequency for which photo
extern double inner_freq_min; /**< The lowest frequency for which inner shell ionization can take place */

#define NCROSS 3000 /**< Maximum number of x-sections for a single photionization process */
#define NTOP_PHOT 400 /**< Maximum number of photoionisation processes. */
#define NTOP_PHOT 600 /**< Maximum number of photoionisation processes. */
/* AUGER NOTE: recommended to increase NTOP_PHOT to 1000 for Auger macro-atoms */
extern int ntop_phot; /**< The actual number of TopBase photoionzation x-sections */
extern int nphot_total; /**< total number of photoionzation x-sections = nxphot + ntop_phot */
Expand Down
9 changes: 5 additions & 4 deletions source/templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -331,13 +331,14 @@ double get_matom_f_accelerate(int mode);
/* macro_gov.c */
int macro_gov(PhotPtr p, int *nres, int matom_or_kpkt, int *which_out);
int macro_pops(PlasmaPtr xplasma, double xne);
int macro_pops_fill_rate_matrix(MacroPtr mplasma, PlasmaPtr xplasma, double xne, int index_element, double rate_matrix[300][300], int radiative_flag[300][300], int conf_to_matrix[300]);
int macro_pops_check_for_population_inversion(int index_element, double *populations, int radiative_flag[300][300], int conf_to_matrix[300]);
int macro_pops_check_densities_for_numerical_errors(PlasmaPtr xplasma, int index_element, double *populations, int conf_to_matrix[300], int n_iterations);
void macro_pops_copy_to_xplasma(PlasmaPtr xplasma, int index_element, double *populations, int conf_to_matrix[300]);
int macro_pops_fill_rate_matrix(MacroPtr mplasma, PlasmaPtr xplasma, double xne, int index_element, double rate_matrix[600][600], int radiative_flag[600][600], int conf_to_matrix[600]);
int macro_pops_check_for_population_inversion(int index_element, double *populations, int radiative_flag[600][600], int conf_to_matrix[600]);
int macro_pops_check_densities_for_numerical_errors(PlasmaPtr xplasma, int index_element, double *populations, int conf_to_matrix[600], int n_iterations);
void macro_pops_copy_to_xplasma(PlasmaPtr xplasma, int index_element, double *populations, int conf_to_matrix[600]);
/* matom.c */
int matom(PhotPtr p, int *nres, int *escape);
double b12(struct lines *line_ptr);
double xalpha_sp(struct topbase_phot *cont_ptr, PlasmaPtr xplasma, int ichoice);
double alpha_sp(struct topbase_phot *cont_ptr, PlasmaPtr xplasma, int ichoice);
double scaled_alpha_sp_integral_band_limited(struct topbase_phot *cont_ptr, PlasmaPtr xplasma, int ichoice, double freq_min, double freq_max);
double alpha_sp_integrand(double freq, void *params);
Expand Down
2 changes: 1 addition & 1 deletion source/xlog.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ int n_mpi_procs = 0; // the number of mpi processes

int log_print_max = 100; // Maximum number of times a single error will be reported.
// Note that it will still be counted.
int max_errors = 100000; // Maximum number of times an error can occur before giving up
int max_errors = 1000000; // Maximum number of times an error can occur before giving up

typedef struct error_log
{
Expand Down
543 changes: 543 additions & 0 deletions xdata/atomic_macro/h10_hetop_only_ele_ion.dat

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions xdata/atomic_macro2/Readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The data in this directory were created with MakeMakeMacro
729 changes: 729 additions & 0 deletions xdata/atomic_macro2/c_1__upsilon.dat

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions xdata/atomic_macro2/c_1_levels.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Dtype Element Ion lvl ion_pot ex g rad_rate config islp ilv
-------- ------- --- --- ---------- -------- --- -------- ------------ ---- ---
LevMacro 6 1 1 -11.260296 0.000000 1.0 1e+21 2p2_3P0.0 310 1
LevMacro 6 1 2 -11.258261 0.002035 3.0 1e-09 2p2_3P1.0 310 1
LevMacro 6 1 3 -11.254913 0.005383 5.0 1e-09 2p2_3P2.0 310 1
LevMacro 6 1 4 -9.996559 1.263737 5.0 1e-09 2p2_1D2.0 120 1
LevMacro 6 1 5 -8.576267 2.684029 1.0 1e-09 2p2_1S0.0 100 1
LevMacro 6 1 6 -7.077640 4.182656 5.0 1e-09 2s_2p3_5S2.0 501 1
LevMacro 6 1 7 -3.779863 7.480433 1.0 1e-09 2p_3s_3P0.0 311 1
LevMacro 6 1 8 -3.777484 7.482812 3.0 1e-09 2p_3s_3P1.0 311 1
LevMacro 6 1 9 -3.772457 7.487839 5.0 1e-09 2p_3s_3P2.0 311 1
LevMacro 6 1 10 -3.575484 7.684812 3.0 1e-09 2p_3s_1P1.0 111 1
LevMacro 6 1 11 -3.314123 7.946173 3.0 1e-09 2s_2p3_3D1.0 321 1
LevMacro 6 1 12 -3.313985 7.946311 5.0 1e-09 2s_2p3_3D2.0 321 1
LevMacro 6 1 13 -3.314482 7.945814 7.0 1e-09 2s_2p3_3D3.0 321 1
LevMacro 6 1 14 -2.723148 8.537148 3.0 1e-09 2p_3p_1P1.0 110 1
LevMacro 6 1 15 -2.619852 8.640444 3.0 1e-09 2p_3p_3D1.0 320 1
LevMacro 6 1 16 -2.617227 8.643069 5.0 1e-09 2p_3p_3D2.0 320 1
LevMacro 6 1 17 -2.613089 8.647207 7.0 1e-09 2p_3p_3D3.0 320 1
LevMacro 6 1 18 -2.489116 8.771180 3.0 1e-09 2p_3p_3S1.0 300 1
LevMacro 6 1 19 -2.413662 8.846634 1.0 1e-09 2p_3p_3P0.0 310 2
LevMacro 6 1 20 -2.412125 8.848171 3.0 1e-09 2p_3p_3P1.0 310 2
LevMacro 6 1 21 -2.409586 8.850710 5.0 1e-09 2p_3p_3P2.0 310 2
LevMacro 6 1 22 -2.257664 9.002632 5.0 1e-09 2p_3p_1D2.0 120 2
LevMacro 6 1 23 -2.088401 9.171895 1.0 1e-09 2p_3p_1S0.0 100 2
LevMacro 6 1 24 -1.929671 9.330625 1.0 1e-09 2s_2p3_3P0.0 311 2
LevMacro 6 1 25 -1.929940 9.330356 3.0 1e-09 2s_2p3_3P1.0 311 2
LevMacro 6 1 26 -1.929779 9.330517 5.0 1e-09 2s_2p3_3P2.0 311 2
LevMacro 6 1 27 -1.629172 9.631124 5.0 1e-09 2p_3d_1D2.0 121 1
LevMacro 6 1 28 -1.576459 9.683837 1.0 1e-09 2p_4s_3P0.0 311 3
LevMacro 6 1 29 -1.575000 9.685296 3.0 1e-09 2p_4s_3P1.0 311 3
LevMacro 6 1 30 -1.571114 9.689182 5.0 1e-09 2p_4s_3P2.0 311 3
LevMacro 6 1 31 -1.564791 9.695505 5.0 1e-09 2p_3d_3F2.0 331 1
LevMacro 6 1 32 -1.562754 9.697542 7.0 1e-09 2p_3d_3F3.0 331 1
LevMacro 6 1 33 -1.553085 9.707211 3.0 1e-09 2p_3d_3D1.0 321 2
LevMacro 6 1 34 -1.558485 9.701811 9.0 1e-09 2p_3d_3F4.0 331 1
LevMacro 6 1 35 -1.551332 9.708964 5.0 1e-09 2p_3d_3D2.0 321 2
LevMacro 6 1 36 -1.550017 9.710279 7.0 1e-09 2p_3d_3D3.0 321 2
LevMacro 6 1 37 -1.547284 9.713012 3.0 1e-09 2p_4s_1P1.0 111 2
LevMacro 6 1 38 -1.523808 9.736488 7.0 1e-09 2p_3d_1F3.0 131 1
LevMacro 6 1 39 -1.547284 9.713012 3.0 1e-09 2p_3d_1P1.0 111 3
LevMacro 6 1 40 -1.426949 9.833347 5.0 1e-09 2p_3d_3P2.0 311 4
LevMacro 6 1 41 -1.425965 9.834331 3.0 1e-09 2p_3d_3P1.0 311 4
LevMacro 6 1 42 -1.425420 9.834876 1.0 1e-09 2p_3d_3P0.0 311 4
Loading

0 comments on commit b2ac4f6

Please sign in to comment.