.. _galactic_guide: Galactic object models ====================== Tow models have been added to handle galactic objects: 1) :class:`.GalacticBeamed` to hadle galatcit objects that are not beamed 2) :class:`.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 .. code:: ipython3 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 .. code:: ipython3 import jetset print('tested on jetset',jetset.__version__) .. parsed-literal:: 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** .. code:: ipython3 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() .. parsed-literal:: -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- .. raw:: html 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
.. parsed-literal:: -------------------------------------------------------------------------------- .. code:: ipython3 pwn.eval() p=pwn.plot_model(frame='src') .. image:: galactic_files/galactic_11_0.png .. code:: ipython3 pwn.save_model('pwn.pkl') .. raw:: html 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
.. code:: ipython3 GalacticUnbeamed.load_model("pwn.pkl") .. parsed-literal:: ==> 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 .. raw:: html 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
.. parsed-literal:: -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- .. raw:: html 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
.. parsed-literal:: -------------------------------------------------------------------------------- .. parsed-literal:: None .. code:: ipython3 pwn.energetic_report() .. raw:: html 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 .. code:: ipython3 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() .. parsed-literal:: -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- .. raw:: html 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
.. parsed-literal:: -------------------------------------------------------------------------------- .. code:: ipython3 gal_hadronic.eval() p=gal_hadronic.plot_model(frame='src') p.setlim(y_min=1E33) .. image:: galactic_files/galactic_18_0.png .. code:: ipython3 gal_hadronic.energetic_report() .. raw:: html 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 ----------------------------------- .. code:: ipython3 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() .. parsed-literal:: -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- .. raw:: html 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
.. parsed-literal:: -------------------------------------------------------------------------------- .. code:: ipython3 gal_hadronic.eval() p=gal_hadronic.plot_model(frame='src') p.setlim(y_min=1E36) .. image:: galactic_files/galactic_22_0.png .. code:: ipython3 gal_hadronic.energetic_report() .. raw:: html 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
.. code:: ipython3 gal_hadronic.save_model('gal_hadronic_beamed.pkl') .. raw:: html 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
.. code:: ipython3 gal_hadronic_new=GalacticBeamed.load_model('gal_hadronic_beamed.pkl') .. parsed-literal:: ==> 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 .. raw:: html 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