Galactic object models#

Tow models have been added to handle galactic objects: 1) GalacticBeamed to hadle galatcit objects that are not beamed 2) GalacticUnbeamed to hadle galatcit objects that are beamed

The redshift will be set 0, and not used, and a new parameter, DL_cm will be used in place.

The only difference, is that the GalacticBeamed has beaming set as default to 10 and set free, whilst GalacticUnbeamed has beaming set as default to 1 and frozen

from jetset.jet_model import GalacticUnbeamed,GalacticBeamed
from astropy import constants as const
from astropy import units as u
import matplotlib.pyplot as plt
import numpy as np
import jetset
print('tested with',jetset.__version__)
tested with 1.4.0rc0

Galactic Unbeamed leptonic example#

This is an example for a PWN.

Please notice, that for a realistic model you should build a composite model with Radio and Wind region, and define a custom emitting region. A proper thermal external field will be provided in the next version. The ``CMB`` is the same used for jets

pwn=GalacticUnbeamed(emitters_distribution='bkn',verbose=False,emitters_type='electrons',distance=2*u.kpc,name='pwn')
pwn.add_EC_component(['EC_CMB'])
pwn.parameters.R.val=(2*u.pc).to('cm').value
pwn.parameters.B.val=1E-4
pwn.parameters.gamma_break.val=1E8
pwn.parameters.gmax.val=8E9
pwn.parameters.gmin.val=5E5
pwn.parameters.p.val=3.2
pwn.parameters.p_1.val=3.8
pwn.parameters.N.val=1E-8
pwn.show_model()
--------------------------------------------------------------------------------
model description:
--------------------------------------------------------------------------------
type: GalacticUnbeamed
name: pwn
geometry: spherical

electrons distribution:
 type: bkn
 gamma energy grid size:  201
 gmin grid : 2.000000e+00
 gmax grid : 1.000000e+06
 normalization:  True
 log-values:  False
 ratio of cold protons to relativistic electrons: 1.000000e+00

radiative fields:
 seed photons grid size:  100
 IC emission grid size:  100
 source emissivity lower bound :  1.000000e-120
 spectral components:
   name:Sum, state: on
   name:Sum, hidden: False
   name:Sync, state: self-abs
   name:Sync, hidden: False
   name:SSC, state: on
   name:SSC, hidden: False
   name:EC_CMB, state: on
   name:EC_CMB, hidden: False
external fields transformation method: disk

SED info:
 nu grid size jetkernel: 1000
 nu size: 500
 nu mix (Hz): 1.000000e+06
 nu max (Hz): 1.000000e+30

flux plot lower bound   :  1.000000e-30

--------------------------------------------------------------------------------
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=10
model namenamepar typeunitsvalphys. bound. minphys. bound. maxlogfrozen
pwnRregion_sizecm6.171355e+181.000000e+031.000000e+30FalseFalse
pwnBmagnetic_fieldgauss1.000000e-040.000000e+00--FalseFalse
pwnNH_cold_to_rel_ecold_p_to_rel_e_ratio1.000000e+000.000000e+00--FalseTrue
pwngminlow-energy-cut-offlorentz-factor*5.000000e+051.000000e+001.000000e+09FalseFalse
pwngmaxhigh-energy-cut-offlorentz-factor*8.000000e+091.000000e+001.000000e+15FalseFalse
pwnNemitters_density1 / cm31.000000e-080.000000e+00--FalseFalse
pwngamma_breakturn-over-energylorentz-factor*1.000000e+081.000000e+001.000000e+09FalseFalse
pwnpLE_spectral_slope3.200000e+00-1.000000e+011.000000e+01FalseFalse
pwnp_1HE_spectral_slope3.800000e+00-1.000000e+011.000000e+01FalseFalse
pwnDL_cmdistancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
pwn.eval()
p=pwn.plot_model(frame='src')
../../../../_images/galactic_11_0.png
pwn.save_model('pwn.pkl')
GalacticUnbeamed.load_model("pwn.pkl")
--------------------------------------------------------------------------------
model description:
--------------------------------------------------------------------------------
type: GalacticUnbeamed
name: pwn
geometry: spherical

