I like to know where my notebook resides.

NotebookDirectory[]

Natural Modes of Vibration

Below are the natural modes of vibration of a string with the mass density ρ, with the magnitude of the tensile force (Subscript[T, 0]) and the length lL. We consider two different time parts, cosine and sine:

Clear[NMVC,NMVS,x,t,n,ρ,T0,lL];
NMVC[x_,t_,n_,T0_,ρ_,lL_]:=Sin[((n Pi)/lL) x]Cos[((n Pi (Sqrt[T0]))/((Sqrt[ρ])lL)) t];
NMVS[x_,t_,n_,T0_,ρ_,lL_]:=Sin[((n Pi)/lL) x]Sin[((n Pi (Sqrt[T0]))/((Sqrt[ρ])lL)) t]

Test the functions defined above:

NMVC[x,t,1,1,1,Pi]

NMVS[x,t,1,1,1,Pi]

To display the time nicely, I need to understand the command which controls the display of decimal numbers.

?NumberForm

NumberForm[N[Pi],{10,9}]

Clear[T0,lL,tc];Manipulate[
Which[tc=="cos",
Plot[
Evaluate[NMVC[x,t,n,T0,ρ,lL]],{x,0,lL},
PlotStyle->{{Blue,Thickness[0.005]}},
Epilog->{RGBColor[0,0,.5],PointSize[0.01],Point[{0,0}],Point[{lL,0}]},
PlotRange->{{-0.03,2.03},{-1.1,1.1}},
PlotLabel->TableForm[
{"time","=",
NumberForm[N[t],{5,3},NumberPadding->{" ","0"}]},
TableDirections-> Row,TableAlignments->{Left,Left,Right},TableSpacing->{0.5,.3}],

Frame->True,AspectRatio->1/4,ImageSize->600
],
tc=="sin",Plot[
Evaluate[NMVS[x,t,n,T0,ρ,lL]],{x,0,lL},
PlotStyle->{{Blue,Thickness[0.005]}},
Epilog->{RGBColor[0,0,.5],PointSize[0.01],Point[{0,0}],Point[{lL,0}]},
PlotRange->{{-0.03,2.03},{-1.1,1.1}},
PlotLabel->TableForm[
{"time","=",
NumberForm[N[t],{5,3},NumberPadding->{" ","0"}]},
TableDirections-> Row,TableAlignments->{Left,Left,Right},TableSpacing->{0.5,.3}],
Frame->True,AspectRatio->1/4,ImageSize->600
]
]
,
{{t,0,"time"},0,8 Pi,N[(Pi/128)]},{{n,1},Range[10],ControlType->Setter},
{{tc,"cos","time component"},{"cos","sin"},ControlType->RadioButton},
{{T0,1},0.1,3,ControlType->VerticalSlider,ControlPlacement->Right},
{{ρ,1},0.1,3,ControlType->VerticalSlider,ControlPlacement->Left},{{lL,1,"length"},0.1,2,ControlType->Slider,ControlPlacement->Bottom},ContinuousAction->True]

