Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tag models with falied explosions and black hole formation #333

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Sheshuk
Copy link
Contributor

@Sheshuk Sheshuk commented May 15, 2024

The goal here is to tag the models which lead to black hole formation:

metadata["Explodes"]=False #if the model doesn't lead to explosion
metadata["Black hole"]=True #if the model forms the BH at the end of the simulation

This is work related to issue #303

We already have the Black hole flag in the Fornax_2022 model metadata. (edit: it should be metadata["Explodes"] == False)
It would be nice to tag all the models with black hole formation, so the user can easily study this scenario in all existing models.

  • Nakazato: forms BH if revival_time==0
  • OConnor_2015: failed SN, forms BH
  • Warren_2020: failed SN if total energy is below 1e49 erg
  • Zha_2021: forms BH if filename is not s18, s25
  • Walk_2019: all models form BH
  • Fornax_2022: failed SN if bh in filename
  • others?

@evanoconnor
Copy link
Collaborator

In O'Connor 2015 that model forms a black hole.
In O'Connor 2013 those models do not (when the simulation ends) form black holes
In Zha 2021, many do form black holes, including: s16, s17, s19.89, s19, s20, s21, s22.39, s22, s23, s24, s26, s30, and s33 those that don't are s18, s25

We should check the Walk 2019 models, I think there are black hole in there.
There may be some black holes in the Warren models, that will take some digging though, there are so many.

On a different note, some of the Zha 2021 models undergo a quark-hadron phase transition. This could be the subject of a future tag?

@JostMigenda
Copy link
Member

For Warren_2020, here’s a code snippet I wrote a while back:

import h5py
from snewpy import model_path

def explodes(f: h5py._hl.files.File):
    """Returns bool indicating whether simulation exploded successfully.
    
    A simulation is considered to explode if its diagnostic explosion energy
    exceeds 1e49 ergs. This is in line with the definition of explosion time
    in arXiv:1902.01340v2, p. 16."""
    return f['sim_data']['expl_energy'][-1][1] > 1e49

def core_bounce_time(f: h5py._hl.files.File):
    """Returns core bounce time, i.e. earliest time with a non-zero shock radius."""
    for (time, radius) in f['sim_data']['shock_radius']:
        if radius > 0.00001:
            return time

def bh_formation_time(f: h5py._hl.files.File):
    """Returns black hole formation time.
    
    For low-compactness progenitors, black hole formation time might be longer than
    simulation time, see discussion in arXiv:1902.01340v2, p. 16."""
    if explodes(f):
        raise ValueError(f"{f} explodes successfully. Cannot determine black hole formation time.")

    t_bounce = core_bounce_time(f)
    t_max = f['sim_data']['shock_radius'][-1][0]
    if t_max < 4.99:
        return t_max - t_bounce
    else:
        # TODO: estimate from free-fall timescale instead of raising ValueError?
        raise ValueError(f"Simulation stopped at {t_max - t_bounce:.6} s post-bounce. Neither explosion nor black hole formation observed.")


# all available progenitor masses
masses = ['9.0', '9.25', '9.5', '9.75', '10.0', '10.25', '10.5', '10.75', '11.0', '11.25', '11.5', '11.75', '12.0', '12.25', '12.5', '12.75', '13.0', '13.1', '13.2', '13.3', '13.4', '13.5', '13.6', '13.7', '13.8', '13.9', '14.0', '14.1', '14.2', '14.3', '14.4', '14.5', '14.6', '14.7', '14.8', '14.9',
          '15.0', '15.1', '15.2', '15.3', '15.4', '15.5', '15.6', '15.7', '15.8', '15.9', '16.0', '16.1', '16.2', '16.3', '16.4', '16.5', '16.6', '16.7', '16.8', '16.9', '17.0', '17.1', '17.2', '17.3', '17.4', '17.5', '17.6', '17.7', '17.8', '17.9',
          '18.0', '18.1', '18.2', '18.3', '18.4', '18.5', '18.6', '18.7', '18.8', '18.9', '19.0', '19.1', '19.2', '19.3', '19.4', '19.5', '19.6', '19.7', '19.8', '19.9', '20.0', '20.1', '20.2', '20.3', '20.4', '20.5', '20.6', '20.7', '20.8', '20.9',
          '21.0', '21.1', '21.2', '21.3', '21.4', '21.5', '21.6', '21.7', '21.8', '21.9', '22.0', '22.1', '22.2', '22.3', '22.4', '22.5', '22.6', '22.7', '22.8', '22.9', '23.0', '23.1', '23.2', '23.3', '23.4', '23.5', '23.6', '23.7', '23.8', '23.9',
          '24.0', '24.1', '24.2', '24.3', '24.4', '24.5', '24.6', '24.7', '24.8', '24.9', '25.0', '25.1', '25.2', '25.3', '25.4', '25.5', '25.6', '25.7', '25.8', '25.9', '26.0', '26.1', '26.2', '26.3', '26.4', '26.5', '26.6', '26.7', '26.8', '26.9',
          '27.0', '27.1', '27.2', '27.3', '27.4', '27.5', '27.6', '27.7', '27.8', '27.9', '28.0', '28.1', '28.2', '28.3', '28.4', '28.5', '28.6', '28.7', '28.8', '28.9', '29.0', '29.1', '29.2', '29.3', '29.4', '29.5', '29.6', '29.7', '29.8', '29.9',
          '30.0', '31', '32', '33', '35', '40', '45', '50', '55', '60', '70', '80', '100', '120']

a_lambda = '1.23'  # mixing length parameter

for m in masses:
    filename = f"{model_path}/Warren_2020/stir_a{a_lambda}/stir_multimessenger_a{a_lambda}_m{m}.h5"
    f = h5py.File(filename, 'r')

    if explodes(f):
        print(f"{a_lambda}, {m} explodes.")
    else:
        try:
            print(f"{a_lambda}, {m} forms black hole at {bh_formation_time(f):.6} s post-bounce.")
        except ValueError as e:
            print(f"{a_lambda}, {m} [UNKNOWN]: {e}")

@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 15, 2024

Thanks a lot @evanoconnor and @JostMigenda! I will implement this.

In Zha 2021, many do form black holes, including: s16, s17, s19.89, s19, s20, s21, s22.39, s22, s23, s24, s26, s30, and s33 those that don't are s18, s25

I'm a bit confused, since the paper https://iopscience.iop.org/article/10.3847/1538-4357/abec4c says (page 2)

All the progenitor models used in this work ... collapse to BHs in a reasonably short time

Does that mean that these models make failing supernovae, but s18 and s25 do not form BH at the end of the simulation, but will eventually?

@evanoconnor
Copy link
Collaborator

evanoconnor commented May 15, 2024

@Sheshuk yes, those two will form black holes, I.e. they are failed supernovae, but haven’t reached the actually black hole formation. I guess this is the idea of the tag, is to flag that the end is the time of black hole formation, rather than the simulation on the whole has failed? Or not?

I guess that statement on page two is a bit ambiguous. The point was that if the explosion failed, these would make black holes in a reasonable short time, O(s), because the compactness is high enough (not necessarily that they do so in the simulations). Lower compactness models may accrete for 10s, 100s, or even longer seconds before black hole formation (if they fail).

@Sheshuk Sheshuk marked this pull request as ready for review May 15, 2024 19:40
@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 15, 2024

I see, thank you for the explanation!
Maybe then we need a special tag "failed"? Or "explodes"? Would the users want this list?
Anyway, probably this is not for this PR.

@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 15, 2024

So now the following snippet

from snewpy.models.registry_model import get_models_table

table = get_models_table(init=True) #Some metadata is seen only after the initialization

models_bh =  table[table['Black hole']==True]
for m in models_bh:
    print(m['model'],m['init_params'])

produces the following list:

Details

snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12. solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.03 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.07 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.1 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.18 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.2 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.33 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.4 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.45 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.5 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.54 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.6 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.72 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.8 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.85 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.9 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 12.97 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13. solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.05 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.25 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.27 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.32 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.4 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.5 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.6 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.82 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 13.9 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.13 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.25 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.4 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.41 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.44 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.7 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 14.87 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 15. solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 15.04 solMass>}
snewpy.models.ccsn.Fornax_2022 {'progenitor_mass': <Quantity 15.38 solMass>}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 16. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 17. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 19. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 20. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 21. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 22. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 23. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 24. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 26. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 19.89 solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 22.39 solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 30. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Zha_2021 {'progenitor_mass': <Quantity 33. solMass>, 'eos': 'STOS_B145'}
snewpy.models.ccsn.Nakazato_2013 {'progenitor_mass': <Quantity 30. solMass>, 'revival_time': <Quantity 0. ms>, 'metallicity': 0.004, 'eos': 'LS220'}
snewpy.models.ccsn.Nakazato_2013 {'progenitor_mass': <Quantity 30. solMass>, 'revival_time': <Quantity 0. ms>, 'metallicity': 0.004, 'eos': 'shen'}
snewpy.models.ccsn.Nakazato_2013 {'progenitor_mass': <Quantity 30. solMass>, 'revival_time': <Quantity 0. ms>, 'metallicity': 0.004, 'eos': 'togashi'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 10.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 10.75 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 11.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 11.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 11.5 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.25 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.25 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.75 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 12.75 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13. solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.1 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.1 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.2 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.6 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.6 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.7 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.8 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.8 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.8 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 13.9 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14. solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14. solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.1 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.1 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.1 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.2 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.2 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.3 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.4 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.5 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.6 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.6 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.6 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.7 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.7 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.8 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.8 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.8 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.9 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 14.9 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15. solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15. solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.1 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.1 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.1 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.3 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.4 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.5 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.6 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.6 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.8 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 15.9 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.2 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.8 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.8 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.8 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 17.9 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.1 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.1 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.2 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 18.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.4 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.5 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.5 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.5 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.6 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.6 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 19.6 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.6 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.6 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.7 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.8 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.8 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.8 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.9 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 20.9 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.2 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.4 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 21.4 solMass>, 'turbmixing_param': 1.27, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 27.7 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 27.7 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 27.9 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28.1 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28.2 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28.3 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28.3 solMass>, 'turbmixing_param': 1.25, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 28.4 solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 100. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.Warren_2020 {'progenitor_mass': <Quantity 120. solMass>, 'turbmixing_param': 1.23, 'eos': 'SFHo'}
snewpy.models.ccsn.OConnor_2015 {'progenitor_mass': <Quantity 40. solMass>, 'eos': 'LS220'}

@evanoconnor
Copy link
Collaborator

Ok, just to follow up here. The idea is to flag models where the shock hasn't been revived by the end of the simulation? If so, I would't call this a black hole tag. I think a black hole tag would be more appropriate for a simulation that ends when the black hole forms.

there is not a one-to-one mapping with no shock revival at some time and black hole formation. For example, there can be simulations that have successful explosions and still have black hole formation, also ones that are not exploding when the simulation ends but may later explode and leave a neutron star.

So we should be careful and clear with the definition.

@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 17, 2024

Yes, original idea was to tag the black hole formation during the simulation.

We can make any other tags, that could be useful for grouping simulations. Knowing if the given model is leading to (eventual) explosion would be useful for searches of failed supernovae signals.

I think we tagged most BH formations now, so if there are no other models to mark, I would consider this finished.

@evanoconnor
Copy link
Collaborator

Ok,

then I expect many of the Fornax ones are incorrectly tagged, the 12Msun (first in the list), failed to explode, but doesn’t actually form a black hole at that time, it is only simulated to ~1 second.

@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 20, 2024

then I expect many of the Fornax ones are incorrectly tagged, the 12Msun (first in the list), failed to explode, but doesn’t actually form a black hole at that time, it is only simulated to ~1 second.

For the Fornax_2022 I tagged the ones which have 'bh' in the file names. Is there a better way to get this information? Maybe there is some information in the data file?

In general it would be nice to add all accessible info to the metadata

@Sheshuk
Copy link
Contributor Author

Sheshuk commented May 24, 2024

OK, looks like it's slightly more complicated then I expected.
I suggest just setting the metadata["Explodes"] = False for these models - so at least it's possible to study the signals of failed supernovae.
And adding the black hole formation as a separate issue.

@Sheshuk Sheshuk changed the title Tag models with black hole formation Tag models with falied explosions and black hole formation May 24, 2024
@sybenzvi sybenzvi assigned sybenzvi and unassigned sybenzvi Aug 12, 2024
@sybenzvi sybenzvi added the minor Low priority label Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
minor Low priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants