See the discussed changes in our previous releases here: https://github.com/COSMIC-PopSynth/COSMIC/releases
- fixed sampling issues for renzo19 and sana12 so that they work with CMC
- update to Docker ubuntu image
- minor fixes to documentation to stop warnings/errors which break doc website deployment
- adds in build wheels for Python 3.9 and 3.10
- add warning for mlwind prescriptions which assume zsun = 0.019
- modifications to how m2min and qmin are specified in initial conditions sampling
- fixed sampling issues from Plummer profiles in cmc.py
- fixed Eddington limits such that wind accretion is limited to eddington and thus limits RLO accretion if the wind accretion is already super-Eddington
- fixed errors in Marchant+ PISN prescription
- updated the actions to build properly
- added new Eddington limit prescriptions for BH accretion
- cleaned up versioning
- Exchanged any print statements for
warnings.warnto allow silencing - Fixed up docs to catch warnings
- removed zsun_wind so that we can match stock BSE exactly and added extra documentation surrounding the winds
- added a NaN catch in cosmic-pop that throws a warning of NaNs, saves them to a file, and instructs the user to consider changing pts1 since this is the main driver of NaNs so far
- Added
sampling_target == "total_mass"option to independent sampler so you can target a specific total mass instead of number of binaries - Added
trim_extra_samplesparameter to the same function - which trims your samples to get as close as possible to the target total mass - Bug fixes: secondaries of single stars are now marked as massless remnants instead of main sequence stars, binfrac=0.0 no longer leads to an infinite loop in sampling
- Bug fixes:
timestep_conditionsforbcmarrays now raise errors for invalid columns instead of failing silently - Add
teff_1andteff_2as variables that can be used to settimestep_conditions - Add in
-1option to turn off Magnetic Braking in htmb - Added
central_bhandscale_with_central_bhas options to the CMC sampler, in order to add central massive black holes to CMC initial conditions
- Added sampling options to
independentsampler to allow for custom power law distributions forporbandq
- Feature: Added
bpp_columnsandbcm_columnsparameters to theevolve()function to allow users to specify the columns in the bpp and bcm tables - Bug fix: Changed
kick.fto use the Pfahl+02 kick prescription by default instead of Kiel & Hurley 2009, this fixes ejection velocities of secondaries and also changed kick_info to have an extra column
- Overhaul documentation and added debugging environment
- Feature: Added Disberg+2025 kick prescription as a new choice of
kickflag(kickflag=5). Applies log-normal distribution to regular CCSN, ECSN/USSN still usesigmadivMaxwellian and BH fallback scaling is still applied viabhflagandbhsigmafracas withkickflag=1
- Add support for single stars in both independent and multidim sampling
- update documentation
- Add functions to
cosmic.utilsfor initC IO that's more efficient (save_initC,load_initC) by saving identical setting columns separately with only one copy - saves ~1kb per binary - Make He and CO core masses available in output
- Change defaults;
qcflag=5andeccfac=10 - Prevent users from supplying both
qminandm2_min - Prevent users from supplying both
sepandporbwhen sampling, calculateporbfromsepas necessary - Define
binstate=-1as single stars
- Add
remnantflag=5: The Mandel & Muller 2020 prescription for remnant masses - Add
kickflag=6: The Mandel & Muller 2020 prescription for natal kicks. This can be tuned withmm_mu_nsandmm_mu_bh - Add
remnantflag=6: The Maltsev+25 and Willcox+25 prescription for remnant masses. This can be tuned withmaltsev_modeandmaltsev_fallback - (Docs) Any tutorial that uses a plain BSEDict now uses one that is drawn from the cosmic-settings.json file to avoid missing changes and saves us updating each docs page
- Bug fix [#729]: ensure disruptions are logged with
evol_type==11when SNe occur during CEs - Bug fix [#725]: set
tb=sep=0for cases where AIC caused a WD to explode and leave behind no remnant (evolve_type==9) - Bug fix [#724]: remove bug where
kstar=15was assigned its previous epoch mass after merging during a CE and the merger product goes SN
Issues with PyPi, unreleased.
This release contains several fixes to how CO core masses/remnant masses are handled. It also adds a new PISN prescription, windflag and LBV winds flag.
-
Fixes:
- Update
mc_coandmc_heafter adjustingmc = mcmaxinhrdiag.ffor stripped stars. This can be a fairly significant change, up to ~2 Msun. (Used to actually be up to 10 Msun because we added HeMS core mass growth) - Make
evolv2.factually log PISN (they get set tokw = 15so were missed previously) - Change
loop = 40000(up from 20,000), otherwise 70 Msun stars run out of loops with new mass modifier - Changed all existing
pisnprescriptions to usemc_totinstead ofmcbagbfor conditions - Update
mc = mtfor ALL remnants instead of just for certain flags - Only apply conversion from baryonic to gravitational mass once. Previous code APPLIED IT TWICE!! for core-collapse BHs! Create subroutine
baryonic_to_gravitational_mass, which is called throughout - Ensure stellar type changes during hrdiag are logged to the bpp before SN occurs
- Add check after CE for whether a SN occurs right at the end
- Update
-
Additions/changes:
- Linearly grow the core mass of HeMS stars from 0 to the value at the start of HeHG and check for core-collapse for all He stars (not just HeHG and HeGB)
- Add
dt_mass_modifierargument toEvolve.evolve(). This lets you specify a list of tuples(m_low, m_high, mod), which multipliespts1/pts2/pts3bymodfor stars with primary star (only care about primary, conservative) ZAMS masses betweenm_low <= m_ZAMS < m_high - Added a
windflag = -1option to turn off stellar winds entirely - Added
pisn = -4for Renzo+22/Hendriks+23 prescription for PPISN mass loss- With options
ppi_co_shiftandppi_extral_ml
- With options
- Add new setting
LBV_flagwhich allows one to turn off LBV winds, use Hurley+2000, or use Belcyznski+2008 - Change the default LBV winds to Hurley
-
Code cleanup:
assign_remnantno longer takesmc_totas a parameter, just get it from the common block- WD chandrasekhar check use
mc_coinstead ofmc - Remnant flags 0-4 inclusive use
mc_coinstead ofmc - Got rid of
mcxinassign_remnantin favour of clearerm_protoandm_FeNito match the papers - [Very minor] Fryer Rapid was using <= instead of < everywhere
-
Documentation:
- Start new settings gallery in the documentation
- Tag settings/options with the version they were added in the docs page and auto link them to release
- Fixes:
- Prevent tides calculations based on NS/BHs
- Track mean_anomaly (save to kick_info) array even when a system is disrupted
- Throw an error if invalid metallicities are provided for evolution
- Additions/changes:
- Added
poolandnprocparameters to theindependentsampler. Users can either specify an existing multiprocessing pool or a number of processors to use to create a pool that will be used for the sampling. This offers significant speed-ups for samples larger than 10,000 binaries.
- Added