Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Analysis of Mechanical System Dynamics: Solving Equations of Motion and Forces - Prof. Dan, Study notes of Mechanical Engineering

The mathematica code for analyzing the dynamics of a mechanical system with multiple links and forces. The code calculates the positions, velocities, and accelerations of the system's masses, as well as the forces acting on them. The equations of motion are solved using numerical methods, and the results are printed out for each link.

Typology: Study notes

2009/2010

Uploaded on 02/24/2010

koofers-user-c2p-1
koofers-user-c2p-1 🇺🇸

10 documents

1 / 11

Toggle sidebar

Related documents


Partial preview of the text

Download Analysis of Mechanical System Dynamics: Solving Equations of Motion and Forces - Prof. Dan and more Study notes Mechanical Engineering in PDF only on Docsity! (* Problem I.6.8 *) (* *) Apply[Clear,Names["Global`*"]]; Off[General::spell]; Off[General::spell1]; (* Input data *) AB = .11 ; AC = .055 ; BD = .22 ; DE = .3 ; EF = .175 ; La = .275 ; Lb = .065; n = 2400. ; (* rpm *) w=n*N[Pi]/30;(*rad/s*) initdata = {f[t]->N[Pi]150/180}; (* Position of joint A *) xA = yA = 0; rA={xA,yA,0}; (* Position of joint C *) xC = -AC ; yC = 0. ; rC={xC,yC,0}; (* Position of joint F *) xF = La ; yF = Lb ; rF={xF,yF,0}; (* Position of joint B *) XB = AB Cos[f[t]] ; YB = AB Sin[f[t]] ; xBs=XB/.initdata; yBs=YB/.initdata; rB={xBs,yBs,0}; ruleB={xB[t]->xBs,yB[t]->yBs}; phi2 = (ArcTan[(yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (* Position of joint D *) eqnD1 = ( xD[t]- xB[t] )^2 + ( yD[t] - yB[t] )^2 - BD^2 == 0 ; eqnD2 = ( yD[t] - yB[t] ) / ( xD[t]- xB[t] ) == ( yB[t] - yC ) / ( xB[t] - xC ); solutionD = Solve [ { eqnD1/.ruleB, eqnD2/.ruleB } , { xD[t] , yD[t] } ]; (* Two solutions for D *) xD1 = xD[t] /. solutionD[[1]]; yD1 = yD[t] /. solutionD[[1]]; xD2 = xD[t] /. solutionD[[2]]; yD2 = yD[t] /. solutionD[[2]]; If [ yD1 < 0 , xDs = xD1 ; yDs = yD1 , xDs = xD2 ; yDs=yD2 ] ; rD={xDs,yDs,0}; ruleD={xD[t]ØxDs,yD[t]ØyDs}; (* Position of joint E *) eqnE1=(xE[t]-xD[t])^2+(yE[t]-yD[t])^2-DE^2ã0; eqnE2=(xE[t]-xF)^2+(yE[t]-yF)^2-EF^2ã0; solutionE=Solve[{eqnE1/.ruleD,eqnE2/.ruleD},{xE[t],yE[t]}]; (*Two solutions for E*) xE1=xE[t]/.solutionE[[1]]; yE1=yE[t]/.solutionE[[1]]; xE2=xE[t]/.solutionE[[2]]; yE2=yE[t]/.solutionE[[2]]; (*Select the correct position for E*) If[yE1 ≤ 0,xEs=xE1;yEs=yE1,xEs=xE2;yEs=yE2]; rE={xEs,yEs,0}; ruleE={xE[t]ØxEs,yE[t]ØyEs}; phi4 = (ArcTan[(yD[t]-yE[t])/(xD[t]-xE[t])])/.ruleD/.ruleE; (*GRAPH OF THE MECHANISM*) markers=Table[{Point[{xA,yA}],Point[{xBs,yBs}],Point[{xC,yC}],Poi nt[{xDs,yDs}], Point[{xEs,yEs}],Point[{xF,yF}]}]; name=Table[{ Text["A",{0,0},{-1,1}], Text["B",{xBs,yBs},{-2,1}], Text["C",{xC,yC},{-1,-1}], Text["D",{xDs,yDs},{-1,-1}], Text["E",{xEs,yEs},{-0.5,1}], Text["F",{xF,yF},{-2,1}]}]; graph=Graphics[{{RGBColor[1,0,0],Line[{{xA,yA},{xBs,yBs}}]},{RGBC olor[0,1,0], Line[{{xBs,yBs},{xC,yC}}]},{RGBColor[0,1,0], Line[{{xC,yC},{xDs,yDs}}]},{RGBColor[0,0,1], Line[{{xDs,yDs},{xEs,yEs}}]},{RGBColor[0,1,1], Line[{{xEs,yEs},{xF,yF}}]},{RGBColor[0,0,0],PointSize[0.01], markers},{name}}]; Show[Graphics[graph],PlotRangeØ{All,All},FrameØTrue, AxesOriginØ{xA,yA},FrameLabelØ{"x","y"}, AxesØ{True,True},AspectRatioØAutomatic]; f2 = (ArcTan[ (yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (*0-Ar-1-Br-2-Ct-3-Cr-0*) w10={0,0,w}; w21v={0,0,omega21}; w03v={0,0,omega03}; vC32v={vC32 Cos[f2],vC32 Sin[f2],0}; eqIkv=(w10+w21v+w03v)[[3]]ã0; eqIijv=Cross[rB,w21v]+Cross[rC,w03v]+vC32v; eqIiv=eqIijv[[1]]ã0; eqIjv=eqIijv[[2]]ã0; solIvel=Solve[{eqIkv,eqIiv,eqIjv},{omega21,omega03,vC32}]; omega21s=omega21/.solIvel[[1]]; omega03s=omega03/.solIvel[[1]]; vC32s=vC32/.solIvel[[1]]; w21={0,0,omega21s}; w03={0,0,omega03s}; v32={vC32s Cos[f2],vC32s Sin[f2],0}; w20=w10+w21; vB=Cross[w10,rB]; vD=vB+Cross[w20,rD-rB]; (*accelerations*) a10=D[w10,t]; a21v={0,0,alpha21}; a03v={0,0,alpha03}; aC32v={aC32 Cos[f2],aC32 Sin[f2],0}; eqIka=(a10+a21v+a03v)[[3]]ã0; eqIija=Cross[rB,a21v]+Cross[rC,a03v]+ aC32v-w10.w10 rB-w20.w20 (rC- rB)+2 Cross[w20,v32]; eqIia=eqIija[[1]]ã0; eqIja=eqIija[[2]]ã0; solIacc=Solve[{eqIka,eqIia,eqIja},{alpha21,alpha03,aC32}]; alpha21s=alpha21/.solIacc[[1]]; alpha03s=alpha03/.solIacc[[1]]; aC32s=aC32/.solIacc[[1]]; a21={0,0,alpha21s}; a03={0,0,alpha03s}; a32={aC32s Cos[f2],aC32s Sin[f2],0}; a20=a10+a21; aB=Cross[a10,rB]-w10.w10 rB; aD=aB+Cross[a20,rD-rB]-w20.w20 (rD-rB); (*0-Ar-1-Br-2-Dr-4-Er-5-Fr-0*) w42v={0,0,omega42}; w54v={0,0,omega54}; w05v={0,0,omega05}; eqIIkv=(w10+w21+w42v+w54v+w05v)[[3]]ã0; eqIIijv=Cross[rB,w21]+Cross[rD,w42v]+Cross[rE,w54v]+Cross[rF,w05v ]; eqIIiv=eqIIijv[[1]]ã0; eqIIjv=eqIIijv[[2]]ã0; solIIvel=Solve[{eqIIkv,eqIIiv,eqIIjv},{omega42,omega54,omega05}]; omega42s=omega42/.solIIvel[[1]]; omega54s=omega54/.solIIvel[[1]]; omega05s=omega05/.solIIvel[[1]]; w42={0,0,omega42s}; w54={0,0,omega54s}; w05={0,0,omega05s}; w40=w20+w42; w50=-w05; vE=vD+Cross[w40,rE-rD]; (*accelerations*) a42v={0,0,alpha42}; a54v={0,0,alpha54}; a05v={0,0,alpha05}; eqIIka=(a10+a21+a42v+a54v+a05v)[[3]]ã0; eqIIija=Cross[rB,a21]+Cross[rD,a42v]+Cross[rE,a54v]+Cross[rF,a05v ]-w10.w10 rB-w20.w20 (rD-rB)-w40.w40 (rE-rD)-w50.w50 (rF-rE); eqIIia=eqIIija[[1]]ã0; eqIIja=eqIIija[[2]]ã0; solIIa=Solve[{eqIIka,eqIIia,eqIIja},{alpha42,alpha54,alpha05}]; alpha42s=alpha42/.solIIa[[1]]; alpha54s=alpha54/.solIIa[[1]]; alpha05s=alpha05/.solIIa[[1]]; a42={0,0,alpha42s}; a54={0,0,alpha54s}; a05={0,0,alpha05s}; a40=a20+a42; a50=-a05; aE=aD+Cross[a40,rE-rD]-w40.w40 (rE-rD); w5=w50; Mext=-Sign[w5]{0,0,600}; Print["Mext = ",Mext," N"]; a1={0,0,0}; a2=a3=a20; a4=a40; a5=a50; Print["rB = ",rB," m "]; Print["rC = ",rC," m "]; Print["rD = ",rD," m "]; Print["rE = ",rE," m "]; Print["rF = ",rF," m "]; Print["a1 = ",a1," rad/s^2 "]; Print["a2 = ",a2," rad/s^2 "]; Print["a3 = ",a3," rad/s^2 "]; Print["a4 = ",a4," rad/s^2 "]; Print["a5 = ",a5," rad/s^2 "]; h=0.01; d=0.001; hSlider=0.02; wSlider=0.05; r=8000.; g=9.807; (*Link 1*) m1=r AB h d; rC1=rB/2; aC1=aB/2; Print["rC1 = ",rC1," m "]; Print["aC1 = ",aC1," m/s^2 "]; Fin1=-m1 aC1; G1={0,-m1 g,0}; F1=(Fin1+G1); IC1=m1 (AB^2+h^2)/12; M1=Min1=-IC1 a1; Print["m1 = ",m1," kg"]; Print["IC1 = ",IC1," kg m^2"]; Print["Fin1 = -m1 aC1 = ",Fin1," N "]; Print["G1 = -m1 g = ",G1," N "]; Print["F1 = -m1 aC1 + G1 = ",F1," N "]; Print["M1 = Min1 = -IC1 a1 = ",{0,0,0}," N m"]; (*Link 2*) m2=r BD h d; rC2=(rB+rD)/2; aC2=(aB+aD)/2; Print["rC2 = ",rC2," m "]; Print["aC2 = ",aC2," m/s^2 "]; Fin2=-m2 aC2; G2={0,-m2 g,0}; F2=(Fin2+G2); IC2=m2 (BD^2+h^2)/12; M2=Min2=-IC2 a2; Print["m2 = ",m2," kg"]; Print["IC2 = ",IC2," kg m^2"]; Print["Fin2 = -m2 aC2 = ",Fin2," N "]; Print["G2 = -m2 g = ",G2," N "]; Print["F2 = -m2 aC2 + G2 = ",F2," N "]; Print["M2 = Min2 = -IC2 a2 = ",M2," N m"]; (*Link 3*) m3=r hSlider wSlider d; rC3=rC; aC3={0,0,0}; Print["rC3 = ",rC3," m "]; Print["aC3 = ",aC3," m/s^2 "]; Fin3=-m3 aC3; G3={0,-m3 g,0}; F3=(Fin3+G3); IC3=m3 (hSlider^2+wSlider^2)/12; M3=Min3=-IC3 a3; Print["m3 = ",m3," kg"]; Print["IC3 = ",IC3," kg m^2"]; Print["Fin3 = -m3 aC3 = ",Fin3," N "]; Print["G3 = -m3 g = ",G3," N "]; Print["F3 = -m3 aC3 + G3 = ",F3," N "]; Print["M3 = Min3 = -IC3 a3 = ",M3," N m"]; (*Link 4*) m4=r DE h d; rC4=(rD+rE)/2; aC4=(aD+aE)/2; Print["rC4 = ",rC4," m "];a a /s^2 "];Fin4=-m4 aC4;G4={0,-m4 g,0};(Fin +G4)IC4=m4 (DE^2+h^2)/12;M Min4=-I a4;= ",m4," kg"];I I kg m^2Fin = -m4 aC4 = ,Fin4," N "];G -m g = ",G4," N "];aC4 + = ",F4," N "];M Min = -IC4 a4 = " M4," N m"];(*Link 5*)m5 r EF h d;r 5 (rE+rF)/2;a a /2;5 55 55 55 E5 555 5 555 55 5 5"];Fr "]0 {F0 x,F05y 0};eqME5=(C oss[rF-rE F05]+Cross[rC -rE,F5]+M5+Mext)[[3]];D = o s[rF-rD,F0 +Cro s[rC5-rD,F5]+M5+Mext+Cross[rC4-rD,F4]+ ) [3]solF Solve {eqM ã ,eqMD54ã0},{F05x,F05y}];s /. olF0 [[ ]];0 0 s NE F F4 D 4 4 4 4)[[3]];4ã0} {F45x,F45y}];2 2 4 D 2 4 4)[ 3] ;D F 2 F Cross C5-rF,F5]+M5+ext2 F 24 2422 2t3 3F23 pe pend. on BD*)p 3.(rB D)ã0;Q xQ,yQ 0}po t i o B *)Q C oss[rB C, -rQ][[3 ] =0C Q 3 M3)[[3]B B 3 D B - 24s] Cros rC2-rB,F2]+M2)[[3]];3 F23p,eqQ eqMC ã0,eqMB2ã },{F23x,F23y,xQ,yQ}];3 3s r . lF 3[[1]];Qs," m3BC 03+F ).( r );2 C F +M + ross[rD-rB,-F24 B 2ã0,eqMB32ã0} {F03x,F03y}];B12 1 112 2 .(rB- C);B C 12 C C +M3)[[ ]];1 3 12 12112"]11 - 1 N"];m - ,- 1 s Cros [ C1,F1] M1;eq Mm N m PI_6_8_I_class.nb 1 (* Problem I.6.8 *) (* *) Apply[Clear,Names["Global`*"]]; Off[General::spell]; Off[General::spell1]; (* Input data *) AB = .11 ; AC = .055 ; BD = .22 ; DE = .3 ; EF = .175 ; La = .275 ; Lb = .065; n = 2400. ; (* rpm *) w=n*N[Pi]/30;(*rad/s*) initdata = {f[t]->N[Pi]150/180}; (* Position of joint A *) xA = yA = 0; rA={xA,yA,0}; (* Position of joint C *) xC = -AC ; yC = 0. ; rC={xC,yC,0}; (* Position of joint F *) xF = La ; yF = Lb ; rF={xF,yF,0}; (* Position of joint B *) XB = AB Cos[f[t]] ; YB = AB Sin[f[t]] ; xBs=XB/.initdata; yBs=YB/.initdata; rB={xBs,yBs,0}; ruleB={xB[t]->xBs,yB[t]->yBs}; phi2 = (ArcTan[(yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (* Position of joint D *) eqnD1 = ( xD[t]- xB[t] )^2 + ( yD[t] - yB[t] )^2 - BD^2 == 0 ; eqnD2 = ( yD[t] - yB[t] ) / ( xD[t]- xB[t] ) == ( yB[t] - yC ) / ( xB[t] - xC ); solutionD = Solve [ { eqnD1/.ruleB, eqnD2/.ruleB } , { xD[t] , yD[t] } ]; (* Two solutions for D *) xD1 = xD[t] /. solutionD[[1]]; yD1 = yD[t] /. solutionD[[1]]; xD2 = xD[t] /. solutionD[[2]]; yD2 = yD[t] /. solutionD[[2]]; If [ yD1 < 0 , xDs = xD1 ; yDs = yD1 , xDs = xD2 ; yDs=yD2 ] ; rD={xDs,yDs,0}; ruleD={xD[t]ØxDs,yD[t]ØyDs}; (* Position of joint E *) eqnE1=(xE[t]-xD[t])^2+(yE[t]-yD[t])^2-DE^2ã0; eqnE2=(xE[t]-xF)^2+(yE[t]-yF)^2-EF^2ã0; solutionE=Solve[{eqnE1/.ruleD,eqnE2/.ruleD},{xE[t],yE[t]}]; (*Two solutions for E*) xE1=xE[t]/.solutionE[[1]]; yE1=yE[t]/.solutionE[[1]]; xE2=xE[t]/.solutionE[[2]]; yE2=yE[t]/.solutionE[[2]]; (*Select the correct position for E*) If[yE1 ≤ 0,xEs=xE1;yEs=yE1,xEs=xE2;yEs=yE2]; rE={xEs,yEs,0}; ruleE={xE[t]ØxEs,yE[t]ØyEs}; phi4 = (ArcTan[(yD[t]-yE[t])/(xD[t]-xE[t])])/.ruleD/.ruleE; (*GRAPH OF THE MECHANISM*) markers=Table[{Point[{xA,yA}],Point[{xBs,yBs}],Point[{xC,yC}],Poi nt[{xDs,yDs}], Point[{xEs,yEs}],Point[{xF,yF}]}]; name=Table[{ Text["A",{0,0},{-1,1}], Text["B",{xBs,yBs},{-2,1}], Text["C",{xC,yC},{-1,-1}], Text["D",{xDs,yDs},{-1,-1}], Text["E",{xEs,yEs},{-0.5,1}], Text["F",{xF,yF},{-2,1}]}]; graph=Graphics[{{RGBColor[1,0,0],Line[{{xA,yA},{xBs,yBs}}]},{RGBC olor[0,1,0], Line[{{xBs,yBs},{xC,yC}}]},{RGBColor[0,1,0], Line[{{xC,yC},{xDs,yDs}}]},{RGBColor[0,0,1], Line[{{xDs,yDs},{xEs,yEs}}]},{RGBColor[0,1,1], Line[{{xEs,yEs},{xF,yF}}]},{RGBColor[0,0,0],PointSize[0.01], markers},{name}}]; Show[Graphics[graph],PlotRangeØ{All,All},FrameØTrue, AxesOriginØ{xA,yA},FrameLabelØ{"x","y"}, AxesØ{True,True},AspectRatioØAutomatic]; f2 = (ArcTan[ (yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (*0-Ar-1-Br-2-Ct-3-Cr-0*) w10={0,0,w}; w21v={0,0,omega21}; w03v={0,0,omega03}; vC32v={vC32 Cos[f2],vC32 Sin[f2],0}; eqIkv=(w10+w21v+w03v)[[3]]ã0; eqIijv=Cross[rB,w21v]+Cross[rC,w03v]+vC32v; eqIiv=eqIijv[[1]]ã0; eqIjv=eqIijv[[2]]ã0; solIvel=Solve[{eqIkv,eqIiv,eqIjv},{omega21,omega03,vC32}]; omega21s=omega21/.solIvel[[1]]; omega03s=omega03/.solIvel[[1]]; vC32s=vC32/.solIvel[[1]]; w21={0,0,omega21s}; w03={0,0,omega03s}; v32={vC32s Cos[f2],vC32s Sin[f2],0}; w20=w10+w21; vB=Cross[w10,rB]; vD=vB+Cross[w20,rD-rB]; (*accelerations*) a10=D[w10,t]; a21v={0,0,alpha21}; a03v={0,0,alpha03}; aC32v={aC32 Cos[f2],aC32 Sin[f2],0}; eqIka=(a10+a21v+a03v)[[3]]ã0; eqIija=Cross[rB,a21v]+Cross[rC,a03v]+ aC32v-w10.w10 rB-w20.w20 (rC- rB)+2 Cross[w20,v32]; eqIia=eqIija[[1]]ã0; eqIja=eqIija[[2]]ã0; solIacc=Solve[{eqIka,eqIia,eqIja},{alpha21,alpha03,aC32}]; alpha21s=alpha21/.solIacc[[1]]; alpha03s=alpha03/.solIacc[[1]]; aC32s=aC32/.solIacc[[1]]; a21={0,0,alpha21s}; a03={0,0,alpha03s}; a32={aC32s Cos[f2],aC32s Sin[f2],0}; a20=a10+a21; aB=Cross[a10,rB]-w10.w10 rB; aD=aB+Cross[a20,rD-rB]-w20.w20 (rD-rB); (*0-Ar-1-Br-2-Dr-4-Er-5-Fr-0*) w42v={0,0,omega42}; w54v={0,0,omega54}; w05v={0,0,omega05}; eqIIkv=(w10+w21+w42v+w54v+w05v)[[3]]ã0; eqIIijv=Cross[rB,w21]+Cross[rD,w42v]+Cross[rE,w54v]+Cross[rF,w05v ]; eqIIiv=eqIIijv[[1]]ã0; eqIIjv=eqIIijv[[2]]ã0; solIIvel=Solve[{eqIIkv,eqIIiv,eqIIjv},{omega42,omega54,omega05}]; omega42s=omega42/.solIIvel[[1]]; omega54s=omega54/.solIIvel[[1]]; omega05s=omega05/.solIIvel[[1]]; w42={0,0,omega42s}; w54={0,0,omega54s}; w05={0,0,omega05s}; w40=w20+w42; w50=-w05; vE=vD+Cross[w40,rE-rD]; (*accelerations*) a42v={0,0,alpha42}; a54v={0,0,alpha54}; a05v={0,0,alpha05}; eqIIka=(a10+a21+a42v+a54v+a05v)[[3]]ã0; eqIIija=Cross[rB,a21]+Cross[rD,a42v]+Cross[rE,a54v]+Cross[rF,a05v ]-w10.w10 rB-w20.w20 (rD-rB)-w40.w40 (rE-rD)-w50.w50 (rF-rE); eqIIia=eqIIija[[1]]ã0; eqIIja=eqIIija[[2]]ã0; solIIa=Solve[{eqIIka,eqIIia,eqIIja},{alpha42,alpha54,alpha05}]; alpha42s=alpha42/.solIIa[[1]]; alpha54s=alpha54/.solIIa[[1]]; alpha05s=alpha05/.solIIa[[1]]; a42={0,0,alpha42s}; a54={0,0,alpha54s}; a05={0,0,alpha05s}; a40=a20+a42; a50=-a05; aE=aD+Cross[a40,rE-rD]-w40.w40 (rE-rD); w5=w50; Mext=-Sign[w5]{0,0,600}; Print["Mext = ",Mext," N"]; a1={0,0,0}; a2=a3=a20; a4=a40; a5=a50; Print["rB = ",rB," m "]; Print["rC = ",rC," m "]; Print["rD = ",rD," m "]; Print["rE = ",rE," m "]; Print["rF = ",rF," m "]; Print["a1 = ",a1," rad/s^2 "]; Print["a2 = ",a2," rad/s^2 "]; Print["a3 = ",a3," rad/s^2 "]; Print["a4 = ",a4," rad/s^2 "]; Print["a5 = ",a5," rad/s^2 "]; h=0.01; d=0.001; hSlider=0.02; wSlider=0.05; r=8000.; g=9.807; (*Link 1*) m1=r AB h d; rC1=rB/2; aC1=aB/2; Print["rC1 = ",rC1," m "]; Print["aC1 = ",aC1," m/s^2 "]; Fin1=-m1 aC1; G1={0,-m1 g,0}; F1=(Fin1+G1); IC1=m1 (AB^2+h^2)/12; M1=Min1=-IC1 a1; Print["m1 = ",m1," kg"]; Print["IC1 = ",IC1," kg m^2"]; Print["Fin1 = -m1 aC1 = ",Fin1," N "]; Print["G1 = -m1 g = ",G1," N "]; Print["F1 = -m1 aC1 + G1 = ",F1," N "]; Print["M1 = Min1 = -IC1 a1 = ",{0,0,0}," N m"]; (*Link 2*) m2=r BD h d; rC2=(rB+rD)/2; aC2=(aB+aD)/2; Print["rC2 = ",rC2," m "]; Print["aC2 = ",aC2," m/s^2 "]; Fin2=-m2 aC2; G2={0,-m2 g,0}; F2=(Fin2+G2); IC2=m2 (BD^2+h^2)/12; M2=Min2=-IC2 a2; Print["m2 = ",m2," kg"]; Print["IC2 = ",IC2," kg m^2"]; Print["Fin2 = -m2 aC2 = ",Fin2," N "]; Print["G2 = -m2 g = ",G2," N "]; Print["F2 = -m2 aC2 + G2 = ",F2," N "]; Print["M2 = Min2 = -IC2 a2 = ",M2," N m"]; (*Link 3*) m3=r hSlider wSlider d; rC3=rC; aC3={0,0,0}; Print["rC3 = ",rC3," m "]; Print["aC3 = ",aC3," m/s^2 "]; Fin3=-m3 aC3; G3={0,-m3 g,0}; F3=(Fin3+G3); IC3=m3 (hSlider^2+wSlider^2)/12; M3=Min3=-IC3 a3; Print["m3 = ",m3," kg"]; Print["IC3 = ",IC3," kg m^2"]; Print["Fin3 = -m3 aC3 = ",Fin3," N "]; Print["G3 = -m3 g = ",G3," N "]; Print["F3 = -m3 aC3 + G3 = ",F3," N "]; Print["M3 = Min3 = -IC3 a3 = ",M3," N m"]; (*Link 4*) m4=r DE h d; rC4=(rD+rE)/2; aC4=(aD+aE)/2; Print["rC4 = ",rC4," m "]; Print["aC4 = ",aC4," m/s^2 "]; Fin4=-m4 aC4; G4={0,-m4 g,0}; F4=(Fin4+G4); IC4=m4 (DE^2+h^2)/12; M4=Min4=-IC4 a4; Print["m4 = ",m4," kg"]; Print["IC4 = ",IC4," kg m^2"]; Print["Fin4 = -m4 aC4 = ",Fin4," N "]; Print["G4 = -m4 g = ",G4," N "]; Print["F4 = -m4 aC4 + G4 = ",F4," N "]; Print["M4 = Min4 = -IC4 a4 = ",M4," N m"]; (*Link 5*) m5=r EF h d; rC5=(rE+rF)/2; aC5=aE/2; Print["rC5 = ",rC5," m "]; Print["aC5 = ",aC5," m/s^2 "]; Fin5=-m5 aC5; G5={0,-m5 g,0}; F5=(Fin5+G5); IC5=m5 (EF^2+h^2)/12; M5=Min5=-IC5 a5; Print["m5 = ",m5," kg"]; Print["IC5 = ",IC5," kg m^2"]; Print["Fin5 = -m5 aC5 = ",Fin5," N "]; Print["G5 = -m5 g = ",G5," N "]; Print["F5 = -m5 aC5 + G5 = ",F5," N "]; Print["M5 = Min5 = -IC5 a5 = ",M5," N m"]; Print[" "]; Print[" Fr "]; F05={F05x,F05y,0}; eqME5=(Cross[rF-rE,F05]+Cross[rC5-rE,F5]+M5+Mext)[[3]]; eqMD54=(Cross[rF-rD,F05]+Cross[rC5-rD,F5]+M5+Mext+Cross[rC4-rD,F4 ]+M4)[[3]]; solF05=Solve[{eqME5ã0,eqMD54ã0},{F05x,F05y}]; F05s=F05/.solF05[[1]]; Print["F05 = ",F05s," N"]; Print[" "]; Print[" Er "]; F45={F45x,F45y,0}; eqMF5=(Cross[rE-rF,F45]+Cross[rC5-rF,F5]+M5+Mext)[[3]]; eqMD4=(Cross[rE-rD,-F45]+Cross[rC4-rD,F4]+M4)[[3]]; solF45=Solve[{eqMF5ã0,eqMD4ã0},{F45x,F45y}]; F45s=F45/.solF45[[1]]; Print["F45 = ",F45s," N"];Print[" "];Dr "];F24={F24x,F24y,0};eqME4=(Cross[rD-rE,F24]+Cross[rC4-rE,F4]+M4)[[3]];F54=(C o s[rD-rF,F24]+Cro s[rC4-rF,F4]+M4+Cross[rC5-rF,F5]+M5+Mext) [3]sol 2 Solve {eqM 4ã0,eqMF54ã0},{F24x,F24y}];s= /. olF24[[1]];F24 = " F24s " N"];t3 3(*F23 pe pend. on BD*)p 3.(rB-rD)ã0;rQ={xQ,yQ 0};point i on BD*)Q Cross[rB- C, C-rQ][[3 ]==0;C Q 3 M3)[[3]];B B - 3 D B - 24s]+Cros [rC2-rB,F2]+M2)[[3]];3 F23p,eqQ,eqMC ã0,eqMB2ã0},{F23x,F23y,xQ,yQ}];3 3s r /. lF23[[1]];r = ", Qs," m" ;0 0 03BC F03+F ).( rC);2 C 0 F +M + ross[rD-rB,-F24 +C oss[rC -rB,F2]+ 0 Cã0,eqMB32ã0},{F03x,F03y}];00 0B12 12 112 2 .(rB- C);B C 12 C C +M3)[[ ]];1 23 12 121212 "]Link 1*)1 - + 1 " N"];m - ,-F1 s Cross[ C1,F1] M1;Meq Mm N m PI_6_8_I_class.nb 2 (* Problem I.6.8 *) (* *) Apply[Clear,Names["Global`*"]]; Off[General::spell]; Off[General::spell1]; (* Input data *) AB = .11 ; AC = .055 ; BD = .22 ; DE = .3 ; EF = .175 ; La = .275 ; Lb = .065; n = 2400. ; (* rpm *) w=n*N[Pi]/30;(*rad/s*) initdata = {f[t]->N[Pi]150/180}; (* Position of joint A *) xA = yA = 0; rA={xA,yA,0}; (* Position of joint C *) xC = -AC ; yC = 0. ; rC={xC,yC,0}; (* Position of joint F *) xF = La ; yF = Lb ; rF={xF,yF,0}; (* Position of joint B *) XB = AB Cos[f[t]] ; YB = AB Sin[f[t]] ; xBs=XB/.initdata; yBs=YB/.initdata; rB={xBs,yBs,0}; ruleB={xB[t]->xBs,yB[t]->yBs}; phi2 = (ArcTan[(yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (* Position of joint D *) eqnD1 = ( xD[t]- xB[t] )^2 + ( yD[t] - yB[t] )^2 - BD^2 == 0 ; eqnD2 = ( yD[t] - yB[t] ) / ( xD[t]- xB[t] ) == ( yB[t] - yC ) / ( xB[t] - xC ); solutionD = Solve [ { eqnD1/.ruleB, eqnD2/.ruleB } , { xD[t] , yD[t] } ]; (* Two solutions for D *) xD1 = xD[t] /. solutionD[[1]]; yD1 = yD[t] /. solutionD[[1]]; xD2 = xD[t] /. solutionD[[2]]; yD2 = yD[t] /. solutionD[[2]]; If [ yD1 < 0 , xDs = xD1 ; yDs = yD1 , xDs = xD2 ; yDs=yD2 ] ; rD={xDs,yDs,0}; ruleD={xD[t]ØxDs,yD[t]ØyDs}; (* Position of joint E *) eqnE1=(xE[t]-xD[t])^2+(yE[t]-yD[t])^2-DE^2ã0; eqnE2=(xE[t]-xF)^2+(yE[t]-yF)^2-EF^2ã0; solutionE=Solve[{eqnE1/.ruleD,eqnE2/.ruleD},{xE[t],yE[t]}]; (*Two solutions for E*) xE1=xE[t]/.solutionE[[1]]; yE1=yE[t]/.solutionE[[1]]; xE2=xE[t]/.solutionE[[2]]; yE2=yE[t]/.solutionE[[2]]; (*Select the correct position for E*) If[yE1 ≤ 0,xEs=xE1;yEs=yE1,xEs=xE2;yEs=yE2]; rE={xEs,yEs,0}; ruleE={xE[t]ØxEs,yE[t]ØyEs}; phi4 = (ArcTan[(yD[t]-yE[t])/(xD[t]-xE[t])])/.ruleD/.ruleE; (*GRAPH OF THE MECHANISM*) markers=Table[{Point[{xA,yA}],Point[{xBs,yBs}],Point[{xC,yC}],Poi nt[{xDs,yDs}], Point[{xEs,yEs}],Point[{xF,yF}]}]; name=Table[{ Text["A",{0,0},{-1,1}], Text["B",{xBs,yBs},{-2,1}], Text["C",{xC,yC},{-1,-1}], Text["D",{xDs,yDs},{-1,-1}], Text["E",{xEs,yEs},{-0.5,1}], Text["F",{xF,yF},{-2,1}]}]; graph=Graphics[{{RGBColor[1,0,0],Line[{{xA,yA},{xBs,yBs}}]},{RGBC olor[0,1,0], Line[{{xBs,yBs},{xC,yC}}]},{RGBColor[0,1,0], Line[{{xC,yC},{xDs,yDs}}]},{RGBColor[0,0,1], Line[{{xDs,yDs},{xEs,yEs}}]},{RGBColor[0,1,1], Line[{{xEs,yEs},{xF,yF}}]},{RGBColor[0,0,0],PointSize[0.01], markers},{name}}]; Show[Graphics[graph],PlotRangeØ{All,All},FrameØTrue, AxesOriginØ{xA,yA},FrameLabelØ{"x","y"}, AxesØ{True,True},AspectRatioØAutomatic]; f2 = (ArcTan[ (yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (*0-Ar-1-Br-2-Ct-3-Cr-0*) w10={0,0,w}; w21v={0,0,omega21}; w03v={0,0,omega03}; vC32v={vC32 Cos[f2],vC32 Sin[f2],0}; eqIkv=(w10+w21v+w03v)[[3]]ã0; eqIijv=Cross[rB,w21v]+Cross[rC,w03v]+vC32v; eqIiv=eqIijv[[1]]ã0; eqIjv=eqIijv[[2]]ã0; solIvel=Solve[{eqIkv,eqIiv,eqIjv},{omega21,omega03,vC32}]; omega21s=omega21/.solIvel[[1]]; omega03s=omega03/.solIvel[[1]]; vC32s=vC32/.solIvel[[1]]; w21={0,0,omega21s}; w03={0,0,omega03s}; v32={vC32s Cos[f2],vC32s Sin[f2],0}; w20=w10+w21; vB=Cross[w10,rB]; vD=vB+Cross[w20,rD-rB]; (*accelerations*) a10=D[w10,t]; a21v={0,0,alpha21}; a03v={0,0,alpha03}; aC32v={aC32 Cos[f2],aC32 Sin[f2],0}; eqIka=(a10+a21v+a03v)[[3]]ã0; eqIija=Cross[rB,a21v]+Cross[rC,a03v]+ aC32v-w10.w10 rB-w20.w20 (rC- rB)+2 Cross[w20,v32]; eqIia=eqIija[[1]]ã0; eqIja=eqIija[[2]]ã0; solIacc=Solve[{eqIka,eqIia,eqIja},{alpha21,alpha03,aC32}]; alpha21s=alpha21/.solIacc[[1]]; alpha03s=alpha03/.solIacc[[1]]; aC32s=aC32/.solIacc[[1]]; a21={0,0,alpha21s}; a03={0,0,alpha03s}; a32={aC32s Cos[f2],aC32s Sin[f2],0}; a20=a10+a21; aB=Cross[a10,rB]-w10.w10 rB; aD=aB+Cross[a20,rD-rB]-w20.w20 (rD-rB); (*0-Ar-1-Br-2-Dr-4-Er-5-Fr-0*) w42v={0,0,omega42}; w54v={0,0,omega54}; w05v={0,0,omega05}; eqIIkv=(w10+w21+w42v+w54v+w05v)[[3]]ã0; eqIIijv=Cross[rB,w21]+Cross[rD,w42v]+Cross[rE,w54v]+Cross[rF,w05v ]; eqIIiv=eqIIijv[[1]]ã0; eqIIjv=eqIIijv[[2]]ã0; solIIvel=Solve[{eqIIkv,eqIIiv,eqIIjv},{omega42,omega54,omega05}]; omega42s=omega42/.solIIvel[[1]]; omega54s=omega54/.solIIvel[[1]]; omega05s=omega05/.solIIvel[[1]]; w42={0,0,omega42s}; w54={0,0,omega54s}; w05={0,0,omega05s}; w40=w20+w42; w50=-w05; vE=vD+Cross[w40,rE-rD]; (*accelerations*) a42v={0,0,alpha42}; a54v={0,0,alpha54}; a05v={0,0,alpha05}; eqIIka=(a10+a21+a42v+a54v+a05v)[[3]]ã0; eqIIija=Cross[rB,a21]+Cross[rD,a42v]+Cross[rE,a54v]+Cross[rF,a05v ]-w10.w10 rB-w20.w20 (rD-rB)-w40.w40 (rE-rD)-w50.w50 (rF-rE); eqIIia=eqIIija[[1]]ã0; eqIIja=eqIIija[[2]]ã0; solIIa=Solve[{eqIIka,eqIIia,eqIIja},{alpha42,alpha54,alpha05}]; alpha42s=alpha42/.solIIa[[1]]; alpha54s=alpha54/.solIIa[[1]]; alpha05s=alpha05/.solIIa[[1]]; a42={0,0,alpha42s}; a54={0,0,alpha54s}; a05={0,0,alpha05s}; a40=a20+a42; a50=-a05; aE=aD+Cross[a40,rE-rD]-w40.w40 (rE-rD); w5=w50; Mext=-Sign[w5]{0,0,600}; Print["Mext = ",Mext," N"]; a1={0,0,0}; a2=a3=a20; a4=a40; a5=a50; Print["rB = ",rB," m "]; Print["rC = ",rC," m "]; Print["rD = ",rD," m "]; Print["rE = ",rE," m "]; Print["rF = ",rF," m "]; Print["a1 = ",a1," rad/s^2 "]; Print["a2 = ",a2," rad/s^2 "]; Print["a3 = ",a3," rad/s^2 "]; Print["a4 = ",a4," rad/s^2 "]; Print["a5 = ",a5," rad/s^2 "]; h=0.01; d=0.001; hSlider=0.02; wSlider=0.05; r=8000.; g=9.807; (*Link 1*) m1=r AB h d; rC1=rB/2; aC1=aB/2; Print["rC1 = ",rC1," m "]; Print["aC1 = ",aC1," m/s^2 "]; Fin1=-m1 aC1; G1={0,-m1 g,0}; F1=(Fin1+G1); IC1=m1 (AB^2+h^2)/12; M1=Min1=-IC1 a1; Print["m1 = ",m1," kg"]; Print["IC1 = ",IC1," kg m^2"]; Print["Fin1 = -m1 aC1 = ",Fin1," N "]; Print["G1 = -m1 g = ",G1," N "]; Print["F1 = -m1 aC1 + G1 = ",F1," N "]; Print["M1 = Min1 = -IC1 a1 = ",{0,0,0}," N m"]; (*Link 2*) m2=r BD h d; rC2=(rB+rD)/2; aC2=(aB+aD)/2; Print["rC2 = ",rC2," m "]; Print["aC2 = ",aC2," m/s^2 "]; Fin2=-m2 aC2; G2={0,-m2 g,0}; F2=(Fin2+G2); IC2=m2 (BD^2+h^2)/12; M2=Min2=-IC2 a2; Print["m2 = ",m2," kg"]; Print["IC2 = ",IC2," kg m^2"]; Print["Fin2 = -m2 aC2 = ",Fin2," N "]; Print["G2 = -m2 g = ",G2," N "]; Print["F2 = -m2 aC2 + G2 = ",F2," N "]; Print["M2 = Min2 = -IC2 a2 = ",M2," N m"]; (*Link 3*) m3=r hSlider wSlider d; rC3=rC; aC3={0,0,0}; Print["rC3 = ",rC3," m "]; Print["aC3 = ",aC3," m/s^2 "]; Fin3=-m3 aC3; G3={0,-m3 g,0}; F3=(Fin3+G3); IC3=m3 (hSlider^2+wSlider^2)/12; M3=Min3=-IC3 a3; Print["m3 = ",m3," kg"]; Print["IC3 = ",IC3," kg m^2"]; Print["Fin3 = -m3 aC3 = ",Fin3," N "]; Print["G3 = -m3 g = ",G3," N "]; Print["F3 = -m3 aC3 + G3 = ",F3," N "]; Print["M3 = Min3 = -IC3 a3 = ",M3," N m"]; (*Link 4*) m4=r DE h d; rC4=(rD+rE)/2; aC4=(aD+aE)/2; Print["rC4 = ",rC4," m "]; Print["aC4 = ",aC4," m/s^2 "]; Fin4=-m4 aC4; G4={0,-m4 g,0}; F4=(Fin4+G4); IC4=m4 (DE^2+h^2)/12; M4=Min4=-IC4 a4; Print["m4 = ",m4," kg"]; Print["IC4 = ",IC4," kg m^2"]; Print["Fin4 = -m4 aC4 = ",Fin4," N "]; Print["G4 = -m4 g = ",G4," N "]; Print["F4 = -m4 aC4 + G4 = ",F4," N "]; Print["M4 = Min4 = -IC4 a4 = ",M4," N m"]; (*Link 5*) m5=r EF h d; rC5=(rE+rF)/2; aC5=aE/2; Print["rC5 = ",rC5," m "]; Print["aC5 = ",aC5," m/s^2 "]; Fin5=-m5 aC5; G5={0,-m5 g,0}; F5=(Fin5+G5); IC5=m5 (EF^2+h^2)/12; M5=Min5=-IC5 a5; Print["m5 = ",m5," kg"]; Print["IC5 = ",IC5," kg m^2"]; Print["Fin5 = -m5 aC5 = ",Fin5," N "]; Print["G5 = -m5 g = ",G5," N "]; Print["F5 = -m5 aC5 + G5 = ",F5," N "]; Print["M5 = Min5 = -IC5 a5 = ",M5," N m"]; Print[" "]; Print[" Fr "]; F05={F05x,F05y,0}; eqME5=(Cross[rF-rE,F05]+Cross[rC5-rE,F5]+M5+Mext)[[3]]; eqMD54=(Cross[rF-rD,F05]+Cross[rC5-rD,F5]+M5+Mext+Cross[rC4-rD,F4 ]+M4)[[3]]; solF05=Solve[{eqME5ã0,eqMD54ã0},{F05x,F05y}]; F05s=F05/.solF05[[1]]; Print["F05 = ",F05s," N"]; Print[" "]; Print[" Er "]; F45={F45x,F45y,0}; eqMF5=(Cross[rE-rF,F45]+Cross[rC5-rF,F5]+M5+Mext)[[3]]; eqMD4=(Cross[rE-rD,-F45]+Cross[rC4-rD,F4]+M4)[[3]]; solF45=Solve[{eqMF5ã0,eqMD4ã0},{F45x,F45y}]; F45s=F45/.solF45[[1]]; Print["F45 = ",F45s," N"]; Print[" "]; Print[" Dr "]; F24={F24x,F24y,0}; eqME4=(Cross[rD-rE,F24]+Cross[rC4-rE,F4]+M4)[[3]]; eqMF54=(Cross[rD-rF,F24]+Cross[rC4-rF,F4]+M4+Cross[rC5-rF,F5]+M5+ Mext)[[3]]; solF24=Solve[{eqME4ã0,eqMF54ã0},{F24x,F24y}]; F24s=F24/.solF24[[1]]; Print["F24 = ",F24s," N"]; Print[" "]; Print[" Ct "]; F23={F23x,F23y,0}; (*F23 perpend. on BD*) eqF23p=F23.(rB-rD)ã0; rQ={xQ,yQ,0}; (*point Q is on BD*) eqQ=Cross[rB-rC,rC-rQ][[3]]==0; eqMC3=(Cross[rQ-rC,F23]+M3)[[3]]; eqMB2=(Cross[rQ-rB,-F23]+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2]+M2)[ [3]]; solF23=Solve[{eqF23p,eqQ,eqMC3ã0,eqMB2ã0},{F23x,F23y,xQ,yQ}]; F23s=F23/.solF23[[1]]; Print["F23 = ",F23s," N"]; rQs=rQ/.solF23[[1]]; Print["rQ = ",rQs," m"]; Print[" "]; Print[" Cr "]; F03={F03x,F03y,0}; eqF3BC=(F03+F3).(rB-rC); eqMB32=(Cross[rC-rB,F03+F3]+M3+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2 ]+M2)[[3]]; solF03=Solve[{eqF3BCã0,eqMB32ã0},{F03x,F03y}]; F03s=F03/.solF03[[1]]; Print["F03 = ",F03s," N"]; Print[" "]; Print[" Br "]; F12={F12x,F12y,0}; eqF2BC=(F12+F2-F24s).(rB-rC); eqMC23=(Cross[rB-rC,F12]+Cross[rD-rC,-F24s]+Cross[rC2-rC,F2]+M2+M 3)[[3]]; solF12=Solve[{eqF2BCã0,eqMC23ã0},{F12x,F12y}]; F12s=F12/.solF12[[1]]; Print["F12 = ",F12s," N"]; Print[" "] (*Link 1*) F01=-F1+F12s; Print["F01 = ",F01," N"]; Mm=-Cross[rB,-F12s]-Cross[rC1,F1]-M1; Print["Meq = ",Mm," N m"] PI_6_8_I_class.nb 5 (* Problem I.6.8 *) (* *) Apply[Clear,Names["Global`*"]]; Off[General::spell]; Off[General::spell1]; (* Input data *) AB = .11 ; AC = .055 ; BD = .22 ; DE = .3 ; EF = .175 ; La = .275 ; Lb = .065; n = 2400. ; (* rpm *) w=n*N[Pi]/30;(*rad/s*) initdata = {f[t]->N[Pi]150/180}; (* Position of joint A *) xA = yA = 0; rA={xA,yA,0}; (* Position of joint C *) xC = -AC ; yC = 0. ; rC={xC,yC,0}; (* Position of joint F *) xF = La ; yF = Lb ; rF={xF,yF,0}; (* Position of joint B *) XB = AB Cos[f[t]] ; YB = AB Sin[f[t]] ; xBs=XB/.initdata; yBs=YB/.initdata; rB={xBs,yBs,0}; ruleB={xB[t]->xBs,yB[t]->yBs}; phi2 = (ArcTan[(yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (* Position of joint D *) eqnD1 = ( xD[t]- xB[t] )^2 + ( yD[t] - yB[t] )^2 - BD^2 == 0 ; eqnD2 = ( yD[t] - yB[t] ) / ( xD[t]- xB[t] ) == ( yB[t] - yC ) / ( xB[t] - xC ); solutionD = Solve [ { eqnD1/.ruleB, eqnD2/.ruleB } , { xD[t] , yD[t] } ]; (* Two solutions for D *) xD1 = xD[t] /. solutionD[[1]]; yD1 = yD[t] /. solutionD[[1]]; xD2 = xD[t] /. solutionD[[2]]; yD2 = yD[t] /. solutionD[[2]]; If [ yD1 < 0 , xDs = xD1 ; yDs = yD1 , xDs = xD2 ; yDs=yD2 ] ; rD={xDs,yDs,0}; ruleD={xD[t]ØxDs,yD[t]ØyDs}; (* Position of joint E *) eqnE1=(xE[t]-xD[t])^2+(yE[t]-yD[t])^2-DE^2ã0; eqnE2=(xE[t]-xF)^2+(yE[t]-yF)^2-EF^2ã0; solutionE=Solve[{eqnE1/.ruleD,eqnE2/.ruleD},{xE[t],yE[t]}]; (*Two solutions for E*) xE1=xE[t]/.solutionE[[1]]; yE1=yE[t]/.solutionE[[1]]; xE2=xE[t]/.solutionE[[2]]; yE2=yE[t]/.solutionE[[2]]; (*Select the correct position for E*) If[yE1 ≤ 0,xEs=xE1;yEs=yE1,xEs=xE2;yEs=yE2]; rE={xEs,yEs,0}; ruleE={xE[t]ØxEs,yE[t]ØyEs}; phi4 = (ArcTan[(yD[t]-yE[t])/(xD[t]-xE[t])])/.ruleD/.ruleE; (*GRAPH OF THE MECHANISM*) markers=Table[{Point[{xA,yA}],Point[{xBs,yBs}],Point[{xC,yC}],Poi nt[{xDs,yDs}], Point[{xEs,yEs}],Point[{xF,yF}]}]; name=Table[{ Text["A",{0,0},{-1,1}], Text["B",{xBs,yBs},{-2,1}], Text["C",{xC,yC},{-1,-1}], Text["D",{xDs,yDs},{-1,-1}], Text["E",{xEs,yEs},{-0.5,1}], Text["F",{xF,yF},{-2,1}]}]; graph=Graphics[{{RGBColor[1,0,0],Line[{{xA,yA},{xBs,yBs}}]},{RGBC olor[0,1,0], Line[{{xBs,yBs},{xC,yC}}]},{RGBColor[0,1,0], Line[{{xC,yC},{xDs,yDs}}]},{RGBColor[0,0,1], Line[{{xDs,yDs},{xEs,yEs}}]},{RGBColor[0,1,1], Line[{{xEs,yEs},{xF,yF}}]},{RGBColor[0,0,0],PointSize[0.01], markers},{name}}]; Show[Graphics[graph],PlotRangeØ{All,All},FrameØTrue, AxesOriginØ{xA,yA},FrameLabelØ{"x","y"}, AxesØ{True,True},AspectRatioØAutomatic]; f2 = (ArcTan[ (yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (*0-Ar-1-Br-2-Ct-3-Cr-0*) w10={0,0,w}; w21v={0,0,omega21}; w03v={0,0,omega03}; vC32v={vC32 Cos[f2],vC32 Sin[f2],0}; eqIkv=(w10+w21v+w03v)[[3]]ã0; eqIijv=Cross[rB,w21v]+Cross[rC,w03v]+vC32v; eqIiv=eqIijv[[1]]ã0; eqIjv=eqIijv[[2]]ã0; solIvel=Solve[{eqIkv,eqIiv,eqIjv},{omega21,omega03,vC32}]; omega21s=omega21/.solIvel[[1]]; omega03s=omega03/.solIvel[[1]]; vC32s=vC32/.solIvel[[1]]; w21={0,0,omega21s}; w03={0,0,omega03s}; v32={vC32s Cos[f2],vC32s Sin[f2],0}; w20=w10+w21; vB=Cross[w10,rB]; vD=vB+Cross[w20,rD-rB]; (*accelerations*) a10=D[w10,t]; a21v={0,0,alpha21}; a03v={0,0,alpha03}; aC32v={aC32 Cos[f2],aC32 Sin[f2],0}; eqIka=(a10+a21v+a03v)[[3]]ã0; eqIija=Cross[rB,a21v]+Cross[rC,a03v]+ aC32v-w10.w10 rB-w20.w20 (rC- rB)+2 Cross[w20,v32]; eqIia=eqIija[[1]]ã0; eqIja=eqIija[[2]]ã0; solIacc=Solve[{eqIka,eqIia,eqIja},{alpha21,alpha03,aC32}]; alpha21s=alpha21/.solIacc[[1]]; alpha03s=alpha03/.solIacc[[1]]; aC32s=aC32/.solIacc[[1]]; a21={0,0,alpha21s}; a03={0,0,alpha03s}; a32={aC32s Cos[f2],aC32s Sin[f2],0}; a20=a10+a21; aB=Cross[a10,rB]-w10.w10 rB; aD=aB+Cross[a20,rD-rB]-w20.w20 (rD-rB); (*0-Ar-1-Br-2-Dr-4-Er-5-Fr-0*) w42v={0,0,omega42}; w54v={0,0,omega54}; w05v={0,0,omega05}; eqIIkv=(w10+w21+w42v+w54v+w05v)[[3]]ã0; eqIIijv=Cross[rB,w21]+Cross[rD,w42v]+Cross[rE,w54v]+Cross[rF,w05v ]; eqIIiv=eqIIijv[[1]]ã0; eqIIjv=eqIIijv[[2]]ã0; solIIvel=Solve[{eqIIkv,eqIIiv,eqIIjv},{omega42,omega54,omega05}]; omega42s=omega42/.solIIvel[[1]]; omega54s=omega54/.solIIvel[[1]]; omega05s=omega05/.solIIvel[[1]]; w42={0,0,omega42s}; w54={0,0,omega54s}; w05={0,0,omega05s}; w40=w20+w42; w50=-w05; vE=vD+Cross[w40,rE-rD]; (*accelerations*) a42v={0,0,alpha42}; a54v={0,0,alpha54}; a05v={0,0,alpha05}; eqIIka=(a10+a21+a42v+a54v+a05v)[[3]]ã0; eqIIija=Cross[rB,a21]+Cross[rD,a42v]+Cross[rE,a54v]+Cross[rF,a05v ]-w10.w10 rB-w20.w20 (rD-rB)-w40.w40 (rE-rD)-w50.w50 (rF-rE); eqIIia=eqIIija[[1]]ã0; eqIIja=eqIIija[[2]]ã0; solIIa=Solve[{eqIIka,eqIIia,eqIIja},{alpha42,alpha54,alpha05}]; alpha42s=alpha42/.solIIa[[1]]; alpha54s=alpha54/.solIIa[[1]]; alpha05s=alpha05/.solIIa[[1]]; a42={0,0,alpha42s}; a54={0,0,alpha54s}; a05={0,0,alpha05s}; a40=a20+a42; a50=-a05; aE=aD+Cross[a40,rE-rD]-w40.w40 (rE-rD); w5=w50; Mext=-Sign[w5]{0,0,600}; Print["Mext = ",Mext," N"]; a1={0,0,0}; a2=a3=a20; a4=a40; a5=a50; Print["rB = ",rB," m "]; Print["rC = ",rC," m "]; Print["rD = ",rD," m "]; Print["rE = ",rE," m "]; Print["rF = ",rF," m "]; Print["a1 = ",a1," rad/s^2 "]; Print["a2 = ",a2," rad/s^2 "]; Print["a3 = ",a3," rad/s^2 "]; Print["a4 = ",a4," rad/s^2 "]; Print["a5 = ",a5," rad/s^2 "]; h=0.01; d=0.001; hSlider=0.02; wSlider=0.05; r=8000.; g=9.807; (*Link 1*) m1=r AB h d; rC1=rB/2; aC1=aB/2; Print["rC1 = ",rC1," m "]; Print["aC1 = ",aC1," m/s^2 "]; Fin1=-m1 aC1; G1={0,-m1 g,0}; F1=(Fin1+G1); IC1=m1 (AB^2+h^2)/12; M1=Min1=-IC1 a1; Print["m1 = ",m1," kg"]; Print["IC1 = ",IC1," kg m^2"]; Print["Fin1 = -m1 aC1 = ",Fin1," N "]; Print["G1 = -m1 g = ",G1," N "]; Print["F1 = -m1 aC1 + G1 = ",F1," N "]; Print["M1 = Min1 = -IC1 a1 = ",{0,0,0}," N m"]; (*Link 2*) m2=r BD h d; rC2=(rB+rD)/2; aC2=(aB+aD)/2; Print["rC2 = ",rC2," m "]; Print["aC2 = ",aC2," m/s^2 "]; Fin2=-m2 aC2; G2={0,-m2 g,0}; F2=(Fin2+G2); IC2=m2 (BD^2+h^2)/12; M2=Min2=-IC2 a2; Print["m2 = ",m2," kg"]; Print["IC2 = ",IC2," kg m^2"]; Print["Fin2 = -m2 aC2 = ",Fin2," N "]; Print["G2 = -m2 g = ",G2," N "]; Print["F2 = -m2 aC2 + G2 = ",F2," N "]; Print["M2 = Min2 = -IC2 a2 = ",M2," N m"]; (*Link 3*) m3=r hSlider wSlider d; rC3=rC; aC3={0,0,0}; Print["rC3 = ",rC3," m "]; Print["aC3 = ",aC3," m/s^2 "]; Fin3=-m3 aC3; G3={0,-m3 g,0}; F3=(Fin3+G3); IC3=m3 (hSlider^2+wSlider^2)/12; M3=Min3=-IC3 a3; Print["m3 = ",m3," kg"]; Print["IC3 = ",IC3," kg m^2"]; Print["Fin3 = -m3 aC3 = ",Fin3," N "]; Print["G3 = -m3 g = ",G3," N "]; Print["F3 = -m3 aC3 + G3 = ",F3," N "]; Print["M3 = Min3 = -IC3 a3 = ",M3," N m"]; (*Link 4*) m4=r DE h d; rC4=(rD+rE)/2; aC4=(aD+aE)/2; Print["rC4 = ",rC4," m "]; Print["aC4 = ",aC4," m/s^2 "]; Fin4=-m4 aC4; G4={0,-m4 g,0}; F4=(Fin4+G4); IC4=m4 (DE^2+h^2)/12; M4=Min4=-IC4 a4; Print["m4 = ",m4," kg"]; Print["IC4 = ",IC4," kg m^2"]; Print["Fin4 = -m4 aC4 = ",Fin4," N "]; Print["G4 = -m4 g = ",G4," N "]; Print["F4 = -m4 aC4 + G4 = ",F4," N "]; Print["M4 = Min4 = -IC4 a4 = ",M4," N m"]; (*Link 5*) m5=r EF h d; rC5=(rE+rF)/2; aC5=aE/2; Print["rC5 = ",rC5," m "]; Print["aC5 = ",aC5," m/s^2 "]; Fin5=-m5 aC5; G5={0,-m5 g,0}; F5=(Fin5+G5); IC5=m5 (EF^2+h^2)/12; M5=Min5=-IC5 a5; Print["m5 = ",m5," kg"]; Print["IC5 = ",IC5," kg m^2"]; Print["Fin5 = -m5 aC5 = ",Fin5," N "]; Print["G5 = -m5 g = ",G5," N "]; Print["F5 = -m5 aC5 + G5 = ",F5," N "]; Print["M5 = Min5 = -IC5 a5 = ",M5," N m"]; Print[" "]; Print[" Fr "]; F05={F05x,F05y,0}; eqME5=(Cross[rF-rE,F05]+Cross[rC5-rE,F5]+M5+Mext)[[3]]; eqMD54=(Cross[rF-rD,F05]+Cross[rC5-rD,F5]+M5+Mext+Cross[rC4-rD,F4 ]+M4)[[3]]; solF05=Solve[{eqME5ã0,eqMD54ã0},{F05x,F05y}]; F05s=F05/.solF05[[1]]; Print["F05 = ",F05s," N"]; Print[" "]; Print[" Er "]; F45={F45x,F45y,0}; eqMF5=(Cross[rE-rF,F45]+Cross[rC5-rF,F5]+M5+Mext)[[3]]; eqMD4=(Cross[rE-rD,-F45]+Cross[rC4-rD,F4]+M4)[[3]]; solF45=Solve[{eqMF5ã0,eqMD4ã0},{F45x,F45y}]; F45s=F45/.solF45[[1]]; Print["F45 = ",F45s," N"]; Print[" "]; Print[" Dr "]; F24={F24x,F24y,0}; eqME4=(Cross[rD-rE,F24]+Cross[rC4-rE,F4]+M4)[[3]]; eqMF54=(Cross[rD-rF,F24]+Cross[rC4-rF,F4]+M4+Cross[rC5-rF,F5]+M5+ Mext)[[3]]; solF24=Solve[{eqME4ã0,eqMF54ã0},{F24x,F24y}]; F24s=F24/.solF24[[1]]; Print["F24 = ",F24s," N"]; Print[" "]; Print[" Ct "]; F23={F23x,F23y,0}; (*F23 perpend. on BD*) eqF23p=F23.(rB-rD)ã0; rQ={xQ,yQ,0}; (*point Q is on BD*) eqQ=Cross[rB-rC,rC-rQ][[3]]==0; eqMC3=(Cross[rQ-rC,F23]+M3)[[3]]; eqMB2=(Cross[rQ-rB,-F23]+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2]+M2)[ [3]]; solF23=Solve[{eqF23p,eqQ,eqMC3ã0,eqMB2ã0},{F23x,F23y,xQ,yQ}]; F23s=F23/.solF23[[1]]; Print["F23 = ",F23s," N"]; rQs=rQ/.solF23[[1]]; Print["rQ = ",rQs," m"]; Print[" "]; Print[" Cr "]; F03={F03x,F03y,0}; eqF3BC=(F03+F3).(rB-rC); eqMB32=(Cross[rC-rB,F03+F3]+M3+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2 ]+M2)[[3]]; solF03=Solve[{eqF3BCã0,eqMB32ã0},{F03x,F03y}]; F03s=F03/.solF03[[1]]; Print["F03 = ",F03s," N"]; Print[" "]; Print[" Br "]; F12={F12x,F12y,0}; eqF2BC=(F12+F2-F24s).(rB-rC); eqMC23=(Cross[rB-rC,F12]+Cross[rD-rC,-F24s]+Cross[rC2-rC,F2]+M2+M 3)[[3]]; solF12=Solve[{eqF2BCã0,eqMC23ã0},{F12x,F12y}]; F12s=F12/.solF12[[1]]; Print["F12 = ",F12s," N"]; Print[" "] (*Link 1*) F01=-F1+F12s; Print["F01 = ",F01," N"]; Mm=-Cross[rB,-F12s]-Cross[rC1,F1]-M1; Print["Meq = ",Mm," N m"] PI_6_8_I_class.nb 6 (* Problem I.6.8 *) (* *) Apply[Clear,Names["Global`*"]]; Off[General::spell]; Off[General::spell1]; (* Input data *) AB = .11 ; AC = .055 ; BD = .22 ; DE = .3 ; EF = .175 ; La = .275 ; Lb = .065; n = 2400. ; (* rpm *) w=n*N[Pi]/30;(*rad/s*) initdata = {f[t]->N[Pi]150/180}; (* Position of joint A *) xA = yA = 0; rA={xA,yA,0}; (* Position of joint C *) xC = -AC ; yC = 0. ; rC={xC,yC,0}; (* Position of joint F *) xF = La ; yF = Lb ; rF={xF,yF,0}; (* Position of joint B *) XB = AB Cos[f[t]] ; YB = AB Sin[f[t]] ; xBs=XB/.initdata; yBs=YB/.initdata; rB={xBs,yBs,0}; ruleB={xB[t]->xBs,yB[t]->yBs}; phi2 = (ArcTan[(yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (* Position of joint D *) eqnD1 = ( xD[t]- xB[t] )^2 + ( yD[t] - yB[t] )^2 - BD^2 == 0 ; eqnD2 = ( yD[t] - yB[t] ) / ( xD[t]- xB[t] ) == ( yB[t] - yC ) / ( xB[t] - xC ); solutionD = Solve [ { eqnD1/.ruleB, eqnD2/.ruleB } , { xD[t] , yD[t] } ]; (* Two solutions for D *) xD1 = xD[t] /. solutionD[[1]]; yD1 = yD[t] /. solutionD[[1]]; xD2 = xD[t] /. solutionD[[2]]; yD2 = yD[t] /. solutionD[[2]]; If [ yD1 < 0 , xDs = xD1 ; yDs = yD1 , xDs = xD2 ; yDs=yD2 ] ; rD={xDs,yDs,0}; ruleD={xD[t]ØxDs,yD[t]ØyDs}; (* Position of joint E *) eqnE1=(xE[t]-xD[t])^2+(yE[t]-yD[t])^2-DE^2ã0; eqnE2=(xE[t]-xF)^2+(yE[t]-yF)^2-EF^2ã0; solutionE=Solve[{eqnE1/.ruleD,eqnE2/.ruleD},{xE[t],yE[t]}]; (*Two solutions for E*) xE1=xE[t]/.solutionE[[1]]; yE1=yE[t]/.solutionE[[1]]; xE2=xE[t]/.solutionE[[2]]; yE2=yE[t]/.solutionE[[2]]; (*Select the correct position for E*) If[yE1 ≤ 0,xEs=xE1;yEs=yE1,xEs=xE2;yEs=yE2]; rE={xEs,yEs,0}; ruleE={xE[t]ØxEs,yE[t]ØyEs}; phi4 = (ArcTan[(yD[t]-yE[t])/(xD[t]-xE[t])])/.ruleD/.ruleE; (*GRAPH OF THE MECHANISM*) markers=Table[{Point[{xA,yA}],Point[{xBs,yBs}],Point[{xC,yC}],Poi nt[{xDs,yDs}], Point[{xEs,yEs}],Point[{xF,yF}]}]; name=Table[{ Text["A",{0,0},{-1,1}], Text["B",{xBs,yBs},{-2,1}], Text["C",{xC,yC},{-1,-1}], Text["D",{xDs,yDs},{-1,-1}], Text["E",{xEs,yEs},{-0.5,1}], Text["F",{xF,yF},{-2,1}]}]; graph=Graphics[{{RGBColor[1,0,0],Line[{{xA,yA},{xBs,yBs}}]},{RGBC olor[0,1,0], Line[{{xBs,yBs},{xC,yC}}]},{RGBColor[0,1,0], Line[{{xC,yC},{xDs,yDs}}]},{RGBColor[0,0,1], Line[{{xDs,yDs},{xEs,yEs}}]},{RGBColor[0,1,1], Line[{{xEs,yEs},{xF,yF}}]},{RGBColor[0,0,0],PointSize[0.01], markers},{name}}]; Show[Graphics[graph],PlotRangeØ{All,All},FrameØTrue, AxesOriginØ{xA,yA},FrameLabelØ{"x","y"}, AxesØ{True,True},AspectRatioØAutomatic]; f2 = (ArcTan[ (yB[t]-yC)/(xB[t]-xC) ])/.ruleB ; (*0-Ar-1-Br-2-Ct-3-Cr-0*) w10={0,0,w}; w21v={0,0,omega21}; w03v={0,0,omega03}; vC32v={vC32 Cos[f2],vC32 Sin[f2],0}; eqIkv=(w10+w21v+w03v)[[3]]ã0; eqIijv=Cross[rB,w21v]+Cross[rC,w03v]+vC32v; eqIiv=eqIijv[[1]]ã0; eqIjv=eqIijv[[2]]ã0; solIvel=Solve[{eqIkv,eqIiv,eqIjv},{omega21,omega03,vC32}]; omega21s=omega21/.solIvel[[1]]; omega03s=omega03/.solIvel[[1]]; vC32s=vC32/.solIvel[[1]]; w21={0,0,omega21s}; w03={0,0,omega03s}; v32={vC32s Cos[f2],vC32s Sin[f2],0}; w20=w10+w21; vB=Cross[w10,rB]; vD=vB+Cross[w20,rD-rB]; (*accelerations*) a10=D[w10,t]; a21v={0,0,alpha21}; a03v={0,0,alpha03}; aC32v={aC32 Cos[f2],aC32 Sin[f2],0}; eqIka=(a10+a21v+a03v)[[3]]ã0; eqIija=Cross[rB,a21v]+Cross[rC,a03v]+ aC32v-w10.w10 rB-w20.w20 (rC- rB)+2 Cross[w20,v32]; eqIia=eqIija[[1]]ã0; eqIja=eqIija[[2]]ã0; solIacc=Solve[{eqIka,eqIia,eqIja},{alpha21,alpha03,aC32}]; alpha21s=alpha21/.solIacc[[1]]; alpha03s=alpha03/.solIacc[[1]]; aC32s=aC32/.solIacc[[1]]; a21={0,0,alpha21s}; a03={0,0,alpha03s}; a32={aC32s Cos[f2],aC32s Sin[f2],0}; a20=a10+a21; aB=Cross[a10,rB]-w10.w10 rB; aD=aB+Cross[a20,rD-rB]-w20.w20 (rD-rB); (*0-Ar-1-Br-2-Dr-4-Er-5-Fr-0*) w42v={0,0,omega42}; w54v={0,0,omega54}; w05v={0,0,omega05}; eqIIkv=(w10+w21+w42v+w54v+w05v)[[3]]ã0; eqIIijv=Cross[rB,w21]+Cross[rD,w42v]+Cross[rE,w54v]+Cross[rF,w05v ]; eqIIiv=eqIIijv[[1]]ã0; eqIIjv=eqIIijv[[2]]ã0; solIIvel=Solve[{eqIIkv,eqIIiv,eqIIjv},{omega42,omega54,omega05}]; omega42s=omega42/.solIIvel[[1]]; omega54s=omega54/.solIIvel[[1]]; omega05s=omega05/.solIIvel[[1]]; w42={0,0,omega42s}; w54={0,0,omega54s}; w05={0,0,omega05s}; w40=w20+w42; w50=-w05; vE=vD+Cross[w40,rE-rD]; (*accelerations*) a42v={0,0,alpha42}; a54v={0,0,alpha54}; a05v={0,0,alpha05}; eqIIka=(a10+a21+a42v+a54v+a05v)[[3]]ã0; eqIIija=Cross[rB,a21]+Cross[rD,a42v]+Cross[rE,a54v]+Cross[rF,a05v ]-w10.w10 rB-w20.w20 (rD-rB)-w40.w40 (rE-rD)-w50.w50 (rF-rE); eqIIia=eqIIija[[1]]ã0; eqIIja=eqIIija[[2]]ã0; solIIa=Solve[{eqIIka,eqIIia,eqIIja},{alpha42,alpha54,alpha05}]; alpha42s=alpha42/.solIIa[[1]]; alpha54s=alpha54/.solIIa[[1]]; alpha05s=alpha05/.solIIa[[1]]; a42={0,0,alpha42s}; a54={0,0,alpha54s}; a05={0,0,alpha05s}; a40=a20+a42; a50=-a05; aE=aD+Cross[a40,rE-rD]-w40.w40 (rE-rD); w5=w50; Mext=-Sign[w5]{0,0,600}; Print["Mext = ",Mext," N"]; a1={0,0,0}; a2=a3=a20; a4=a40; a5=a50; Print["rB = ",rB," m "]; Print["rC = ",rC," m "]; Print["rD = ",rD," m "]; Print["rE = ",rE," m "]; Print["rF = ",rF," m "]; Print["a1 = ",a1," rad/s^2 "]; Print["a2 = ",a2," rad/s^2 "]; Print["a3 = ",a3," rad/s^2 "]; Print["a4 = ",a4," rad/s^2 "]; Print["a5 = ",a5," rad/s^2 "]; h=0.01; d=0.001; hSlider=0.02; wSlider=0.05; r=8000.; g=9.807; (*Link 1*) m1=r AB h d; rC1=rB/2; aC1=aB/2; Print["rC1 = ",rC1," m "]; Print["aC1 = ",aC1," m/s^2 "]; Fin1=-m1 aC1; G1={0,-m1 g,0}; F1=(Fin1+G1); IC1=m1 (AB^2+h^2)/12; M1=Min1=-IC1 a1; Print["m1 = ",m1," kg"]; Print["IC1 = ",IC1," kg m^2"]; Print["Fin1 = -m1 aC1 = ",Fin1," N "]; Print["G1 = -m1 g = ",G1," N "]; Print["F1 = -m1 aC1 + G1 = ",F1," N "]; Print["M1 = Min1 = -IC1 a1 = ",{0,0,0}," N m"]; (*Link 2*) m2=r BD h d; rC2=(rB+rD)/2; aC2=(aB+aD)/2; Print["rC2 = ",rC2," m "]; Print["aC2 = ",aC2," m/s^2 "]; Fin2=-m2 aC2; G2={0,-m2 g,0}; F2=(Fin2+G2); IC2=m2 (BD^2+h^2)/12; M2=Min2=-IC2 a2; Print["m2 = ",m2," kg"]; Print["IC2 = ",IC2," kg m^2"]; Print["Fin2 = -m2 aC2 = ",Fin2," N "]; Print["G2 = -m2 g = ",G2," N "]; Print["F2 = -m2 aC2 + G2 = ",F2," N "]; Print["M2 = Min2 = -IC2 a2 = ",M2," N m"]; (*Link 3*) m3=r hSlider wSlider d; rC3=rC; aC3={0,0,0}; Print["rC3 = ",rC3," m "]; Print["aC3 = ",aC3," m/s^2 "]; Fin3=-m3 aC3; G3={0,-m3 g,0}; F3=(Fin3+G3); IC3=m3 (hSlider^2+wSlider^2)/12; M3=Min3=-IC3 a3; Print["m3 = ",m3," kg"]; Print["IC3 = ",IC3," kg m^2"]; Print["Fin3 = -m3 aC3 = ",Fin3," N "]; Print["G3 = -m3 g = ",G3," N "]; Print["F3 = -m3 aC3 + G3 = ",F3," N "]; Print["M3 = Min3 = -IC3 a3 = ",M3," N m"]; (*Link 4*) m4=r DE h d; rC4=(rD+rE)/2; aC4=(aD+aE)/2; Print["rC4 = ",rC4," m "]; Print["aC4 = ",aC4," m/s^2 "]; Fin4=-m4 aC4; G4={0,-m4 g,0}; F4=(Fin4+G4); IC4=m4 (DE^2+h^2)/12; M4=Min4=-IC4 a4; Print["m4 = ",m4," kg"]; Print["IC4 = ",IC4," kg m^2"]; Print["Fin4 = -m4 aC4 = ",Fin4," N "]; Print["G4 = -m4 g = ",G4," N "]; Print["F4 = -m4 aC4 + G4 = ",F4," N "]; Print["M4 = Min4 = -IC4 a4 = ",M4," N m"]; (*Link 5*) m5=r EF h d; rC5=(rE+rF)/2; aC5=aE/2; Print["rC5 = ",rC5," m "]; Print["aC5 = ",aC5," m/s^2 "]; Fin5=-m5 aC5; G5={0,-m5 g,0}; F5=(Fin5+G5); IC5=m5 (EF^2+h^2)/12; M5=Min5=-IC5 a5; Print["m5 = ",m5," kg"]; Print["IC5 = ",IC5," kg m^2"]; Print["Fin5 = -m5 aC5 = ",Fin5," N "]; Print["G5 = -m5 g = ",G5," N "]; Print["F5 = -m5 aC5 + G5 = ",F5," N "]; Print["M5 = Min5 = -IC5 a5 = ",M5," N m"]; Print[" "]; Print[" Fr "]; F05={F05x,F05y,0}; eqME5=(Cross[rF-rE,F05]+Cross[rC5-rE,F5]+M5+Mext)[[3]]; eqMD54=(Cross[rF-rD,F05]+Cross[rC5-rD,F5]+M5+Mext+Cross[rC4-rD,F4 ]+M4)[[3]]; solF05=Solve[{eqME5ã0,eqMD54ã0},{F05x,F05y}]; F05s=F05/.solF05[[1]]; Print["F05 = ",F05s," N"]; Print[" "]; Print[" Er "]; F45={F45x,F45y,0}; eqMF5=(Cross[rE-rF,F45]+Cross[rC5-rF,F5]+M5+Mext)[[3]]; eqMD4=(Cross[rE-rD,-F45]+Cross[rC4-rD,F4]+M4)[[3]]; solF45=Solve[{eqMF5ã0,eqMD4ã0},{F45x,F45y}]; F45s=F45/.solF45[[1]]; Print["F45 = ",F45s," N"]; Print[" "]; Print[" Dr "]; F24={F24x,F24y,0}; eqME4=(Cross[rD-rE,F24]+Cross[rC4-rE,F4]+M4)[[3]]; eqMF54=(Cross[rD-rF,F24]+Cross[rC4-rF,F4]+M4+Cross[rC5-rF,F5]+M5+ Mext)[[3]]; solF24=Solve[{eqME4ã0,eqMF54ã0},{F24x,F24y}]; F24s=F24/.solF24[[1]]; Print["F24 = ",F24s," N"]; Print[" "]; Print[" Ct "]; F23={F23x,F23y,0}; (*F23 perpend. on BD*) eqF23p=F23.(rB-rD)ã0; rQ={xQ,yQ,0}; (*point Q is on BD*) eqQ=Cross[rB-rC,rC-rQ][[3]]==0; eqMC3=(Cross[rQ-rC,F23]+M3)[[3]]; eqMB2=(Cross[rQ-rB,-F23]+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2]+M2)[ [3]]; solF23=Solve[{eqF23p,eqQ,eqMC3ã0,eqMB2ã0},{F23x,F23y,xQ,yQ}]; F23s=F23/.solF23[[1]]; Print["F23 = ",F23s," N"]; rQs=rQ/.solF23[[1]]; Print["rQ = ",rQs," m"]; Print[" "]; Print[" Cr "]; F03={F03x,F03y,0}; eqF3BC=(F03+F3).(rB-rC); eqMB32=(Cross[rC-rB,F03+F3]+M3+Cross[rD-rB,-F24s]+Cross[rC2-rB,F2 ]+M2)[[3]]; solF03=Solve[{eqF3BCã0,eqMB32ã0},{F03x,F03y}]; F03s=F03/.solF03[[1]]; Print["F03 = ",F03s," N"]; Print[" "]; Print[" Br "]; F12={F12x,F12y,0}; eqF2BC=(F12+F2-F24s).(rB-rC); eqMC23=(Cross[rB-rC,F12]+Cross[rD-rC,-F24s]+Cross[rC2-rC,F2]+M2+M 3)[[3]]; solF12=Solve[{eqF2BCã0,eqMC23ã0},{F12x,F12y}]; F12s=F12/.solF12[[1]]; Print["F12 = ",F12s," N"]; Print[" "] (*Link 1*) F01=-F1+F12s; Print["F01 = ",F01," N"]; Mm=-Cross[rB,-F12s]-Cross[rC1,F1]-M1; Print["Meq = ",Mm," N m"] PI_6_8_I_class.nb 7 IC2 = 0.0000711333 kg m^2 Fin2 = -m2 aC2 = 8-73.89, -245.871, 0.< N G2 = -m2 g = 80, -0.172603, 0< N F2 = -m2 aC2 + G2 = 8-73.89, -246.044, 0.< N M2 = Min2 = -IC2 a2 = 80, 0, -5.71412< N m rC3 = 8-0.055, 0., 0< m aC3 = 80, 0, 0< mês^2 m3 = 0.008 kg IC3 = 1.93333µ 10-6 kg m^2 Fin3 = -m3 aC3 = 80, 0, 0< N G3 = -m3 g = 80, -0.078456, 0< N F3 = -m3 aC3 + G3 = 80, -0.078456, 0< N M3 = Min3 = -IC3 a3 = 80, 0, -0.155304< N m rC4 = 80.184259, -0.111167, 0< m aC4 = 82762.02, 25687.4, 0.< mês^2 m4 = 0.024 kg IC4 = 0.0001802 kg m^2 Fin4 = -m4 aC4 = 8-66.2885, -616.497, 0.< N G4 = -m4 g = 80, -0.235368, 0< N F4 = -m4 aC4 + G4 = 8-66.2885, -616.732, 0.< N M4 = Min4 = -IC4 a4 = 80, 0, 6.89466< N m rC5 = 80.304414, -0.0174078, 0< m aC5 = 81572.38, 9980.36, 0.< mês^2 m5 = 0.014 kg IC5 = 0.0000358458 kg m^2 Fin5 = -m5 aC5 = 8-22.0134, -139.725, 0.< N G5 = -m5 g = 80, -0.137298, 0< N F5 = -m5 aC5 + G5 = 8-22.0134, -139.862, 0.< N M5 = Min5 = -IC5 a5 = 80, 0, -1.98112< N m Fr F05 = 8-3667.41, 142.67, 0< N PI_6_8_I_class.nb 10 Er F45 = 83689.42, -2.80758, 0< N Dr F24 = 83755.71, 613.924, 0< N Ct F23 = 8-9173.2, -6715.25, 0< N rQ = 8-0.0550081, 0.000011023, 0< m Cr F03 = 89173.2, 6715.32, 0< N Br F12 = 8-5343.59, -5855.28, 0< N F01 = 8-5317.12, -5870.48, 0.< N Meq = 80., 0., 851.684< N m PI_6_8_I_class.nb 11
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved