![]() |
SEVN
|
#include <delayed.h>
Public Member Functions | |
| delayed (Star *s=nullptr) | |
| Delayed. More... | |
| void | explosion (Star *s) override |
| delayed * | instance (Star *s) |
| std::string | name () const override |
| virtual supernova * | instance (_UNUSED Star *s)=0 |
| void | main (Star *s) |
| void | initialise_remnant (Star *s, double Mass_remnant, Lookup::Remnants Remnant_type) |
| double | get_fallback_frac () const |
| double | get_pisncorrection () const |
| double | get_M_neutrinos () const |
| double | get_Mremnant () const |
| double | get_Mremnant_preCorrection () const |
| double | get_AverageRemnant () const |
| double | get_AverageEjected () const |
| double | get_Mejected () const |
| double | get_remnant_type () const |
| virtual void | explosion_SNI (Star *s) |
| virtual void | explosion_SNI (Star *s, Binstar *b) |
| double | get_preSN_Mass (size_t massid) const |
Static Public Member Functions | |
| static supernova * | Instance (std::string const &name, Star *s) |
Static Public Attributes | |
| static delayed | _delayed |
Protected Member Functions | |
| virtual Lookup::Remnants | set_remnant_type_after_explosion (Star *s, double mremnant, Lookup::SNExplosionType sntype) |
| virtual void | CCexplosion (Star *s) |
| virtual void | ECSN (Star *s) |
| virtual void | WDformation (Star *s) |
| void | Register (supernova *ptr) |
| double | Mass_corrections_after_explosion (const double mass, Star *s) |
| virtual double | pisn (const double mass, Star *s)=0 |
| const PairInstability * | get_pairinstability () const |
| virtual double | neutrino_mass_loss (const double mass, Star *s) const |
| void | set_Average_for_Unified (Star *s, double default_Average_Mremnant, double default_Average_Mejected) |
| virtual int | set_preSN_Masses (Star *s)=0 |
| int | _set_preSN_Masses (Star *s, bool allow_pisn) |
Protected Attributes | |
| double | fallback_frac |
| double | M_neutrinos |
| double | pisn_correction |
| double | Mremnant |
| double | Mejected |
| double | Mremnant_preCorrection |
| double | Average_ejected |
| double | Average_remnant |
| Lookup::Remnants | remnant_type |
| Lookup::SNExplosionType | sn_type =Lookup::SNExplosionType::Unknown |
| SevnLogging | svlog |
Private Member Functions | |
| void | remnant_properties (Star *s) |
| void | set_staremnant (Star *s) |
| int | set_preSN_Masses (Star *s) override |
| PISN options. More... | |
| double | pisn (const double mass, Star *s) override |
Static Private Member Functions | |
| static std::map< std::string, supernova * > & | GetStaticMap () |
| static std::vector< int > & | GetUsed () |
Private Attributes | |
| Kicks * | kick |
| PairInstability * | pairinstability |
| NeutrinoMassLoss * | neutrinomassloss |
| utilities::MassContainer * | Mass_preSN =nullptr |
Delayed SN model by Fryer+12 BH/NS: agnostic, based on the max NS mass NS mass: estimated. max NS mass: from SEVN option sn_max_ns_mass ECSN: from base supernova class WD: from base supernova class fallback: estimated ppisn_correction: applied neutrino_correction: applied
| delayed::delayed | ( | Star * | s = nullptr | ) |
Delayed.
|
protectedinherited |
|
protectedvirtualinherited |
Handle the Core Collapse SN explosion, it calls the explosion method that is overridden in the SN models + take into account pisn corrections and neutrino mass loss.
| s | Pointer to the exploding star |
Reimplemented in DeathMatrix, delayed_gauNS, rapid_gauNS, and NSfromGau.
|
protectedvirtualinherited |
Handle the Electron Capture SN, it has to
| s | Pointer to the exploding star |
Reimplemented in DeathMatrix, delayed_gauNS, rapid_gauNS, and NSfromGau.
|
overridevirtual |
CoreCollapse SN explosion, this method must to:
| s | Pointer to the exploding star |
Implements supernova.
|
virtualinherited |
Trigger a SNIa explosion
| s | Pointer to star |
Trigger a SNIa explosion during a BSE evolution
| s | Pointer to star |
| b | Pointer to binary |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inlinestaticprivateinherited |
|
inlinestaticprivateinherited |
|
inherited |
Method used to initialise directy a remnant without passing through an explosion
| s | Pointer to the star, used to set remnant properties |
| Mass_remnant | Mass of the remnant |
| Remnant_type | Type of the Remnant, it should be an elemnt of the enum Lookup::Remnant |
Check input
Create an instance of the class allocated on the heap
|
inherited |
|
protectedinherited |
Estimate PISN and neutrino mass loss correction
| mass | Mremnant mass to correct |
| s | Pointer to the exploding star |
|
inlineoverridevirtual |
Remember that each new proper supernova model has to have a public static class istance to define in static_main.h e.g. static MySNmodel _mysnmodel; (in the class) and MySNmodel MySNmodel::_mysnmodel; in static_main.h Methods that must be customized in new models. !!!!NOTICE!!!!!: when overriding this function, remember to not use the s->getp to retrieve the preSN mass of the star use instead the method get_preSN_Mass(x) where x can be Mass::ID, MHE::ID, MCO::ID Name of the Supernova model, this will be use at runtime to select the given model
Reimplemented from supernova.
Reimplemented in delayed_gauNS.
|
protectedvirtualinherited |
|
overrideprotectedvirtualinherited |
Apply the PPSIN correction to the remnant mass
| mass | mass of the remnant |
| s | Pointer to the star that generated the remnant |
Implements supernova.
|
protectedpure virtualinherited |
|
inlineprotectedinherited |
|
privateinherited |
1-Set Mremnant e Mejected
2-Set the staremant object
|
protectedinherited |
Set the member Average_ejected and Average_remnant. These are used in the Unified Sn model
| s | Pointer to the star |
| default_Average_Mremnant | default Average_Mremnant for this SN model |
| default_Average_Mejected | default Average_Mejected for this SN model |
|
overrideprotectedvirtualinherited |
|
protectedpure virtualinherited |
|
protectedvirtualinherited |
Methods that may be customized in new models NOTICE-1: for most of the cases, in order to add a new model it is enough to just override the explosion method, the methods below can be overridden in rare some special cases. NOTICE-2: the pisn and neutrino mass loss corrections are handled through the virtual method pisn and neutrino_mass_loss, in principle, these methods can be overrided, however DON'T DO IT! The options for pisn and neutrino mass loss hare selected through the proper classes PairInstability and NeutrinoMassLoss, create a new model of the classes if you want to change the current formalism. DO NOT override the class, If you want to disable the corrections. If you want to disable the pisn at-compile time for a given model just inherit from the class PisnOFF, if you want to disable the neutrino mass loss inherit from NeutrinoMassLossOFF, e.g. class MySNmodel : virtual public supernova, PisnOFF, NeutrinoMassLossOFF{ If you wan to disable the corrections at runtime just choose the option disabled, e.g. -sn_pairinstability disabled and/or -sn_neutrinomloss disabled NOTICE: each new supernova model must inherit either from PisnON (to enable pisn correction) or from PisnOFF (to disable the pisn correction) !!!!NOTICE-IMPORTANT!!!!!: when overriding this function, remember to not use the s->getp to retrieve the preSN mass of the star use instead the method get_preSN_Mass(x) where x can be Mass::ID, MHE::ID, MCO::ID Set the remnant type, i.e. set the member remnant_type based on the remnant Mass and the sntype. The default version is quite simple, if Mass<Max Mass Neutron star (sn_max_ns_mass), the remnant is a NS_CCSN, otherwise it is a BH. If Mremnant is 0, the remnant type is Empty. If sntype is Electron Capture the remnant is NS_ECSN
| s | pointer to the exploding star |
| mremnant | Final mass of the remnant |
| sntype | SN type |
Set the remnant type, i.e. set the member remnant_type based on the remnant Mass and the sntype. The default version is quite simple, if Mass<Max Mass Neutron star (sn_max_ns_mass), the remnant is a NS_CCSN, otherwise it is a BH. If Mremnant is 0, the remnant type is Empty. If sntype is Electron Capture the remnant is NS_ECSN
| s | pointer to the exploding star |
| mremnant | Final mass of the remnant |
| sntype | SN type |
Set Remnant type
|
privateinherited |
Use this function to properly initiliase the pointer to the object It uses the protected member Mremnant
| s | Pointer to the star |
|
protectedvirtualinherited |
Handle the WD formation, it has to
| s | Pointer to the exploding star |
|
static |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
|
protectedinherited |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |