Changeset 3347 in Sophya for trunk/Cosmo/SimLSS/cmvtstblack.cc
- Timestamp:
- Oct 11, 2007, 4:34:42 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/cmvtstblack.cc
r3248 r3347 22 22 //{compute_xroot(); return -41;} 23 23 double T = 2.718, nutest=-1.; 24 unsigned short deriv = 0;24 unsigned short funcderiv = 0; 25 25 double x0; 26 26 27 27 if(narg>1) sscanf(arg[1],"%lf,%lf",&T,&nutest); 28 28 if(T<=0.) T = 2.718; 29 if(narg>2) sscanf(arg[2],"%hu",& deriv);30 if(deriv!=0) deriv = 1;31 32 cout<<"Temperature "<<T<<" K , deriv="<< deriv<<endl;29 if(narg>2) sscanf(arg[2],"%hu",&funcderiv); 30 PlanckSpectra::SpectraFunc deriv = (funcderiv==0) ? PlanckSpectra::VALUE : PlanckSpectra::DERIV; 31 32 cout<<"Temperature "<<T<<" K , deriv="<<(int)deriv<<endl; 33 33 34 34 //--------------------------------- Radiance Frequence 35 35 // frequence planck radiance W/.. 36 36 PlanckSpectra pradf(T); 37 pradf.SetDeriv(deriv); pradf.SetVar(0); 38 pradf.SetApprox(0); pradf.SetTypSpectra(0); pradf.SetUnitOut(0); 39 PlanckSpectra phpradf(pradf); phpradf.SetUnitOut(1); 37 pradf.SetSpectraFunc(deriv); 38 pradf.SetSpectraVar(PlanckSpectra::NU); 39 pradf.SetSpectraApprox(PlanckSpectra::PLANCK); 40 pradf.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 41 pradf.SetSpectraPower(PlanckSpectra::POWER); 42 PlanckSpectra phpradf(pradf); 43 phpradf.SetSpectraPower(PlanckSpectra::PHOTON); 40 44 41 45 // frequence rayleigh radiance W/.. 42 46 PlanckSpectra rradf(T); 43 rradf.SetDeriv(deriv); rradf.SetVar(0); 44 rradf.SetApprox(1); rradf.SetTypSpectra(0); rradf.SetUnitOut(0); 45 PlanckSpectra phrradf(rradf); phrradf.SetUnitOut(1); 47 rradf.SetSpectraFunc(deriv); 48 rradf.SetSpectraVar(PlanckSpectra::NU); 49 rradf.SetSpectraApprox(PlanckSpectra::RAYLEIGH); 50 rradf.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 51 rradf.SetSpectraPower(PlanckSpectra::POWER); 52 PlanckSpectra phrradf(rradf); 53 phrradf.SetSpectraPower(PlanckSpectra::PHOTON); 46 54 47 55 // frequence wien radiance W/.. 48 56 PlanckSpectra wradf(T); 49 wradf.SetDeriv(deriv); wradf.SetVar(0); 50 wradf.SetApprox(2); wradf.SetTypSpectra(0); wradf.SetUnitOut(0); 51 PlanckSpectra phwradf(wradf); phwradf.SetUnitOut(1); 57 wradf.SetSpectraFunc(deriv); 58 wradf.SetSpectraVar(PlanckSpectra::NU); 59 wradf.SetSpectraApprox(PlanckSpectra::WIEN); 60 wradf.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 61 wradf.SetSpectraPower(PlanckSpectra::POWER); 62 PlanckSpectra phwradf(wradf); 63 phwradf.SetSpectraPower(PlanckSpectra::PHOTON); 52 64 53 65 // Check … … 61 73 // frequence planck density W/.. 62 74 PlanckSpectra pdensf(T); 63 pdensf.SetDeriv(deriv); pdensf.SetVar(0); 64 pdensf.SetApprox(0); pdensf.SetTypSpectra(2); pdensf.SetUnitOut(0); 65 PlanckSpectra phpdensf(pdensf); phpdensf.SetUnitOut(1); 75 pdensf.SetSpectraFunc(deriv); 76 pdensf.SetSpectraVar(PlanckSpectra::NU); 77 pdensf.SetSpectraApprox(PlanckSpectra::PLANCK); 78 pdensf.SetSpectraUnit(PlanckSpectra::DENSENERG); 79 pdensf.SetSpectraPower(PlanckSpectra::POWER); 80 PlanckSpectra phpdensf(pdensf); 81 phpdensf.SetSpectraPower(PlanckSpectra::PHOTON); 66 82 67 83 // frequence rayleigh density W/.. 68 84 PlanckSpectra rdensf(T); 69 rdensf.SetDeriv(deriv); rdensf.SetVar(0); 70 rdensf.SetApprox(1); rdensf.SetTypSpectra(2); rdensf.SetUnitOut(0); 71 PlanckSpectra phrdensf(rdensf); phrdensf.SetUnitOut(1); 85 rdensf.SetSpectraFunc(deriv); 86 rdensf.SetSpectraVar(PlanckSpectra::NU); 87 rdensf.SetSpectraApprox(PlanckSpectra::RAYLEIGH); 88 rdensf.SetSpectraUnit(PlanckSpectra::DENSENERG); 89 rdensf.SetSpectraPower(PlanckSpectra::POWER); 90 PlanckSpectra phrdensf(rdensf); 91 phrdensf.SetSpectraPower(PlanckSpectra::PHOTON); 72 92 73 93 // frequence wien density W/.. 74 94 PlanckSpectra wdensf(T); 75 wdensf.SetDeriv(deriv); wdensf.SetVar(0); 76 wdensf.SetApprox(2); wdensf.SetTypSpectra(2); wdensf.SetUnitOut(0); 77 PlanckSpectra phwdensf(wdensf); phwdensf.SetUnitOut(1); 95 wdensf.SetSpectraFunc(deriv); 96 wdensf.SetSpectraVar(PlanckSpectra::NU); 97 wdensf.SetSpectraApprox(PlanckSpectra::WIEN); 98 wdensf.SetSpectraUnit(PlanckSpectra::DENSENERG); 99 wdensf.SetSpectraPower(PlanckSpectra::POWER); 100 PlanckSpectra phwdensf(wdensf); 101 phwdensf.SetSpectraPower(PlanckSpectra::PHOTON); 78 102 79 103 //--------------------------------- Radiance Longeur d'onde 80 104 // longueur d'onde planck radiance W/.. 81 105 PlanckSpectra pradl(T); 82 pradl.SetDeriv(deriv); pradl.SetVar(1); 83 pradl.SetApprox(0); pradl.SetTypSpectra(0); pradl.SetUnitOut(0); 84 PlanckSpectra phpradl(pradl); phpradl.SetUnitOut(1); 106 pradl.SetSpectraFunc(deriv); 107 pradl.SetSpectraVar(PlanckSpectra::LAMBDA); 108 pradl.SetSpectraApprox(PlanckSpectra::PLANCK); 109 pradl.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 110 pradl.SetSpectraPower(PlanckSpectra::POWER); 111 PlanckSpectra phpradl(pradl); 112 phpradl.SetSpectraPower(PlanckSpectra::PHOTON); 85 113 86 114 // longueur d'onde rayleigh radiance W/.. 87 115 PlanckSpectra rradl(T); 88 rradl.SetDeriv(deriv); rradl.SetVar(1); 89 rradl.SetApprox(1); rradl.SetTypSpectra(0); rradl.SetUnitOut(0); 90 PlanckSpectra phrradl(rradl); phrradl.SetUnitOut(1); 116 rradl.SetSpectraFunc(deriv); 117 rradl.SetSpectraVar(PlanckSpectra::LAMBDA); 118 rradl.SetSpectraApprox(PlanckSpectra::RAYLEIGH); 119 rradl.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 120 rradl.SetSpectraPower(PlanckSpectra::POWER); 121 PlanckSpectra phrradl(rradl); 122 phrradl.SetSpectraPower(PlanckSpectra::PHOTON); 91 123 92 124 // longueur d'onde wien radiance W/.. 93 125 PlanckSpectra wradl(T); 94 wradl.SetDeriv(deriv); wradl.SetVar(1); 95 wradl.SetApprox(2); wradl.SetTypSpectra(0); wradl.SetUnitOut(0); 96 PlanckSpectra phwradl(wradl); phwradl.SetUnitOut(1); 126 wradl.SetSpectraFunc(deriv); 127 wradl.SetSpectraVar(PlanckSpectra::LAMBDA); 128 wradl.SetSpectraApprox(PlanckSpectra::WIEN); 129 wradl.SetSpectraUnit(PlanckSpectra::ANGSFLUX); 130 wradl.SetSpectraPower(PlanckSpectra::POWER); 131 PlanckSpectra phwradl(wradl); 132 phwradl.SetSpectraPower(PlanckSpectra::PHOTON); 97 133 98 134 //--------------------------------- Densite Longeur d'onde 99 135 // longueur d'onde planck density W/.. 100 136 PlanckSpectra pdensl(T); 101 pdensl.SetDeriv(deriv); pdensl.SetVar(1); 102 pdensl.SetApprox(0); pdensl.SetTypSpectra(2); pdensl.SetUnitOut(0); 103 PlanckSpectra phpdensl(pdensl); phpdensl.SetUnitOut(1); 137 pdensl.SetSpectraFunc(deriv); 138 pdensl.SetSpectraVar(PlanckSpectra::LAMBDA); 139 pdensl.SetSpectraApprox(PlanckSpectra::PLANCK); 140 pdensl.SetSpectraUnit(PlanckSpectra::DENSENERG); 141 pdensl.SetSpectraPower(PlanckSpectra::POWER); 142 PlanckSpectra phpdensl(pdensl); 143 phpdensl.SetSpectraPower(PlanckSpectra::PHOTON); 104 144 105 145 // longueur d'onde rayleigh density W/.. 106 146 PlanckSpectra rdensl(T); 107 rdensl.SetDeriv(deriv); rdensl.SetVar(1); 108 rdensl.SetApprox(1); rdensl.SetTypSpectra(2); rdensl.SetUnitOut(0); 109 PlanckSpectra phrdensl(rdensl); phrdensl.SetUnitOut(1); 147 rdensl.SetSpectraFunc(deriv); 148 rdensl.SetSpectraVar(PlanckSpectra::LAMBDA); 149 rdensl.SetSpectraApprox(PlanckSpectra::RAYLEIGH); 150 rdensl.SetSpectraUnit(PlanckSpectra::DENSENERG); 151 rdensl.SetSpectraPower(PlanckSpectra::POWER); 152 PlanckSpectra phrdensl(rdensl); 153 phrdensl.SetSpectraPower(PlanckSpectra::PHOTON); 110 154 111 155 // longueur d'onde wien density W/.. 112 156 PlanckSpectra wdensl(T); 113 wdensl.SetDeriv(deriv); wdensl.SetVar(1); 114 wdensl.SetApprox(2); wdensl.SetTypSpectra(2); wdensl.SetUnitOut(0); 115 PlanckSpectra phwdensl(wdensl); phwdensl.SetUnitOut(1); 157 wdensl.SetSpectraFunc(deriv); 158 wdensl.SetSpectraVar(PlanckSpectra::LAMBDA); 159 wdensl.SetSpectraApprox(PlanckSpectra::WIEN); 160 wdensl.SetSpectraUnit(PlanckSpectra::DENSENERG); 161 wdensl.SetSpectraPower(PlanckSpectra::POWER); 162 PlanckSpectra phwdensl(wdensl); 163 phwdensl.SetSpectraPower(PlanckSpectra::PHOTON); 116 164 117 165 //--------------------------------- Le maximum des spectres de planck
Note:
See TracChangeset
for help on using the changeset viewer.