electrons distribution:
 type: bkn
 gamma energy grid size:  201
 gmin grid : 5.000000e+05
 gmax grid : 8.000000e+09
 normalization:  True
 log-values:  False
 ratio of cold protons to relativistic electrons: 1.000000e+00

radiative fields:
 seed photons grid size:  100
 IC emission grid size:  100
 source emissivity lower bound :  1.000000e-120
 spectral components:
   name:Sum, state: on
   name:Sum, hidden: False
   name:Sync, state: self-abs
   name:Sync, hidden: False
   name:SSC, state: on
   name:SSC, hidden: False
   name:EC_CMB, state: on
   name:EC_CMB, hidden: False
external fields transformation method: disk

SED info:
 nu grid size jetkernel: 1000
 nu size: 500
 nu mix (Hz): 1.000000e+06
 nu max (Hz): 1.000000e+30

flux plot lower bound   :  1.000000e-30

--------------------------------------------------------------------------------
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=12
model namenamepar typeunitsvalphys. bound. minphys. bound. maxlogfrozen
pwngminlow-energy-cut-offlorentz-factor*5.000000e+051.000000e+001.000000e+09FalseFalse
pwngmaxhigh-energy-cut-offlorentz-factor*8.000000e+091.000000e+001.000000e+15FalseFalse
pwnNemitters_density1 / cm31.000000e-080.000000e+00--FalseFalse
pwngamma_breakturn-over-energylorentz-factor*1.000000e+081.000000e+001.000000e+09FalseFalse
pwnpLE_spectral_slope3.200000e+00-1.000000e+011.000000e+01FalseFalse
pwnp_1HE_spectral_slope3.800000e+00-1.000000e+011.000000e+01FalseFalse
pwnRregion_sizecm6.171355e+181.000000e+031.000000e+30FalseFalse
pwnR_Hregion_positioncm1.000000e+170.000000e+00--FalseTrue
pwnBmagnetic_fieldgauss1.000000e-040.000000e+00--FalseFalse
pwnNH_cold_to_rel_ecold_p_to_rel_e_ratio1.000000e+000.000000e+00--FalseTrue
pwnbeam_objbeaming1.000000e+001.000000e-04--FalseFalse
pwnDL_cmdistancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
None
pwn.energetic_report()
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=19
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+00
U_eEnergy dens. rest. frameerg / cm37.480812e-09
U_p_coldEnergy dens. rest. frameerg / cm31.503276e-11
U_BEnergy dens. rest. frameerg / cm33.978874e-10
U_SynchEnergy dens. rest. frameerg / cm31.512730e-11
U_DiskEnergy dens. rest. frameerg / cm30.000000e+00
U_BLREnergy dens. rest. frameerg / cm30.000000e+00
U_DTEnergy dens. rest. frameerg / cm30.000000e+00
U_CMBEnergy dens. rest. frameerg / cm34.185297e-13
U_StarEnergy dens. rest. frameerg / cm30.000000e+00
U_seed_totEnergy dens. rest. frameerg / cm31.512730e-11
L_SyncLum. rest. frame.erg / s2.170466e+38
L_SSCLum. rest. frame.erg / s2.312959e+35
L_EC_DiskLum. rest. frame.erg / s0.000000e+00
L_EC_BLRLum. rest. frame.erg / s0.000000e+00
L_EC_DTLum. rest. frame.erg / s0.000000e+00
L_EC_CMBLum. rest. frame.erg / s2.139695e+35
L_EC_StarLum. rest. frame.erg / s0.000000e+00
NH_cold_to_rel_ecold_p_to_rel_e_ratio1.000000e+00

Galactic Unbeamed hadronic pp example#

This is an example for a galactic unbeamed hadronic (pp) object

