Schwarzkörperstrahlung

Initialisierung

h = 6.626068×(10^(-34));
ℏ=(h/(2π));
k =1.3806503 (10^(-23));
e=1.60217646*(10^(-19));
c =299792458;
THz=(10^12);GHz=(10^9);MHz=(10^6);
nm=(10^(-9));

SetOptions[Plot,Frame->True,BaseStyle->{FontFamily->"Helvetica",16}];
SetOptions[LogLinearPlot,Frame->True,BaseStyle->{FontFamily->"Helvetica",16}];

ShowCodeButton:=DynamicModule[{mode=1(*show*)},SelectionMove[EvaluationNotebook[],All,EvaluationCell];
SetOptions[NotebookSelection[EvaluationNotebook[]],CellOpen->False];
Button[Dynamic[If[mode==1,"Show code","Hide code"]],If[mode==1,SelectionMove[EvaluationNotebook[],All,EvaluationCell];
SelectionMove[EvaluationNotebook[],Previous,Cell];SetOptions[NotebookSelection[EvaluationNotebook[]],CellOpen->True];
mode=2,
(*else*)
SelectionMove[EvaluationNotebook[],All,EvaluationCell];
SelectionMove[EvaluationNotebook[],Previous,Cell];SetOptions[NotebookSelection[EvaluationNotebook[]],CellOpen->False];
mode=1
]
]
]

Plots

Energiedichte vs. Frequenz

Formeln

uωPlanck[ω_,T_]:=((ω^2)/((π^2)(c^3)))((ℏ ω)/((E^((ℏ ω)/(k T)))-1));
uωWien[ω_,T_]:=((ω^2)/((π^2)(c^3)))((ℏ ω)/(E^((ℏ ω)/(k T))));
ωMax[T_]:=2.8214 ((k T)/h)2π;
TωMax[ω_]:=ω(((2.8214 (k/h)2π))^(-1));
uωRJ[ω_,T_]:=((ω^2)/((π^2)(c^3)))k T;
uνPlanck[ν_,T_]:=((8π (ν^2))/(c^3))((h ν)/((E^((h ν)/(k T)))-1));
uνWien[ν_,T_]:=((8π (ν^2))/(c^3))((h ν)/(E^((h ν)/(k T))));
uνRJ[ν_,T_]:=((8π (ν^2))/(c^3))k T;
νMax[T_]:=2.8214 ((k T)/h);
TνMax[ν_]:=ν(((2.8214 (k/h)))^(-1));
uνPlanck2D[ν_,T_]:=2(π/(c^2))ν((h ν)/((E^((h ν)/(k T)))-1));
IνPlanck2D[ν_,T_]:=(c/(2π))uνPlanck2D[ν,T]
uνPlanck1D[ν_,T_]:=(1/c)((h ν)/((E^((h ν)/(k T)))-1));
IνPlanck1D[ν_,T_]:=(c/2)uνPlanck1D[ν,T]
IνPlanck[ν_,T_]:=(c/(4π))uνPlanck[ν,T];
IνWien[ν_,T_]:=(c/(4π))uνWien[ν,T];
IνRJ[ν_,T_]:=(c/(4π))uνRJ[ν,T];

