Plots of the damped harmonic  oscillator. 
b is “beta”, the damping parameter. I set omega_0=1, so critical damping is b=1, and overdamping is always b>1. 

I had to figure out the coefficents that give you x(0)=x0, and v(0)=v0. 
For the critical case, those are easier, so they’re just built right into the function below

w0=1;
 
w1[b_] := Sqrt[w0^2-b^2]; (*the usual notation, this is the effective frequency of the damped oscillator*)
b1[b_] := Sqrt[b^2-w0^2]; (*my notation, this complicated beast occurs in the over-damped case *)
d[b_,x0_,v0_] :=If[x0==0,0,ArcTan[(v0+b*x0)/(x0*w1[b])]];(* This is delta, the phase shift, for the underdamped case, I had to work it out so you get x(0)=x0 and v(0)=v0.  Check this yourself, it's a nice little exercise! *)
c1[b_,x0_,v0_]:=(x0/2)*(1+b/b1[b])+ (v0/2)*(1/b1[b]);  (*This is the coefficient you need to get x(0)=x0 and v(0)=v0 for the overdamped case *)
c2[b_,x0_,v0_]:=(x0/2)*(1-b/b1[b])- (v0/2)*(1/b1[b]);

foverdamped[t_,b_,x0_,v0_] := c1[b,x0,v0]*Exp[(b1[b]-b)*t] + c2[b,x0,v0]*Exp[(-b1[b]-b)*t] ;
fcritical[t_,x0_,v0_] := x0*Exp[-w0*t]+((v0+x0)*t*Exp[-w0*t]);
funder[t_,b_,x0_,v0_] := Exp[-b*t]*(x0/Cos[d[b,x0,v0]])*Cos[w1[b]*t-d[b,x0,v0]];

x[t_,b_,x0_,v0_] := If[b>1,foverdamped[t,b,x0,v0],If[b==1, fcritical[t,x0,v0],funder[t,b,x0,v0]]];
title[b_,x0_,v0_] :=If[b>1,"Overdamped",If[b==1, "CRITICAL", If[b==0,"IDEAL","Underdamped"]]];


Manipulate[Plot[x[t,b,x0,v0],{t,0,6 Pi}, PlotRange -> {-yaxisscale*1.1,yaxisscale*1.1}, PlotLabel -> title[b,x0,v0],FormatType ->Large ,PlotStyle-> {Black, Thick}],{b,0,8,.1},{{x0,1},0,1},{{v0,0},-3,3},{{yaxisscale,1},.1,4}]

v[t_,b_,x0_,v0_] := D[x[tt,b,x0,v0],tt]/.{ tt->t};


Manipulate[Plot[{x[t,b,x0,v0],v[t,b,x0,v0]},{t,0,6*Pi}, PlotRange -> {-yaxisscale*1.1,yaxisscale*1.1}, PlotLabel -> title[b,x0,v0],FormatType ->Large ,PlotStyle-> {Black, Thick}],{b,0,8,.1},{{x0,1},0,1},{{v0,0},-3,3},{{yaxisscale,1},.1,4}]

energy[t_,b_,x0_,v0_] :=0.5*(v[t,b,x0,v0])^2 +0.5(x[t,b,x0,v0])^2

Manipulate[Plot[{energy[t,b,x0,v0],v[t,b,x0,v0]},{t,0,6 Pi}, PlotRange -> {-yaxisscale*1.1,yaxisscale*1.1}, PlotLabel -> {"E",v,title[b,x0,v0]},FormatType ->Large ,PlotStyle-> {Black, Thick}],{b,0,8,.1},{{x0,1},0,1},{{v0,0},-3,3},{{yaxisscale,1},.1,4}]