diff --git a/src/yapsut/__init__.py b/src/yapsut/__init__.py index 77676f02e0499b62f7b8e043d0d7e44bed297ce7..4e2fca0324093efff288a7c830c6bee45d7a0e65 100644 --- a/src/yapsut/__init__.py +++ b/src/yapsut/__init__.py @@ -1,5 +1,6 @@ # Created : Thu Dec 1 20:04:27 2022 -from .mks import MKS +from .mks import MKS, bbMeanPhotonEnergy +from .blackbody_mks import PlanckCn from .graphics import odot,ocirc,curveXY2patch,SaveFig,STANDARDFIG,StandardFig, ImshowXT from .pyblocks import pyBlocks from .AppendableDict import AppendableDict diff --git a/src/yapsut/mks.py b/src/yapsut/mks.py index 6a78e1b7ad16ef130fe8a27eb80dd36422585502..c0e55d7ded48fb4ca198ab695c3ac8a8d9ea3415 100644 --- a/src/yapsut/mks.py +++ b/src/yapsut/mks.py @@ -20,27 +20,31 @@ class __physical_parameters_mks(object) : import numpy as np # the table self._table=pandas.read_csv(StringIO(""" -definition , latex_macro, latex_name, symbol, value , units , comment -speed of light in vacuum , c, speedL, c, 299792458. , m/s , -Planck constant , h, PConst, h, 6.62607015e-34 , J s , also J/Hz -reduced Planck constant , hcut, hbar, hbar, 1.0544571817e-34 , J s , also J/Hz is h/2pi -Avogadro Number , N_{\\mathrm{avo}}, Navo, Navo, 6.02214076e23 , 1/mol , -Boltzman constant , k_{\\mathrm{B}}, kB, kB, 1.380649e-23 , J/K , -Universal gas constant , R_{*}, Rgas, Rgas, 8.31446261815324 , J/K/mol , defined as kB*Navo -molar_volume , V_{\\mathrm{mol}}, MolVol, Vmol, 22.41396954e-3 , m3/mol , kB(273.15 K)/(101 325 Pa) -standard atmosphere pressure , p_{\\mathrm{atm}}, patm, patm, 101325. , pa , -zero Celsius , T_{0^{\\circ}\\mathrm{C}}, TzCel, T0C, 273.15 , K , -ev in joule , \\mathrm{J}/\\mathrm{ev}, Jev, J_ev, 1.6021766339999e-19 , J/ev , -rad2sed , \\mathrm{rad}/\\mathrm{sed}, radTosed, rad2sed, 4.191690043903363e-08, rad s/m , 2*pi/c -Stefan-Boltzman Constant , \\sigma, sigmaSB, sigmaSB, 5.670374419e-8 , W/m2/K4 , -photons SB constant , \\sigma_{\\mathrm{phot}},sigmaSBphot, sigmaSBphot, 2.5247846571310243e-3, micro moles/m2/s/K3, -standard solar temperature , T_{\\odot}, Tsun, Tsun, 5772. , K , -standard solar radius , R_{\\odot}, Rsun, Rsun, 696340e3 , m , -standard AU , \mathrm{AU}, AU, AU, 149597870700. , m , exact -gravitational constant , G_{\\mathrm{N}}, GN, GN, 6.67430e-11 , m3/Kg/s2, -standard gravitationa acceleration, g_{\\mathrm{N}}, gN, gN, 9.80665 , m/s2 , -parsec , \\mathrm{pc}, pc, pc, 3.08567758149e16 , m , exact -"""),sep='\s*,\s*',comment='#',engine="python",index_col=None) +definition | latex_macro| latex_name| symbol| value | units | comment +speed of light in vacuum | c| speedL | c| 299792458. | m/s | +Planck constant | h| PConst | h| 6.62607015e-34 | J s | also J/Hz +reduced Planck constant | hcut| hbar | hbar| 1.0544571817e-34 | J s | also J/Hz is h/2pi +Avogadro Number | N_{\\mathrm{avo}}| Navo | Navo| 6.02214076e23 | 1/mol | +Boltzman constant | k_{\\mathrm{B}}| kB | kB| 1.380649e-23 | J/K | +Universal gas constant | R_{*}| Rgas | Rgas| 8.31446261815324 | J/K/mol | defined as kB*Navo +molar_volume | V_{\\mathrm{mol}}| MolVol | Vmol| 22.41396954e-3 | m3/mol | kB(273.15 K)/(101 325 Pa) +standard atmosphere pressure | p_{\\mathrm{atm}}| patm | patm| 101325. | pa | +zero Celsius | T_{0^{\\circ}\\mathrm{C}}| TzCel | T0C| 273.15 | K | +ev in joule | \\mathrm{J}/\\mathrm{ev}| Jev | J_ev| 1.6021766339999e-19 | J/ev | +rad2sed | \\mathrm{rad}/\\mathrm{sed}| radTosed | rad2sed| 4.191690043903363e-08| rad s/m | 2*pi/c +Stefan-Boltzman Constant | \\sigma| sigmaSB | sigmaSB| 5.670374419e-8 | W/m2/K4 | +photons SB constant | \\sigma_{\\mathrm{phot}}|sigmaSBphot | sigmaSBphot| 2.5247846571310243e-3| micro mol/m2/s/K3| +standard solar temperature | T_{\\odot}| Tsun | Tsun| 5772. | K | +standard solar radius | R_{\\odot}| Rsun | Rsun| 696340e3 | m | +standard AU | \mathrm{AU}| AU | AU| 149597870700. | m | exact +gravitational constant | G_{\\mathrm{N}}| GN | GN| 6.67430e-11 | m3/Kg/s2| +standard gravitationa acceleration| g_{\\mathrm{N}}| gN | gN| 9.80665 | m/s2 | +parsec | \\mathrm{pc}| pc | pc| 3.08567758149e16 | m | exact +Wien displacement law constant | \\lambda_{\\mathrm{max}}| lambdaWien | lambdaWien| 2.897771995e-3 | m K | h c / uWien kB +Wien displacement law in frequency| \\nu_{\\mathrm{max}}| nuWien | nuWien| 9.66592693602719e-12 | K / Hz | lambdaWien/c +Wien displacement law in b.b. x | u_{\\mathrm{Wien}}| uWien | uWien| 4.965114231744276303 | | uWien +Black Body mean photon E coeff. | {\\tilde E_{\\nu}}|meanBBPhotEn| meanBBPhotEn| 3.729378749850374e-23| J / K | sigmaSB/(sigmaSBphot*1e-6*Navo) +"""),sep='\s*\|\s*',comment='#',engine="python",index_col=None) # self._table['comment'] =np.array(['' if str(k).lower() in ['nan'] else k for k in self._table['comment'].values]) self._table['units'] =np.array(['' if str(k).lower() in ['nan'] else k for k in self._table['units'].values]) @@ -119,6 +123,9 @@ parsec , \\mathrm{pc}, pc, def bbx2wl(self,x,T) : """ black body x: x=c*h/kB*T*wl, to wl for given T """ return self.c*self.h/(T*self.kB*x) + def bbMeanPhotonEnergy(self,T) : + """ black body mean photon energy for a given T""" + return self.meanBBPhotEn*T MKS=__physical_parameters_mks() def wl2nu(wl) : @@ -167,3 +174,8 @@ def wl2bbx(wl,T) : def bbx2wl(x,T) : """ black body x: x=c*h/kB*T*wl, to wl for given T """ return MKS.c*MKS.h/(T*MKS.kB*x) + +def bbMeanPhotonEnergy(T) : + """ black body mean photon energy for a given T""" + return MKS.meanBBPhotEn*T +