Provided to developers on request.
import pandas as pd
from cosmic.evolve import Evolve
BSEDict = {'pts1': 0.001,
'pts2': 0.01, 'pts3': 0.02, 'zsun': 0.014, 'windflag': 3, 'eddlimflag': 0,
'neta': 0.5, 'bwind': 0.0, 'hewind': 0.5, 'beta': -1, 'xi': 1.0, 'acc2': 1.5,
'LBV_flag': 2, 'alpha1': [1.0, 1.0], 'lambdaf': 1.0, 'ceflag': 0, 'cekickflag': 2,
'cemergeflag': 0, 'cehestarflag': 0, 'qcflag': 5,
'qcrit_array': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
'kickflag': 5, 'sigma': 265.0, #265.0,
'bhflag': 1, 'bhsigmafrac': 1.0, 'sigmadiv': -20.0,
'ecsn': 2.25, 'ecsn_mlow': 1.6, 'aic': 1, 'ussn': 1, 'polar_kick_angle': 90.0,
'natal_kick_array': [[-100.0, -100.0, -100.0, -100.0, 0.0], [-100.0, -100.0, -100.0, -100.0, 0.0]],
'mm_mu_ns': 400.0, 'mm_mu_bh': 200.0, 'remnantflag': 4, 'fryer_mass_limit': 0, 'mxns': 3.0,
'fryer_fmix': 1.0, 'fryer_mcrit_nsbh': 5.75, 'rembar_massloss': 0.5, 'wd_mass_lim': 1,
'maltsev_mode': 0, 'maltsev_fallback': 0.5, 'maltsev_pf_prob': 0.1, 'pisn': -4,
'ppi_co_shift': 0.0, 'ppi_extra_ml': 0.0, 'bhspinflag': 0, 'bhspinmag': 0.0, 'grflag': 1,
'eddfac': 10, 'gamma': -2, 'don_lim': -1, 'acc_lim': [-1, -1],
'smt_periastron_check': 0, 'tflag': 1, 'ST_tide': 1,
'fprimc_array': [0.09523809523809523]*16, 'ifflag': 1, 'wdflag': 1, 'epsnov': 0.001,
'bdecayfac': 1, 'bconst': 3000, 'ck': 1000, 'rejuv_fac': 1.0, 'rejuvflag': 0,
'bhms_coll_flag': 0, 'htpmb': 1, 'ST_cr': 1, 'rtmsflag': 0}
SSEDict = {
"stellar_engine": "metisse",
"path_to_tracks": "/home/duncan_m/Projects/stellar_tracks/big_z2_eeps/POSYDON/hydrogen/",
"path_to_he_tracks": "/home/duncan_m/Projects/stellar_tracks/big_z2_eeps/POSYDON/helium/",
"z_accuracy_limit": 1e-2,
}
binaries = pd.read_csv("bad_initC_NaNs_NS_0.0014.csv")
timestep_conditions = [['kstar_1<20', 'dtp=0.0']]
bpp, bcm, iC, kick_info = Evolve.evolve(
initialbinarytable=binaries, BSEDict=BSEDict,
SSEDict=SSEDict, nproc=1, timestep_conditions=timestep_conditions
)
print(bpp[bpp.isna().any(axis=1)])
Step to Reproduce
Run the attached code with the
standard/POSYDONbig_z2 tracks.CSV file
bad_initC_NaNs_NS_0.0014.csv
Tracks
Provided to developers on request.
Code
Description
I've noticed an issue on the
developbranch in which systems that contain a neutron star disrupt and report negative separations and NaN orbital periods. These systems are reported as disrupted inkick_infobut not inbcm. This can cause cosmic-pop to flag these systems as bad and throw a warning in the logs. It might also indicate a bigger problem in how supernova kicks are being reported.Expect outcome
Binaries which disrupt should have
ecc=porb=sep=-1to avoid polluting the output table with NaNs.Flags
Turning the
kickflagto1or6seems to resolve the issue, so I think this is a problem specifically with the Disberg+2025 kicks.