From 65161c2dfafce35ed360e3b0451d58bed0bf489a Mon Sep 17 00:00:00 2001
From: "Michele.Maris" <michele.maris@inaf.it>
Date: Wed, 24 Apr 2024 17:34:03 +0200
Subject: [PATCH] u

---
 src/yapsut/__init__.py |  3 ++-
 src/yapsut/mks.py      | 54 ++++++++++++++++++++++++++----------------
 2 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/src/yapsut/__init__.py b/src/yapsut/__init__.py
index 77676f0..4e2fca0 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 6a78e1b..c0e55d7 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
+
-- 
GitLab