Module[{t},t=0;Plot[Evaluate[NMVC[x,t,6,1,1,Pi]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[2t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black]]

Explore how the command Table[] works with nested tables.

Table[Table[{j,k},{j,1,4}],{k,4,8}]

NMV1=Table[Plot[Evaluate[NMVC[x,t,1,1,1,Pi]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2 Pi,0.05}];

Length[NMV1]

NMV1[[1]]

NMVC[x,t,n,1,1,Pi]

NMVtt=Table[Table[Plot[Evaluate[NMVC[x,t,n,1,1,Pi]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2 Pi,2Pi/120.}],{n,1,6}];

Length[NMVtt[[2]]]

Show[NMVtt[[2,121]],ImageSize->600]

ListAnimate[Show[#,ImageSize->600]&/@NMV1,ControlPlacement->Top]

Manipulate[ListAnimate[Show[#,ImageSize->500]&/@NMVtt[[n]],AnimationRunning->True,ControlPlacement->Top],{n,Range[1,6]},ControlType->Setter,ControlPlacement->Top]

An exact solution

I will use the function below as the initial displacement of the string.

Plot[1((Sin[x])^3)+((Cos[x])^3)*((Sin[x])^1),{x,0,Pi},PlotRange->{-1.5,1.5},AspectRatio->1/5,ImageSize->500]

Table[(2/Pi)Integrate[# Sin[k x],{x,0,Pi}],{k,1,12}]&[1((Sin[x])^3)+((Cos[x])^3)*((Sin[x])^1)]

(Table[(2/Pi)Integrate[# Sin[k x],{x,0,Pi}],{k,1,8}]&[1((Sin[x])^3)+((Cos[x])^3)*((Sin[x])^1)]).Table[Sin[k x]Cos[k t],{k,1,8}]

FullSimplify[(%)/.{t->0}]

Manipulate[Plot[(3/4) Cos[t] Sin[x]+(1/4) Cos[2 t] Sin[2 x]-(1/4) Cos[3 t] Sin[3 x]+(1/8) Cos[4 t] Sin[4 x],{x,0,Pi},PlotRange->{-1.5,1.5},AspectRatio->1/5,ImageSize->500],{t,0,2 Pi},ControlPlacement->Top]

Since we will take the initial velocity to be zero, we only need the following separated solutions:

uupex[x_,t_]=(3/4) Cos[t] Sin[x]+(1/4) Cos[2 t] Sin[2 x]-(1/4) Cos[3 t] Sin[3 x]+(1/8) Cos[4 t] Sin[4 x];

D[uupex[x,t],{t,2}]-D[uupex[x,t],{x,2}]

{uupex[0,t],uupex[Pi,t]}

FullSimplify[uupex[x,0]-(1((Sin[x])^3)+((Cos[x])^3)*((Sin[x])^1))]

D[uupex[x,t],{t,1}]/.{t->0}

Just to verify, as the plot below shows. The orange function is the given function, and the navy function is a part of the solution uupex[x,t].

Plot[{((Sin[x])^3)+((Cos[x])^3)*((Sin[x])^1),Evaluate[uupex[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{-1.5,1.5}]

Now show vibrations of this string.

Manipulate[Plot[Evaluate[uupex[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.42},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{4,2}],{Pi/2,1.42},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.6,1.6}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2Pi},ControlPlacement->Top]

uupextt=Table[Plot[Evaluate[uupex[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.42},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.42},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.6,1.6}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->800,Background->Black],{t,0,2 Pi,2 Pi/240}];

Length[uupextt]

ListAnimate[Show[#,ImageSize->600]&/@uupextt,ControlPlacement->Top]

Approximate solution using a partial sum of a Fourier series

Exact formulas for the Fourier coefficients

I will use the function below as the initial displacement of the string.

Plot[(1/6)(x^2)(Pi-x),{x,0,Pi},PlotRange->All]

Since we will take the initial velocity to be zero, we only need the following separated solutions:

NMVC[x,t,n,1,1,Pi]

We will work with the approximation obtained with 50 terms of the corresponding Fourier series which converges uniformly to the initial condition.

FullSimplify[(2/Pi)Integrate[(1/6)(x^2)(Pi-x)Sin[n x],{x,0,Pi}],And[n∈Integers,n>0]]

uupef[x_,t_]=Sum[-((2 (1+2 (((-1))^n)))/(3 (n^3)))Cos[n t] Sin[n x],{n,1,50}];

We obtained a very good approximation, as the plot below shows. The orange function is the given function, and the navy function is the approximation.

Plot[{(1/6)(x^2)(Pi-x),Evaluate[uupef[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{0,1.5}]

Plot[{Evaluate[uupef[x,2 Pi]],Evaluate[uupef[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{0,1.5}]

Now show vibrations of this string.

Manipulate[Plot[Evaluate[uupef[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{4,2}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2 Pi},ControlPlacement->Top]

uupeftt=Table[Plot[Evaluate[uupef[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->800,Background->Black],{t,0,6.4,6.4/240}];

Length[uupeftt]

ListAnimate[Show[#,ImageSize->600]&/@uupeftt,ControlPlacement->Top]

Exact formulas for the Fourier coefficients 2

I will use the function below as the initial displacement of the string.

Plot[(1/12)(x^3)(((Pi-x))^2),{x,0,Pi},PlotRange->All]

Since we will take the initial velocity to be zero, we only need the following separated solutions:

NMVC[x,t,n,1,1,Pi]

We will work with the approximation obtained with 50 terms of the corresponding Fourier series which converges uniformly to the initial condition.

FullSimplify[(2/Pi)Integrate[(1/12)(x^3)(((Pi-x))^2)Sin[n x],{x,0,Pi}],And[n∈Integers,n>0]]

uupef2[x_,t_]=Sum[((-24+(((-1))^n) (-36+(n^2) (π^2)))/(3 (n^5)))Cos[n t] Sin[n x],{n,1,50}];

We obtained a very good approximation, as the plot below shows. The orange function is the given function, and the navy function is the approximation.

Plot[{(1/12)(x^3)(((Pi-x))^2),Evaluate[uupef2[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{0,1.5}]

Plot[{Evaluate[uupef2[x,2 Pi]],Evaluate[uupef2[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{0,1.5}]

Now show vibrations of this string.

Manipulate[Plot[Evaluate[uupef2[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{4,2}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2 Pi},ControlPlacement->Top]

uupeft2=Table[Plot[Evaluate[uupef2[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->800,Background->Black],{t,0,2 Pi,2 Pi/240}];

Length[uupeft2]

ListAnimate[Show[#,ImageSize->600]&/@uupeft2,ControlPlacement->Top]

Numerical evaluations for the Fourier coefficients

I will use the function below as the initial displacement of the string.

Plot[(4/(Pi^2))x (Pi-x)Exp[-5(((x-1))^2)],{x,-1,5},PlotRange->{0,1}]

Since we will take the initial velocity to be zero, we only need the following separated solutions:

NMVC[x,t,n,1,1,Pi]

We will work with the approximation obtained with 50 terms of the corresponding Fourier series which converges uniformly to the initial condition.

(* 
FullSimplify[(2/Pi)Integrate[(4/(Pi^2))x (Pi-x)Exp[-5(((x-1))^2)]Sin[n x],{x,0,Pi}],And[n∈Integers,n>0]]
*)

(2/Pi)Integrate[(4/(Pi^2))x (Pi-x)Exp[-5(((x-1))^2)]Sin[n x],{x,0,Pi}]

Clear[aat]; aat=Table[(2/Pi)NIntegrate[(4/(Pi^2))x (Pi-x)Exp[-5(((x-1))^2)]Sin[n x],{x,0,Pi}],{n,1,50}];

aat

uup[x_,t_]=Sum[aat[[n]]Cos[n t] Sin[n x],{n,1,Length[aat]}];

We obtained a very good approximation, as the plot below shows. The orange function is the given function, and the navy function is the approximation.

Plot[{(4/(Pi^2))x (Pi-x)Exp[-5(((x-1))^2)],Evaluate[uup[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{-0.01,1},Ticks-> {Range[0,Pi,Pi/4],Automatic}]

Plot[{Evaluate[uup[x,2Pi]],Evaluate[uup[x,0]]},{x,0,Pi},PlotStyle->{{Thickness[0.008],RGBColor[1,0.5,0]},{Thickness[0.004],RGBColor[0,0,0.5]}},PlotRange->{-0.01,1},Ticks-> {Range[0,Pi,Pi/4],Automatic}]

Now show vibrations of this string.

Manipulate[Plot[Evaluate[uup[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{4,2}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->600,Background->Black],{t,0,2 Pi},ControlPlacement->Top]

uuptt=Table[Plot[Evaluate[uup[x,t]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->800,Background->Black],{t,0,2 Pi,2 Pi/240}];

Length[uuptt]

First[uuptt]

ListAnimate[Show[#,ImageSize->600]&/@uuptt,ControlPlacement->Top]

Making animated gifs and pngs

The commands below is how I make animated gifs in Mathematica. I forst create a table of pictures. Then export those tables as gifs. That creates an animated gifs. The modern browsers can also display animated pngs.

NMVttime=Table[Table[Plot[Evaluate[NMVC[x,t,n,1,1,Pi]],{x,0,Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,0]}},
Epilog->{
{PointSize[0.012],White,Point[#]&/@{{0,0},{Pi,0}}},
{Text["t =",{Pi/2-0.1,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}],Text[NumberForm[N[t],{3,1}],{Pi/2,1.26},BaseStyle-> {FontWeight->"Normal",FontColor->RGBColor[1,1,1]}]}
},
PlotRange->{{-0.1,Pi+0.1},{-1.4,1.4}},AspectRatio->1/5,Frame->True,FrameTicks->{{{},{}},{Range[0,Pi,Pi/4],{}}},Axes->False,ImageSize->800,Background->Black],{t,0,2 Pi,2Pi/240.}],{n,1,6}];

Length[NMVttime[[1]]]

(* dds=0.1&/@Range[Length[NMVttime[[1]]]];  duration of each frame that we want*)

NotebookDirectory[]

The commands below are commented out since I do not want them executed whenever I evaluate this notebook. The commands below export the tables created above as animated gifs. I hope I got them reasonable well designed, so until I decide that I can improve them, they will stay commented out.

(* SetDirectory[NotebookDirectory[]] *)

(* Export["NMVttime1s1.gif",NMVttime[[1]][[1]],"ImageSize"->800];Export["NMVttime1.gif",NMVttime[[1]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;
  Export["NMVttime2s1.gif",NMVttime[[2]][[1]],"ImageSize"->800];Export["NMVttime2.gif",NMVttime[[2]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;
Export["NMVttime3s1.gif",NMVttime[[3]][[1]],"ImageSize"->800];Export["NMVttime3.gif",NMVttime[[3]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;
Export["NMVttime4s1.gif",NMVttime[[4]][[1]],"ImageSize"->800];Export["NMVttime4.gif",NMVttime[[4]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;
Export["NMVttime5s1.gif",NMVttime[[5]][[1]],"ImageSize"->800];Export["NMVttime5.gif",NMVttime[[5]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;
Export["NMVttime6s1.gif",NMVttime[[6]][[1]],"ImageSize"->800];Export["NMVttime6.gif",NMVttime[[6]],"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds]  *)

(*  dds=0.1&/@Range[Length[uuptt]];  
 Export["uuptts1.gif",uuptt[[1]],"ImageSize"->800];Export["uupttAni.gif",uuptt,"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;  *)

(* 
SetDirectory[NotebookDirectory[]] ; 
dds=0.1&/@Range[Length[uupeftt]];  
Export["uupeftts1.gif",uupeftt[[1]],"ImageSize"->800];Export["uupefttAni.gif",uupeftt,"AnimationRepetitions"->Infinity,"ImageSize"->800,"DisplayDurations"->dds] ;   
*)