myLegend=Framed[Grid[{{Graphics[{Blue,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Rayleigh-Jeans",Blue,FontFamily->"Helvetica"]},{Graphics[{Red,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Wien",Red,FontFamily->"Helvetica"]},{Graphics[{Darker[Green],Thick,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Planck",Darker[Green],FontFamily->"Helvetica"]},
{Graphics[{Gray,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Maximum",Gray,FontFamily->"Helvetica"]}},Alignment->Left]]

myLegendλ=Framed[Grid[{{Graphics[{Blue,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Rayleigh-Jeans",Blue,FontFamily->"Helvetica"]},{Graphics[{Red,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Wien",Red,FontFamily->"Helvetica"]},{Show[,ImageSize->{30,20}],Style["Planck",FontFamily->"Helvetica"]},
{Graphics[{Gray,Dashed,Line[{{0,0},{2,0}}]},ImageSize->{30,20}],Style["Maximum",Gray,FontFamily->"Helvetica"]}},Alignment->Left]]

Plot

νmax=1500;
plotRangeν={0.0,0.3 (10^(-14))};
plotRangeν={0.0,8};
yAxisDiv=(10^(-8));

ShowCodeButton
Grid[{{Manipulate[Block[{$PerformanceGoal="Quality"},Show[{
Plot[IνPlanck[ν  THz,T]/yAxisDiv,{ν,0,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [(10^8) W/ (m^2) Hz]"},PlotStyle->{Thick,Darker[Green]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}}],
Plot[IνWien[ν  THz,T]/yAxisDiv,{ν,0,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]",""},PlotStyle->{Dashed,Red},PlotRange->plotRangeν],
Plot[IνPlanck[ν  THz,TνMax[ν THz]]/yAxisDiv,{ν,0,νmax},ImageSize->400,PlotStyle->{Thin,Dashed,Gray},PlotRange->plotRangeν],
Plot[IνRJ[ν  THz,T]/yAxisDiv,{ν,0,νmax},ImageSize->400,PlotStyle->{Thin,Dashed,Blue}],Graphics[{Red,Disk[{νMax[T] /THz,IνPlanck[νMax[T],T]/yAxisDiv},{νmax/100,plotRangeν[[2]]/60}]}]}]],{{T,5778},0.01,7000,ControlType->Slider,Appearance->"Labeled"},LabelStyle->Large,SaveDefinitions->True],myLegend}}]

Energiedichte vs. Wellenlänge

Formeln

uλPlanck[λ_,T_]:=((8π h c)/(λ^5))(1/((E^((h c)/(λ k T)))-1));
uλWien[λ_,T_]:=((8π h c)/(λ^5))(1/(E^((h c)/(λ k T))));
λMax[T_]:=(1/4.96511) ((h c)/(k T));
TλMax[λ_]:=(1/4.96511) ((h c)/(k λ ));
uλRJ[λ_,T_]:=((8π h c)/(λ^5))(1/((h c)/(λ k T)));
IλPlanck[λ_,T_]:=(c/(4π))uλPlanck[λ,T];
IλWien[λ_,T_]:=(c/(4π))uλWien[λ,T];
IλRJ[λ_,T_]:=(c/(4π))uλRJ[λ,T];

Plot

λmax=4000;
plotRange=Automatic;
plotRange={0.0,8};
yAxisDivλ=(10^13);

ShowCodeButton
Grid[{{Manipulate[Show[{Plot[IλPlanck[λ nm,T]/yAxisDivλ,{λ,0,λmax},ImageSize->400,FrameLabel->{"Wellenlänge λ [nm]","Intensität   [(10^13) W/ (m^3)]"},PlotStyle->{Thick,Lighter[Green]},PlotRange->plotRange,FrameTicks->{Automatic,Automatic},ColorFunction->(ColorData["VisibleSpectrum"][#]&),ColorFunctionScaling->False,Filling->Axis,Epilog->Inset[Text[Style["(Subscript[λ, max])="<>ToString[N[FromDigits[RealDigits[λMax[T]*(10^9),10,5]]],InputForm,NumberMarks->False]<>" nm",24,FontFamily->"Helvetica",ColorData["VisibleSpectrum"][λMax[T]*(10^9)]]],Scaled[{0.4,0.8}],{Left,Top}]],
Plot[IλPlanck[λ nm,TλMax[λ nm]]/yAxisDivλ,{λ,0,λmax},ImageSize->400,PlotStyle->{Thin,Dashed,Gray},PlotRange->plotRange],
Plot[IλWien[λ nm,T]/yAxisDivλ,{λ,0,λmax},ImageSize->400,PlotStyle->{Thin,Dashed,Red},PlotRange->plotRange],
Plot[IλRJ[λ nm,T]/yAxisDivλ,{λ,0,λmax},ImageSize->400,PlotStyle->{Thin,Dashed,Blue},PlotRange->plotRange]}],{{T,5778},10,7000,ControlType->Slider,Appearance->"Labeled"},LabelStyle->Large,SaveDefinitions->True],myLegendλ}}]

Vergleich 1/2/3D

Variablen

νmin=0.1;
νmax=1500;
plotRangeν={0.0,0.3 (10^(-14))};
plotRangeν={0.0,8};
yAxisDiv=(10^(-8));
yAxisDiv2D=(10^(-14));
yAxisDiv1D=(10^(-20));

Linear in der Frequenz

ShowCodeButton
Manipulate[Block[{$PerformanceGoal="Quality"},Show[{
Plot[IνPlanck[ν  THz,T]/yAxisDiv,{ν,0,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [a.u.]"},PlotStyle->{Thick,Darker[Green]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}},Epilog->Inset[Grid[{{Text[Style["1D",18,FontFamily->"Helvetica",Red]]},{Text[Style["2D",18,FontFamily->"Helvetica",Blue]]},{Text[Style["3D",18,FontFamily->"Helvetica",Darker[Green]]]}}],Scaled[{0.8,0.9}],{Left,Top}]],
Plot[IνPlanck2D[ν  THz,T]/yAxisDiv2D,{ν,0,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [(10^8) W/ (m^2) Hz]"},PlotStyle->{Thick,Lighter[Blue]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}}],
Plot[IνPlanck1D[ν  THz,T]/yAxisDiv1D,{ν,0,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [(10^8) W/ (m^2) Hz]"},PlotStyle->{Thick,Lighter[Red]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}}]}]],{{T,5778},0.01,7000,ControlType->Slider,Appearance->"Labeled"},LabelStyle->Large,SaveDefinitions->True]

Logarithmisch in der Frequenz

ShowCodeButton
Manipulate[Block[{$PerformanceGoal="Quality"},Show[{
LogLinearPlot[IνPlanck[ν  THz,T]/yAxisDiv,{ν,νmin,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [a.u.]"},PlotStyle->{Thick,Darker[Green]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}},Epilog->Inset[Grid[{{Text[Style["1D",18,FontFamily->"Helvetica",Red]]},{Text[Style["2D",18,FontFamily->"Helvetica",Blue]]},{Text[Style["3D",18,FontFamily->"Helvetica",Darker[Green]]]}}],Scaled[{0.8,0.9}],{Left,Top}]],
LogLinearPlot[IνPlanck2D[ν  THz,T]/yAxisDiv2D,{ν,νmin,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [(10^8) W/ (m^2) Hz]"},PlotStyle->{Thick,Lighter[Blue]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}}],
LogLinearPlot[IνPlanck1D[ν  THz,T]/yAxisDiv1D,{ν,νmin,νmax},ImageSize->400,FrameLabel->{"Frequenz ν [THz]","Intensität   [(10^8) W/ (m^2) Hz]"},PlotStyle->{Thick,Lighter[Red]},PlotRange->plotRangeν,FrameTicks->{{Automatic,Automatic},{Automatic,Automatic}}]}]],{{T,5778},0.01,7000,ControlType->Slider,Appearance->"Labeled"},LabelStyle->Large,SaveDefinitions->True]