gal_hadronic=GalacticUnbeamed(emitters_distribution='plc',verbose=False,emitters_type='protons',distance=2*u.kpc,name='gal_hadronic_unbeamed')
gal_hadronic.parameters.R.val=1E18
gal_hadronic.parameters.N.val=1000
gal_hadronic.parameters.B.val=1E-3

gal_hadronic.show_model()
--------------------------------------------------------------------------------
model description:
--------------------------------------------------------------------------------
type: GalacticUnbeamed
name: gal_hadronic_unbeamed
geometry: spherical

protons distribution:
 type: plc
 gamma energy grid size:  201
 gmin grid : 2.000000e+00
 gmax grid : 1.000000e+06
 normalization:  True
 log-values:  False

radiative fields:
 seed photons grid size:  100
 IC emission grid size:  100
 source emissivity lower bound :  1.000000e-120
 spectral components:
   name:Sum, state: on
   name:Sum, hidden: False
   name:Sync, state: self-abs
   name:Sync, hidden: False
   name:SSC, state: on
   name:SSC, hidden: False
   name:PP_gamma, state: on
   name:PP_gamma, hidden: False
   name:PP_neutrino_tot, state: on
   name:PP_neutrino_tot, hidden: False
   name:PP_neutrino_mu, state: on
   name:PP_neutrino_mu, hidden: False
   name:PP_neutrino_e, state: on
   name:PP_neutrino_e, hidden: False
   name:Bremss_ep, state: on
   name:Bremss_ep, hidden: False
external fields transformation method: disk

SED info:
 nu grid size jetkernel: 1000
 nu size: 500
 nu mix (Hz): 1.000000e+06
 nu max (Hz): 1.000000e+30

flux plot lower bound   :  1.000000e-30

--------------------------------------------------------------------------------
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=10
model namenamepar typeunitsvalphys. bound. minphys. bound. maxlogfrozen
gal_hadronic_unbeamedRregion_sizecm1.000000e+181.000000e+031.000000e+30FalseFalse
gal_hadronic_unbeamedBmagnetic_fieldgauss1.000000e-030.000000e+00--FalseFalse
gal_hadronic_unbeamedT_esc_e_secondariesescape_timeR / c1.000000e+001.000000e+00--FalseFalse
gal_hadronic_unbeamedgminlow-energy-cut-offlorentz-factor*2.000000e+001.000000e+001.000000e+09FalseFalse
gal_hadronic_unbeamedgmaxhigh-energy-cut-offlorentz-factor*1.000000e+061.000000e+001.000000e+15FalseFalse
gal_hadronic_unbeamedNemitters_density1 / cm31.000000e+030.000000e+00--FalseFalse
gal_hadronic_unbeamedNH_pptarget_density1 / cm31.000000e+000.000000e+00--FalseFalse
gal_hadronic_unbeamedgamma_cutturn-over-energylorentz-factor*1.000000e+041.000000e+001.000000e+09FalseFalse
gal_hadronic_unbeamedpLE_spectral_slope2.000000e+00-1.000000e+011.000000e+01FalseFalse
gal_hadronic_unbeamedDL_cmdistancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
gal_hadronic.eval()
p=gal_hadronic.plot_model(frame='src')
p.setlim(y_min=1E33)
../../../../_images/galactic_18_0.png
gal_hadronic.energetic_report()
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=20
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+00
U_eEnergy dens. rest. frameerg / cm33.408013e-08
U_BEnergy dens. rest. frameerg / cm33.978874e-08
U_pEnergy dens. rest. frameerg / cm32.386056e+01
U_p_targetEnergy dens. rest. frameerg / cm31.503276e-03
U_SynchEnergy dens. rest. frameerg / cm31.108748e-10
U_DiskEnergy dens. rest. frameerg / cm30.000000e+00
U_BLREnergy dens. rest. frameerg / cm30.000000e+00
U_DTEnergy dens. rest. frameerg / cm30.000000e+00
U_CMBEnergy dens. rest. frameerg / cm30.000000e+00
U_StarEnergy dens. rest. frameerg / cm30.000000e+00
U_seed_totEnergy dens. rest. frameerg / cm31.108748e-10
L_SyncLum. rest. frame.erg / s4.176989e+37
L_SSCLum. rest. frame.erg / s2.253964e+34
L_EC_DiskLum. rest. frame.erg / s0.000000e+00
L_EC_BLRLum. rest. frame.erg / s0.000000e+00
L_EC_DTLum. rest. frame.erg / s0.000000e+00
L_EC_CMBLum. rest. frame.erg / s0.000000e+00
L_EC_StarLum. rest. frame.erg / s0.000000e+00
L_pp_gammaLum. rest. frame.erg / s1.220405e+40

