Infinite Potential Well - Time Evolution

Vary the time t to see the evolution of the wavefunction of a particle of mass m in an infinite square well of length a. Initial conditions are a linear combination of the first three energy eigenstates (Subscript[ψ, n]). The amplitude of each coefficient is set by the c sliders. The phase of each coefficient at t = 0 is set by the ϕ sliders. The wave function is automatically normalized.

Position is in units of a.
Ψ is in units of (a^(-1/2)).
ρ is in units of (a^(-1)).
Energy is in units of (Subscript[E, 1])=(ℏ^2)(π^2)/2m(a^2)
Time is in units of ℏ/(2π (Subscript[E, 1])).

Manipulate[
Module[{n,c,p,norm,f,ProbDensity,EnergyExpectationValue},
n=3;
c={a1,a2,a3};
p={p1,p2,p3};
norm=(Sum[(c[[i]])^2,{i,1,n}])^(-1/2);
f=Sum[norm*c[[i]]*Exp[2*Pi*I*p[[i]]]*Sqrt[2]*Sin[Pi*i*x]*Exp[-I*t*i^2*Pi*2],{i,1,n}];
ProbDensity=Conjugate[f]*f;
EnergyExpectationValue=Sum[(norm*c[[i]])^2*i^2,{i,1,n}];
Grid[{{
Text@Column[{
"",
Row[{"Ψ(",Style["x",Italic],", ",Style["t",Italic]," = 0) = ∑ ",(Subscript[Style["c",Italic], Style["n",Italic]]),(Subscript["ψ", Style["n",Italic]]),"(",Style["x",Italic],")"}],
Row[{"Ψ(",Style["x",Italic],", ",Style["t",Italic],") = ∑ ",(Subscript[Style["c",Italic], Style["n",Italic]]),(Subscript["ψ", Style["n",Italic]]),"(",Style["x",Italic],")",((Style["e",Italic])^(Row[{Style["i",Italic]," ",(Subscript[Style["E",Italic], Style["n",Italic]]),Style["t",Italic],"/",Style["h",Italic]}]))}],
Row[{(Subscript[Style["c",Italic], 1])," = ",NumberForm[Chop[ norm*c[[1]]*Exp[2*Pi*I*p[[1]]] ],{4,3}]}],
Row[{(Subscript[Style["c",Italic], 2])," = ",NumberForm[Chop[norm*c[[2]]*Exp[2*Pi*I*p[[2]]] ],{4,3}]}],
Row[{(Subscript[Style["c",Italic], 3])," = ",NumberForm[Chop[norm*c[[3]]*Exp[2*Pi*I*p[[3]]] ],{4,3}]}],
Row[{"<",Style["H",Italic],"> = ", EnergyExpectationValue}]
}],
GraphicsColumn[{
Plot[{Re[f],Im[f]},{x,0,1},PlotRange->{-2,2},AxesLabel->{x,Row[{Style["Re[Ψ]",FontColor->Blue],","," ",Style["Im[Ψ]",FontColor->Red]}]},PlotStyle->{Blue,Red}],Plot[ProbDensity,{x,0,1},PlotRange->{0,4},AxesLabel->{x,ρ}]
},ImageSize->400]
}}]]
,
{{a1,1,"(Subscript[c, 1])"},0.001,1,Appearance->"Labeled",ImageSize->Tiny},
{{p1,0,"(Subscript[ϕ, 1])"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
"",
{{a2,0,"(Subscript[c, 2])"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
{{p2,0,"(Subscript[ϕ, 2])"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
"",
{{a3,0,"(Subscript[c, 3])"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
{{p3,0,"(Subscript[ϕ, 3])"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
"",
{{t,0,"t"},0,1,.01,Appearance->"Labeled",ImageSize->Tiny},
ControlPlacement->Left
]