n  =   . ;  z  =   . ;
SphericalBesselJ[n_, z_]  = 
        Sqrt[Pi/(2*z)]*
          BesselJ[n + 1/2,  z];
SphericalBesselY[n_, z_]  = (-1)^n*Sqrt[Pi/(2*z)]*
          BesselJ[-(n + 1/2),  z];

    
Needs["Graphics`Graphics`"]

Series[SphericalBesselJ[2, x], {x, 0, 2}]

Series[SphericalBesselY[2, x], {x, 0, 2}]

V0  =   . ;  k  =   . ;
a  =  1;
kappa  =  Sqrt[k^2 + V0];
delta0[k_] = -k*a + 
          ArcTan[(k/kappa)*Tan[kappa*a]];

(* Dieser plot zeigt,  
      dass Resonanzen im s - Wellen - Querschnitt auftreten,  
      falls die logarithmische Ableitung der ' 
        inneren Lösung' gleich Null ist. *) 

k  =  0.1; 
    V0 =. ;

    Plot[{kappa*a*Cot[kappa*a], (Sin[delta0[k]])^2, 1}, {V0, 0, 
        2.9}, 
PlotRange -> {-0.3, 
          1.4}]

k = 1. ;
Plot[{(Sin[delta0[k]])^2, delta0[k]}, {V0, 55, 65}]

ell  =   . ; x  =   . ;
k  =. ; 
V0  =   . ;
in[ell_, x_]  =  
        SphericalBesselJ[ell, kappa*x];
logDerIn[ell_]  =  ((#*in[ell, #]) &)'[a]/
          in[ell, a];

    
jlOut[ell_, x_] = 
        SphericalBesselJ[ell, k*x];
ylOut[ell_, x_] = 
        SphericalBesselY[ell, k*x];
jlPrimeOut[ell_, x_] = ((#*jlOut[ell, #]) &)'[
          x];
ylPrimeOut[ell_, x_] = ((#*ylOut[ell, #]) &)'[
          x];

    
delta[ell_] = 
        ArcTan[(jlOut[ell, a]*logDerIn[ell] - 
                jlPrimeOut[ell, a])/(ylPrimeOut[ell, a] - 
                ylOut[ell, a]*logDerIn[ell])];

    
out[ell_, x_] = 
        jlOut[ell, x] + Tan[delta[ell]]*ylOut[ell, x];

(*Überprüfen,  
      dass die allgemeine Formel für die Streuphase bei l  =  0 mit der aus der Übung übereinstimmt.  *) 

V0  =  5. ;  ell  =  0; k =. ; 
    Plot[Evaluate[{Tan[delta[ell]], Tan[delta0[k]]}], {k, 0, 
        1.5}]

V0  =  15. ;  ell  =  0;  k  = 6. ;
{in[ell, a], out[ell, a]}

V0  =  25. ;  ell  =  0;  
    k  = 1.6;

gIn  =  
        Plot[in[ell, x]/in[ell, a], {x, 0, a}, 
          PlotStyle -> {{Thickness[0.01], 
                Hue[0]}}, 
DisplayFunction -> 
            Identity];
gOut  =  
        Plot[out[ell, x]/out[ell, a], {x, 0, 3*a}, 
          PlotStyle -> {{Thickness[0.01], 
                Hue[0.6]}}, 
DisplayFunction -> 
            Identity];

\(Show[
{gOut, gIn, 
        Graphics[Text["k a = " <> ToString[k*a], \ {2.8, 5}, {1, 0}]]}, 
      PlotRange -> {\(-10\), 
          11}, 
DisplayFunction -> $DisplayFunction]\)

\(\(\( (*\ Diese\ Schleife\ erzeugt\ eine\ Reihe\ von\ Plots, \ 
      die\ ' animiert'\ werden\ können . \ 
            Dazu\ alle\ plots\ auswählen\ und\ im\ Menu\ ' \(Cell'\)\ ' 
          Animate\ Selected\ Graphics'\ wählen . \ 
CRTL + 
        Y\ funktioniert\ auch\ bei\ meiner\ \(\(Version\)\(.\)\)\ *) \)\(
\)\(
\)\(V0\  = \ 2.7; \ ell\  = \ 0; \ 
    kMax\  = \ 2. ; 
    gSigma = Plot[{k^2*\((Sin[delta0[k]]/k)\)^2}, {k, 0, 
          kMax}, 
DisplayFunction -> 
          Identity];

    \(kTable = 
        Range[0.05, 1. , 0.03];\)


    \(Do[k\  = \ kTable[\([ii]\)]; 
gIn\  = \ 
          Plot[x*in[ell, x]/in[ell, a], {x, 0, a}, 
            PlotStyle -> {{Thickness[0.01], 
                  Hue[0]}}, 
DisplayFunction -> 
              Identity]; 
gOut\  = \ 
          Plot[x*out[ell, x]/out[ell, a], {x, a, 3*a}, 
            PlotStyle -> {{Thickness[0.01], 
                  Hue[0.6]}}, 
DisplayFunction -> 
              Identity]; 
gDot\  = \ 
          Graphics[{PointSize[0.05], Hue[0], 
              Point[{k, 
                  k^2*\((Sin[delta0[k]]/k)\)^2}]}]; 
Show[
          GraphicsArray[{Show[
{gIn, gOut, 
                  Graphics[
                    Text["k a = " <> ToString[k*a], \ {2.8, 5}, {1, 
                        0}]]}, PlotRange -> {\(-6\), 6}], 
              Show[\ {gSigma, gDot}]}], 
          DisplayFunction -> $DisplayFunction], 
{ii, 
          Length[kTable]}];\)

    \)\)\)

V0  =   . ;  k  =  0.1;
ell  =  0; 
    gSigma = Plot[{k^2*(Sin[delta0[k]]/k)^2}, {V0, 20, 
          25}, 
DisplayFunction -> 
          Identity];
kTable = Range[0.01, 0.2, 0.01];
VTable = 
        Range[20, 25, 0.2];

Do[
        V0  =  VTable[[ii]]; 
gIn  =  
          Plot[x*in[ell, x]/in[ell, a], {x, 0, a}, 
            PlotStyle -> {{Thickness[0.01], 
                  Hue[0]}}, 
DisplayFunction -> 
              Identity]; 
gOut  =  
          Plot[x*out[ell, x]/out[ell, a], {x, a, 3*a}, 
            PlotStyle -> {{Thickness[0.01], 
                  Hue[0.6]}}, 
DisplayFunction -> 
              Identity]; 
gDot  =  
          Graphics[{PointSize[0.05], Hue[0], 
              Point[{V0, 
                  k^2*(Sin[delta0[k]]/k)^2}]}]; 
Show[
          GraphicsArray[{Show[
{gIn, gOut, 
                  Graphics[
                    Text["V0 a^2 = " <> ToString[V0*a^2],  {2.8, 5}, {1, 
                        0}]]}, PlotRange -> {-6, 6}], 
              Show[ {gSigma, gDot}]}], 
          DisplayFunction -> $DisplayFunction], 
{ii, 
          Length[VTable]}];

(* 
      Definition von Streuamplitude für eine feste Partialwelle .  fl ist so normiert,  
      dass das Quadrat den entsprechenden partiellen Wirkungsquerschnitt sigma_ell liefert .  
          scattAmp ist die übliche Streuamplitude inclusive Abhängigkeit von theta .  
          Das Quadrat liefert den differentiellen Wirkungsquerschnitt d sigma/d Omega. *) 

k  =   . ;

    ell  =   . ;

    V0  =   . ;

    fl[ell_] = 
        Sqrt[4*Pi*(2*ell + 1)]*(Exp[2*I*delta[ell]] - 1)/(2*I*
                k);

    scattAmp[theta_, lMax_] := 
        Sum[(2*ell + 1)/(2*I*k)*(Exp[2*I*delta[ell]] - 1)*
            LegendreP[ell, Cos[theta]], {ell, 0, lMax}];

(* 
      Das zweite Argument von scattAmp so wählen,  
      dass das Ergebnis nicht mehr davon abhängt .  Regel :  ' genügend groß',  
      aber gerade so groß wie nötig,  
      um Rechenzeit zu sparen.*) 

V0  =  25. ;  k  =  2.87; 

    {scattAmp[1.4, 5], scattAmp[1.4, 10], scattAmp[1.4, 20]}

V0  =  25. ;  k  =  2.87; 
PolarPlot[Abs[scattAmp[theta, 5]^2], {theta, 0, Pi}]

V0  =  25. ;  k  =  1.7; 
PolarPlot[Abs[scattAmp[theta, 5]^2], {theta, 0, Pi}]

V0  =  25. ;  k  =  1.15; 
PolarPlot[Abs[scattAmp[theta, 5]]^2, {theta, 0, Pi}]

V0  =  5. ;  k  =  2.5; 
PolarPlot[Abs[scattAmp[theta, 10]], {theta, 0, Pi}]

V0  =  25. ;  
    k  =  17. ;

    ListPlot[
      Table[{ell, Abs[fl[ell]]^2/(Pi*a^2)}, {ell, 0, 
          20}], 
PlotStyle -> {PointSize[
            0.03]}, 
AxesOrigin -> {0, 
          0}, 
PlotRange -> All]

Y10[theta_, phi_] = SphericalHarmonicY[1, 0, theta, phi]

Integrate[Sin[theta]*(Y10[theta, phi])^2, {theta, 0, Pi}]*2*
      Pi

??  SphericalHarmonicY