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 on jetset',jetset.__version__)
tested on jetset 1.2.2

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

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-01

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:Sync, state: self-abs
   name:SSC, state: on
   name:EC_CMB, state: on
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

--------------------------------------------------------------------------------
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-010.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_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
pwn.eval()
p=pwn.plot_model(frame='src')
../../../_images/galactic_11_0.png
pwn.save_model('pwn.pkl')
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-010.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_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse
GalacticUnbeamed.load_model("pwn.pkl")
==> par z_cosm is now depending on ['DL_cm'] according to expr:z_cosm =
    def _dummy_z_par_func(self,DL_cm):
            self.cosmo._DL_cm=DL_cm*u.cm
            return 0
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-010.000000e+00--FalseTrue
pwnbeam_objbeaminglorentz-factor*1.000000e+001.000000e-04--FalseFalse
pwnDL_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
model description:
--------------------------------------------------------------------------------
type: GalacticUnbeamed
name: pwn

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-01

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:Sync, state: self-abs
   name:SSC, state: on
   name:EC_CMB, state: on
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

--------------------------------------------------------------------------------
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-010.000000e+00--FalseTrue
pwnbeam_objbeaminglorentz-factor*1.000000e+001.000000e-04--FalseFalse
pwnDL_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse
--------------------------------------------------------------------------------
None
pwn.energetic_report()
Table length=16
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+00
U_eEnergy dens. rest. frameerg / cm37.480812e-09
U_p_coldEnergy dens. rest. frameerg / cm31.503276e-12
U_BEnergy dens. rest. frameerg / cm33.978874e-10
U_SynchEnergy dens. rest. frameerg / cm34.538190e-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
L_SyncLum. rest. frame.erg / s2.170466e+38
L_SSCLum. rest. frame.erg / s2.161006e+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 / s1.785622e+35
NH_cold_to_rel_ecold_p_to_rel_e_ratio1.000000e-01

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

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:Sync, state: self-abs
   name:SSC, state: on
   name:PP_gamma, state: on
   name:PP_neutrino_tot, state: on
   name:PP_neutrino_mu, state: on
   name:PP_neutrino_e, state: on
   name:Bremss_ep, state: on
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

--------------------------------------------------------------------------------
Table length=9
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_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_cm(M)distancecm6.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()
Table length=17
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+00
U_eEnergy dens. rest. frameerg / cm34.252875e-06
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 / cm34.851771e-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
L_SyncLum. rest. frame.erg / s6.085926e+37
L_SSCLum. rest. frame.erg / s2.273252e+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 / s0.000000e+00
L_pp_gammaLum. rest. frame.erg / s1.217784e+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

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:Sync, state: self-abs
   name:SSC, state: on
   name:PP_gamma, state: on
   name:PP_neutrino_tot, state: on
   name:PP_neutrino_mu, state: on
   name:PP_neutrino_e, state: on
   name:Bremss_ep, state: on
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

--------------------------------------------------------------------------------
Table length=11
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_beamedbeam_objbeaminglorentz-factor*1.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_cm(M)distancecm6.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()
Table length=35
nametypeunitsval
BulkLorentzFactorjet-bulk-factor1.000000e+01
U_eEnergy dens. blob rest. frameerg / cm34.252875e-06
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 / cm34.851771e-10
U_Synch_DRFEnergy dens. disk rest. frameerg / cm34.851771e-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_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
L_Sync_rfLum. blob rest. frame.erg / s6.085926e+37
L_SSC_rfLum. blob rest. frame.erg / s2.273252e+35
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_pp_gamma_rfLum. blob rest. frame.erg / s1.217784e+40
jet_L_Syncjet Lum.erg / s1.521482e+39
jet_L_SSCjet Lum.erg / s5.683129e+36
jet_L_EC_Diskjet Lum.erg / s0.000000e+00
jet_L_EC_BLRjet 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.044459e+41
jet_L_radjet Lum.erg / s3.059730e+41
jet_L_kinjet Lum.erg / s2.235985e+50
jet_L_totjet Lum.erg / s2.235985e+50
jet_L_ejet Lum.erg / s3.985390e+43
jet_L_Bjet Lum.erg / s3.728622e+41
jet_L_pjet Lum.erg / s2.235985e+50
gal_hadronic.save_model('gal_hadronic_beamed.pkl')
Table length=11
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_beamedbeam_objbeaminglorentz-factor*1.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_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse
gal_hadronic_new=GalacticBeamed.load_model('gal_hadronic_beamed.pkl')
==> par z_cosm is now depending on ['DL_cm'] according to expr:z_cosm =
    def _dummy_z_par_func(self,DL_cm):
            self.cosmo._DL_cm=DL_cm*u.cm
            return 0
Table length=11
model namenamepar typeunitsvalphys. bound. minphys. bound. maxlogfrozen
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_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_beamedbeam_objbeaminglorentz-factor*1.000000e+011.000000e-04--FalseFalse
gal_hadronic_beamedDL_cm(M)distancecm6.171355e+210.000000e+003.085678e+24FalseFalse