Oscillazioni libere e forzate - Un grado di libertà

Off[FindMaximum::lstol];
Off[InterpolatingFunction::dmval];

aa=-4;
bb= 2;

Forza elastica Fe che può essere non lineare:

Fe[k1_,k2_,k3_,x_]:= -k1 x - k2 x^2 -k3 x^3

Smorzatore (forza viscosa Fv) con caratteristica possibilmente diversa in estensione e compressione:

Fv[c1_,c2_,x_]:= -c1 x    /; x ≥0

Fv[c1_,c2_,x_]:= -c2 x    /; x<0

Equazione del moto con possibili forzanti:

equazione[m_,c1_,c2_,k1_,k2_,k3_,FF0_] :=(m x''[t]== Fe[k1,k2,k3,x[t]] +Fv[c1,c2,x'[t]]+FF0);

curva={{0,0  }};

Manipulate[(
soluzione=First[
NDSolve[
{equazione[m+me,c,c,k1,k2,k3,
		F0*Sin[ΩF t] (* Forzante esterna *)
			+ me*e*Ωm^2*Sin[Ωm t] (* massa eccentrica *)
],
x[0]==x0,
x'[0]==v0},
x,
{t,0,intervallo}]];
xsol=x/.soluzione[[1]];

Row[{(*Plot[{x[t]/.soluzione,
F0*Cos[Ω t]},{t,inizio,intervallo},PlotRange->{-range,range},FrameStyle->Medium,Frame->True,GridLines->Automatic,
ImageSize->600,PlotStyle->{Thick,Thin},
PlotLabel->{"ccr =",2Sqrt[m k1]," ","ωn =",Sqrt[k1/m]}]
,
*)
Animate[(kk=1.5-x[tt]/.soluzione);

(*curva = Join[curva,{{ΩF,First[FindMaximum[xsol[tf],{tf,20}]]}}  ];*)



Row[{

Show[{
Plot[{(*x[ts]/.soluzione,*)Tooltip[xsol[ts],"risposta del sistema"],

Tooltip[0.5F0*Sin[ΩF ts],"forzante esterna"],

Tooltip[me*e*Ωm^2*Sin[Ωm ts],"forzante massa eccentrica"]
},

{ts,inizio,intervallo},
PlotRange->{-range,range},FrameStyle->Medium,Frame->True,GridLines->Automatic,
ImageSize->605,PlotStyle->{{Thick},{Thick,Opacity[opa]},{Thick,Opacity[opa]}},Filling->{1->Axis},
PlotLabel->Style[{"= ccr"  2Sqrt[(m+me) k1]," ","= ωn"  Sqrt[k1/(m+me)],"","= ζ"c/(2Sqrt[(m+me) k1])},Large]],

Graphics[{PointSize[0.02142],Red,Point[{tt,-(kk-1.5)}],
Line[{{intervallo,-(kk-1.5)},{tt,-(kk-1.5)}}]
}]
}],

Rotate[Graphics[{Thick,Blue,GeometricTransformation[Line[{{0,0},{0.5,0},{1,1},{2,-1},{3,1},{4,-1},{4.5,0},{5,0}}],{{kk,0},{0,1}}],Black,

Line[{{0,-2.5},{3,-2.5}}],Line[{{3,-3},{3,-2}}],
Line[{{5kk-7,-3},{5kk,-3}}],
Line[{{5kk-7,-2},{5kk,-2}}],


Darker[Green],

Opacity[0.75],
Rectangle[{5kk,aa},{5kk+5,bb},RoundingRadius->0.63],

Opacity[1],

Red,Thickness[0.007],
Line[{{5kk+2.5,-4},{5kk+2.5,2}}],

Yellow,
Line[{{10,-4},{10,3}}],

Thickness[0.012],
Magenta,
Arrow[{{5kk+2.5,-1},{5kk+2.5,-1}-{2.5F0*Sin[ΩF tt],0}}],
Blue,
Line[{{5kk+2.5,-1},{5kk+2.5,-1}-5{e Sin[Ωm tt],e Cos[Ωm tt]}}],
PointSize[0.16 me],
Point[{5kk+2.5,-1}-5{e Sin[Ωm tt],e Cos[Ωm tt]}],
Gray,
PointSize[0.020],
Point[{5kk+2.5,-1}],
Black,
PointSize[0.025],
Point[(me*({5kk+2.5,-1}-5{e Sin[Ωm tt],e Cos[Ωm tt]})+ m*{5kk+2.5,-1})/(me+m)]
},PlotRange->{{0,20},{aa,bb}}, Frame->True,FrameTicks->None,ImageSize->520,GridLines->{Automatic,None}],
-90 Degree]
}],

{{tt,inizio,"tempo"},inizio,intervallo,Appearance->"Open",ControlPlacement->Top},
AnimationRepetitions->2,
AnimationRunning->False,
DefaultDuration->(intervallo-inizio)*rall],

Plot[Fe[k1,k2,k3,y],{y,-2,2},
ImageSize->300,
PlotRange->{{-2,2},{-30,30}},PlotStyle->{{Thick,Black}},
AxesLabel->{"x", "Fe"}],

ParametricPlot[{(*x[t]/.soluzione*) xsol[t], F0*Sin[ΩF t](*x'[t]/.soluzione*)},{t,inizio,intervallo},AspectRatio->1,
ImageSize->300,PlotStyle->{{Thick,Red}},
AxesLabel->{"x", "F"}](*,

ListPlot[Union[curva],PlotRange->{{0,13},{-2,2}},ImageSize->800]*)


}]),
Delimiter,
Text["condizioni iniziali"],
{{x0,1},0,3,Appearance->"Labeled"},
{{v0,0},-5,12,Appearance->"Labeled"},
Delimiter,
Text["massa, smorzatore e molla (anche non lineare)"],
{{m,1.},0.001,3,Appearance->"Labeled"},
{{c,0.50},0,11,0.1,Appearance->"Labeled"},
(*{{c2,0.5},0,8,Appearance->"Labeled"},*)
{{k1,20},0.1,60,Appearance->"Labeled"},
{{k2,0},-5,5, Appearance->"Labeled"},
{{k3,0},-5,15, Appearance->"Labeled"},
Delimiter,
Text["forzante esterna"],
{{F0,0},-4,4,0.1, Appearance->"Labeled"},
{{ΩF,0.5},0,9,0.05, Appearance->"Open",AnimationRate->0.1},
Delimiter,
Text["massa eccentrica"],
{{me,0.25},0,0.5, Appearance->"Labeled"},
{{e,0},0,0.7, Appearance->"Labeled"},
{{Ωm,2},0,9,0.05, Appearance->"Open",AnimationRate->0.1},
Delimiter,
{{opa,1},{0,1}, Appearance->"Open"},
{{range,1.35},0.5,3,Appearance->"Labeled"},
{{inizio,0},0,40,Appearance->"Labeled"},
{{intervallo,25},5,60,Appearance->"Labeled"}, 
{{rall,1,"vel. animazione"},0.15,3,Appearance->"Labeled"},
Delimiter,
Text["M. Guiggiani, 11/4/2022, all rights reserved"],

ControlPlacement->Right,
SaveDefinitions->True]

OSCILLAZIONE LIBERA SMORZATA

OSCILLAZIONE FORZATA A BASSA FREQUENZA: FORZA E SPOSTAMENTO IN FASE (dopo l’esaurimento dell’osc. libera)

FORZATA AD ALTA FREQUENZA: FORZA E SPOSTAMENTO IN OPPOSIZIONE DI FASE (dopo l’esaurimento dell’osc. libera)

RISONANZA: QUADRATURA DI FASE. La forza è massima quando lo spostamento è nullo

Fenomeno dei BATTIMENTI

Esercizio: trovare le condizioni iniziali che annullano fin dall’inizio l’oscillazione libera.