RUGALMAS SZÁL DIFFERENCIÁLEGYENLETE

Hajlítónyomatéki függvények:

Mh1=-FA*x+MA-(p0/2)(x^2);
Mh2=-FA*x+MA-(p0*a)(x-(a/2))-F1(x-a);

Rugalmas szál differenciálegyenletei:

Egyváltozós fgv esetén a ‘ használható D parancs helyett

rugszal1=v1''[x]==-(Mh1/(I1*E1));
rugszal2=D[v2[x],{x,2}]==-(Mh2/(I2*E2));

rugszal1

Peremfeltételek és illesztési feltételek:

pf1=v1[0]==0;
pf2=v1'[0]==0;
pf3=v1[a]==v2[a];
pf4=v1'[a]==v2'[a];

Megoldás:

f@a

megoldas=First@FullSimplify[
DSolve[{rugszal1,rugszal2,pf1,pf2,pf3,pf4},{v1,v2},x]
]

Ismert adatok megadása egyszerűsítés végett:

E2=4E1;
I2=(((1/2))^4)I1;

Lehajlásfüggvények paraméteresen:

Clear[vx1,vx2]

vx1[x_]=FullSimplify[v1[x]/.megoldas]
vx2[x_]=FullSimplify[v2[x]/.megoldas]

vx1[z]

FB reakcióerő számítása:

&&: logikai ÉS

fafbma=Solve[((v2[a+b]/.megoldas)==0)&&(FA+p0*a+F1+FB==0)&&((Mh2/.{x->(a+b)})==-M1),{FA,FB,MA}][[1]]

FA=FullSimplify[FA/.fafbma]

FB=FullSimplify[FB/.fafbma]

MA=FullSimplify[MA/.fafbma]

Lehajlásfüggvények alakja ezek után:

vx1[x_]=FullSimplify[vx1[x]/.fafbma]
vx2[x_]=FullSimplify[vx2[x]/.fafbma]

Numerikus adatok megadása:

E1=50.*(10^9);
d1=0.04;
a=0.8;
b=0.4;
p0=-5000;
F1=2500;
M1=-500;
I1=(((d1^4)π)/64.);

Globális definíció helyett, behelyettesítéshez készítünk egy listát

adatok={I1->(((d1^4)π)/64.),E1->50.*(10^9),d1->0.04,a->0.8,b->0.4,p0->-5000,F1->2500,M1->-500}

A lehajlásfüggvények numerikusan:

v1EX[x_]=vx1[x]//.adatok

v2EX[x_]=vx2[x]//.adatok

A szögelfordulás függvények numerikusan:

φ1EX[x_]=v1EX'[x]
φ2EX[x_]=v2EX'[x]

A lehajlásfüggvények ábrázolása:

plotv1EX=Plot[v1EX[x],{x,0,a/.adatok},PlotRange->All,PlotStyle->{Red,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Red]]

plotv2EX=Plot[v2EX[x],{x,a/.adatok,a+b/.adatok},PlotRange->All,PlotStyle->{Green,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Green]]

PLvEX=Show[
{plotv1EX,plotv2EX},
PlotRange->All,AxesOrigin->{0,0},AxesLabel->{"x [m]","v [m]"},GridLines->{{a,b}/.adatok,Automatic},GridLinesStyle->Directive[Gray,Dashed],ImageSize->500]

A szögelfordulás függvények ábrázolása:

plotφ1EX=Plot[φ1EX[x],{x,0,a/.adatok},PlotRange->All,PlotStyle->{Red,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Red]];
plotφ2EX=Plot[φ2EX[x],{x,a/.adatok,a+b/.adatok},PlotRange->All,PlotStyle->{Green,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Green]];
PLφEX=Show[{plotφ1EX,plotφ2EX},PlotRange->All,AxesOrigin->{0,0},AxesLabel->{"x [m]","φ [rad]"},GridLines->{{a,b}/.adatok,Automatic},GridLinesStyle->Directive[Gray,Dashed]]

FA, FB, MA értéke numerikusan:

FA=N[FA/.adatok]
FB=N[FB/.adatok]
MA=N[MA/.adatok]

Hajlítónyomatéki függvények:

Mh1EX=Expand[Mh1]/.adatok
Mh2EX=Expand[Mh2]/.adatok

Hajlítónyomatéki függvények ábrázolása:

plotMh1EX=Plot[Mh1EX,{x,0,a/.adatok},PlotRange->All,PlotStyle->{Red,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Red]];
plotMh2EX=Plot[Mh2EX,{x,a/.adatok,a+b/.adatok},PlotRange->All,PlotStyle->{Green,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Green]];
PLMhEX=Show[{plotMh1EX,plotMh2EX},PlotRange->All,AxesOrigin->{0,0},AxesLabel->{"x [m]","Mh [Nm]"},GridLines->{{a,b}/.adatok,Automatic},GridLinesStyle->Directive[Gray,Dashed]]

Nyíró igénybevételi függvények:

V1EX=-D[Mh1EX,x]
V2EX=-D[Mh2EX,x]

Nyíró igénybevételi függvények ábrázolása:

plotV1EX=Plot[V1EX,{x,0,a/.adatok},PlotRange->All,PlotStyle->{Red,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Red]];
plotV2EX=Plot[V2EX,{x,a/.adatok,a+b/.adatok},PlotRange->All,PlotStyle->{Green,Thick},Filling->0,FillingStyle->Directive[Opacity[0.2],Green]];
PLVEX=Show[{plotV1EX,plotV2EX},PlotRange->All,AxesOrigin->{0,0},AxesLabel->{"x [m]","V [N]"},GridLines->{{a,b}/.adatok,Automatic},GridLinesStyle->Directive[Gray,Dashed]]

Hajlítónyomatéki igénybevétel a K keresztmetszetben:

xK=a/2/.adatok

MhKEX=Mh1/.adatok/.{x->xK}

v1EX[xK]