lesgourg / class_public

Public repository of the Cosmic Linear Anisotropy Solving System (master for the most recent version of the standard code; GW_CLASS to include Cosmic Gravitational Wave Background anisotropies; classnet branch for acceleration with neutral networks; ExoCLASS branch for exotic energy injection; class_matter branch for FFTlog)
220 stars 291 forks source link

Segfault in Mac Monterey when running Exoclass with DM decay #486

Open dipan0811 opened 2 years ago

dipan0811 commented 2 years ago

Hi,

This is a follow up to the previous issue. In Mac Monterey, it looks like the DM decay mode (when I provide a DM decay and a decay fraction) gives seg faults. Note that I have worked with annihilation and it works. I seemed to have narrowed it down to Recfast or Hyrec recombination table blocks between lines 4886 and 4893 in thermodynamics.c See below

(preco->recombination_table+(Nz-i-1)preco->re_size+preco->index_re_z)=zend;

/* ionization fraction */

*(preco->recombination_table+(Nz-i-1)*preco->re_size+preco->index_re_xe)=x0;

/* Tb */
*(preco->recombination_table+(Nz-i-1)*preco->re_size+preco->index_re_Tb)=y[2];

printf("THIS IS A 5th RECFAST FLAG\n");

/* get dTb/dz=dy[2] */
class_call(thermodynamics_derivs_with_recfast(zend, y, dy, &tpaw,pth->error_message),
           pth->error_message,
           pth->error_message);

printf("THIS IS A 6th RECFAST FLAG\n");

and check the output below

Computing background -> age = 13.461693 Gyr -> conformal age = 13894.100411 Mpc -> radiation/matter equality at z = 3512.881472 corresponding to conformal time = 109.275497 Mpc Computing thermodynamics -> running: python /Users/dipan/Downloads/class_public-ExoCLASS/DarkAgesModule/bin/DarkAges --hist=decay --spectrum muon bottom --mass=62.95 --branching 0.723 0.277 --tdec=3.09176e+24 THIS IS A FLAG THIS IS A RECFAST FLAG THIS IS A second RECFAST FLAG THIS IS A third RECFAST FLAG THIS IS A 4th RECFAST FLAG THIS IS A 5th RECFAST FLAG zsh: segmentation fault ./class example_call_darkages.ini

The ini file is attached. The same problem occurs regardless of hyrec or recast. Weirdly enough the code seems to run on linux machines

########## recombination = recfast

recombination = hyrec

recombination = cosmorec

DM_mass = 62.95

annihilation_cross_section = 3e-26

Gamma_dcdm = 1e-5 decay_fraction = 1

injected_particle_spectra = dirac_photon dirac_electron

injected_particle_branching_ratio = 0.5 0.5

POSIBILITY 1

Call DarkAges directly Run the "simple_mix" model: The model takes two input parameters: 1) The mass of the DM-candidat in GeV [50,100] 2) The branching ratio of muons as primaries (1 - branching ratio of bottoms as primaries) [0,1]

energy_deposition_function = DarkAges

DarkAges_mode = user_command

DarkAges_command = ./DarkAgesModule/bin/DarkAges --model simple_mix

DarkAges_par1 = 62.95

DarkAges_par2 = 0.723