![]() |
SEVN
|
#include <piiorio22.h>
Public Member Functions | |
| PIIorio22Limited (bool reg=true) | |
| std::string | name () const override |
| PIIorio22Limited * | instance () override |
| utilities::MassContainer | apply_beforeSN (_UNUSED Star *s) const override |
| PISNreturn | apply_afterSN (_UNUSED Star *s, _UNUSED double mremnant) const override |
Static Public Member Functions | |
| static PairInstability * | Instance (std::string const &name) |
| Base class. More... | |
Static Public Attributes | |
| static PIIorio22Limited | _piiorio22limited |
| static PIIorio22 | _piiorio22 |
Protected Member Functions | |
| double | ppisn_mass_limitation (_UNUSED double Mremnant, _UNUSED Star *s) const override |
Static Protected Member Functions | |
| static void | Register (PairInstability *ptr) |
Protected Attributes | |
| SevnLogging | svlog |
Static Private Member Functions | |
| static std::map< std::string, PairInstability * > & | GetStaticMap () |
| Option handling. More... | |
| static std::vector< int > & | GetUsed () |
| TODO we are never using this method, we should remove it. More... | |
iorio22_limited option
Same as iorio22 but with an upper limit on the PPISN BH mass following Eq. 2 in Farmer+19 see:
Modification with respect to the standard
|
explicit |
|
overridevirtualinherited |
Main function to call to apply the pair instability after the SN explosion This function has to be called after the remnant mass has been defined. It apply a correction to the remnant mass (if needed) and set the SNtype The method of the base class just set Mremnant_after_pi=mremnant and SNType=CoreCollapse NOTICE: the default method does nothing, just initialise the PISNreturn with:
| s | Pointer to the exploding star to which we want to apply the correction |
| mremnant | Mass of the remnant before the pair instability correction |
Reimplemented from PairInstability.
|
overridevirtualinherited |
Methods that can be customized in new models: NOTICE these are the two methods that actually estimate the pisn corrections. By default they do nothing (indeed they are not changed in the disabled model) You may want to change one or both of them Main function to call to apply the pulsation pair instability before the SN explosion The function return a structure containing the modified preSN stellar mass(es) (total mass, MHE, MCO) due to the pulsation pair instability. This function should be called before estimating the final mass in the explosion method in the Supernova classes The method of the base class just copy the Mass,MHE and MCO NOTICE: the default method does nothing, just initialise the utilities::MassContainer with the current stellar mass properties
| s | Pointer to the exploding star |
Reimplemented from PairInstability.
|
inlinestaticprivateinherited |
Option handling.
|
inlinestaticprivateinherited |
TODO we are never using this method, we should remove it.
|
inlineoverridevirtual |
Create an instance of the class allocated on the heap
Reimplemented from PIIorio22.
|
staticinherited |
Base class.
Generic method to call an instance based on name
| name | name of the option |
|
inlineoverridevirtual |
Remember that each new proper PairInstability model has to have a public static class instance to define in static_main.h e.g. static MyModel _mymodel; (in the class) and MyModel MyModel::_mymodel; in static_main.h Methods that must be customized in new models Name of the PairInstability model, this will be use at runtime to select the given model
Reimplemented from PIIorio22.
|
overrideprotectedvirtual |
Apply a mass limit to the BH mass after ppisn Limit the BH mass to the MBH_max obtained with Eq. 2 in Farmer+19: MBH_max=35.1 -3.9 log10(Z) -0.31 log10(Z)*log10(Z), where Z is the metallicity
| Mremnant | Remnant mass before the application of the mass limit |
| s | Pointer to the exploding star |
Reimplemented from PIIorio22.
|
staticprotectedinherited |
Register function, to be called inside the option constructor to register the given option
|
staticinherited |
|
static |
|
protectedinherited |