Galactic Beamed hadronic pp example#

from jetset.jet_model import GalacticUnbeamed,GalacticBeamed
from astropy import constants as const
from astropy import units as u
import matplotlib.pyplot as plt
import numpy as np

gal_hadronic=GalacticBeamed(emitters_distribution='plc',verbose=False,emitters_type='protons',distance=2*u.kpc,name='gal_hadronic_beamed')
gal_hadronic.parameters.R.val=1E18
gal_hadronic.parameters.N.val=1000
gal_hadronic.parameters.B.val=1E-3

gal_hadronic.show_model()
--------------------------------------------------------------------------------
model description:
--------------------------------------------------------------------------------
type: GalacticBeamed
name: gal_hadronic_beamed
geometry: spherical

protons distribution:
 type: plc
 gamma energy grid size:  201
 gmin grid : 2.000000e+00
 gmax grid : 1.000000e+06
 normalization:  True
 log-values:  False

radiative fields:
 seed photons grid size:  100
 IC emission grid size:  100
 source emissivity lower bound :  1.000000e-120
 spectral components:
   name:Sum, state: on
   name:Sum, hidden: False
   name:Sync, state: self-abs
   name:Sync, hidden: False
   name:SSC, state: on
   name:SSC, hidden: False
   name:PP_gamma, state: on
   name:PP_gamma, hidden: False
   name:PP_neutrino_tot, state: on
   name:PP_neutrino_tot, hidden: False
   name:PP_neutrino_mu, state: on
   name:PP_neutrino_mu, hidden: False
   name:PP_neutrino_e, state: on
   name:PP_neutrino_e, hidden: False
   name:Bremss_ep, state: on
   name:Bremss_ep, hidden: False
external fields transformation method: blob

SED info:
 nu grid size jetkernel: 1000
 nu size: 500
 nu mix (Hz): 1.000000e+06
 nu max (Hz): 1.000000e+30

flux plot lower bound   :  1.000000e-30

--------------------------------------------------------------------------------
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=12
model namenamepar typeunitsvalphys. bound. minphys. bound. maxlogfrozen
gal_hadronic_beamedRregion_sizecm1.000000e+181.000000e+031.000000e+30FalseFalse
gal_hadronic_beamedR_Hregion_positioncm1.000000e+170.000000e+00--FalseTrue
gal_hadronic_beamedBmagnetic_fieldgauss1.000000e-030.000000e+00--FalseFalse
gal_hadronic_beamedT_esc_e_secondariesescape_timeR / c1.000000e+001.000000e+00--FalseFalse
gal_hadronic_beamedbeam_objbeaming1.000000e+011.000000e-04--FalseFalse
gal_hadronic_beamedgminlow-energy-cut-offlorentz-factor*2.000000e+001.000000e+001.000000e+09FalseFalse
gal_hadronic_beamedgmaxhigh-energy-cut-offlorentz-factor*1.000000e+061.000000e+001.000000e+15FalseFalse
gal_hadronic_beamedNemitters_density1 / cm31.000000e+030.000000e+00--FalseFalse
gal_hadronic_beamedNH_pptarget_density1 / cm31.000000e+000.000000e+00--FalseFalse
gal_hadronic_beamedgamma_cutturn-over-energylorentz-factor*1.000000e+041.000000e+001.000000e+09FalseFalse
gal_hadronic_beamedpLE_spectral_slope2.000000e+00-1.000000e+011.000000e+01FalseFalse
gal_hadronic_beamedDL_cmdistancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
gal_hadronic.eval()
p=gal_hadronic.plot_model(frame='src')
p.setlim(y_min=1E36)
../../../../_images/galactic_22_0.png
gal_hadronic.energetic_report()
WARNING: AstropyDeprecationWarning: 'classic' backend for show_in_notebook() is deprecated as of 6.1. Instead, use the supported backend 'ipydatagrid'. [astropy.table.table]
Table length=40
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+01
U_eEnergy dens. blob rest. frameerg / cm33.408013e-08
U_BEnergy dens. blob rest. frameerg / cm33.978874e-08
U_pEnergy dens. blob rest. frameerg / cm32.386056e+01
U_p_targetEnergy dens. blob rest. frameerg / cm31.503276e-03
U_SynchEnergy dens. blob rest. frameerg / cm31.108748e-10
U_Synch_DRFEnergy dens. disk rest. frameerg / cm31.108748e-06
U_DiskEnergy dens. blob rest. frameerg / cm30.000000e+00
U_BLREnergy dens. blob rest. frameerg / cm30.000000e+00
U_DTEnergy dens. blob rest. frameerg / cm30.000000e+00
U_CMBEnergy dens. blob rest. frameerg / cm30.000000e+00
U_StarEnergy dens. blob rest. frameerg / cm30.000000e+00
U_Disk_DRFEnergy dens. disk rest. frameerg / cm30.000000e+00
U_BLR_DRFEnergy dens. disk rest. frameerg / cm30.000000e+00
U_DT_DRFEnergy dens. disk rest. frameerg / cm30.000000e+00
U_CMB_DRFEnergy dens. disk rest. frameerg / cm30.000000e+00
U_Star_DRFEnergy dens. disk rest. frameerg / cm30.000000e+00
U_seed_totEnergy dens. blob rest. frameerg / cm31.108748e-10
L_Sync_rfLum. blob rest. frame.erg / s4.176989e+37
L_SSC_rfLum. blob rest. frame.erg / s2.253964e+34
L_EC_Disk_rfLum. blob rest. frame.erg / s0.000000e+00
L_EC_BLR_rfLum. blob rest. frame.erg / s0.000000e+00
L_EC_DT_rfLum. blob rest. frame.erg / s0.000000e+00
L_EC_CMB_rfLum. blob rest. frame.erg / s0.000000e+00
L_EC_Star_rfLum. blob rest. frame.erg / s0.000000e+00
L_pp_gamma_rfLum. blob rest. frame.erg / s1.220405e+40
jet_L_Syncjet Lum.erg / s1.039013e+39
jet_L_SSCjet Lum.erg / s5.606665e+35
jet_L_EC_Diskjet Lum.erg / s0.000000e+00
jet_L_EC_BLRjet Lum.erg / s0.000000e+00
jet_L_EC_Starjet Lum.erg / s0.000000e+00
jet_L_EC_DTjet Lum.erg / s0.000000e+00
jet_L_EC_CMBjet Lum.erg / s0.000000e+00
jet_L_pp_gammajet Lum.erg / s3.035720e+41
jet_L_radjet Lum.erg / s3.046115e+41
jet_L_kinjet Lum.erg / s2.235985e+50
jet_L_totjet Lum.erg / s2.235985e+50
jet_L_ejet Lum.erg / s3.193665e+41
jet_L_Bjet Lum.erg / s3.728622e+41
jet_L_pjet Lum.erg / s2.235985e+50
gal_hadronic.save_model('gal_hadronic_beamed.pkl')
gal_hadronic_new=GalacticBeamed.load_model('gal_hadronic_beamed.pkl')