Category : Science and Education
Archive   : MECHAN93.ZIP
Filename : DYNAN.BAS

 
Output of file : DYNAN.BAS contained in archive : MECHAN93.ZIP
ÿl
 DYNAN - December 1,1989› ****************************************Ə DYNAN - DYNAMIC ANALYSIS SUBROUTINESõ( ****************************************<P1$ç"#####" : P2$ç" #.####^^^^"-F„"INPUT CRANK"AP„"INPUT SLIDER"WZ„"INPUT CYLINDER"ld„"POINT ON BODY"n„"TWO-LINK DYAD"™x„"OSCILLATING SLDR"¯‚„"ROTATING GUIDE"ÁŒ„"SPUR GEARS"Ö–„"LINEAR SPRING"ì „"VISCOUS DAMPER"ª‚ Iç  Ì 
: ‡ HEAD$(I) : ƒ I´Œ‰ ^ ********************************************************¡ AA= ATAN2(YY,XX) DEFINE XX,YY THEN GOSUB 300 -- RETURNS AAà" ********************************************************,X9çXX : ‹ ÿ†(X9)è å<> Í X9ç å<>96PPç ÿŽ()ë : TTç YYìX9 : AAç ÿŽ(ÿ†(TT))[@‹ XX è  î YY è  Í AAç AAéPP{J‹ XX æ  î YY è  Í AAç êAAT‹ XX è  î YY æ  Í AAç PPêAA£^Žìc ******************************************************************5h LAW OF COSINES DEFINE RR1, RR2, RR3 THEN GOSUB 390 -- RETURNS AA~r ******************************************************************Î|CCç (RR1ëRR1 é RR2ëRR2 ê RR3ëRR3)ì(ëRR1ëRR2) : SSç ÿ‡(êCCëCC) : TTç SSìCCæ†AAç ÿŽ(ÿ†(TT)) : Ž . *****************************************************************qš External loads are defined in a user-supplied file PROB$.XLD¹¤ *****************************************************************¥ *****************************************************************@¦ Define function FNX which computes the DxF cross productˆ§ *****************************************************************Ȩ FNX(XX,YY,FX,FY)= XX*FY - YY*FX defined in statement 785© *******************************************************************U® CALL DYNAMICS SUBROUTINES IN REVERSE ORDER AFTER KINEMATICSŸ¸ *******************************************************************µÂ‹ ONCE$ç"T" Í ËÌ‹ A$ç "D" Í  ‚ÕÖJFç õàRESULT$ç DRIVE$ é "RESULTS"#å‹ SHOW$ç"Y" Í ‘"Opening the RESULTS file"Sê» # : º "O",#,RESULT$ : TYPE$ç"KINORDYN$"pô· #,TYPE$,A$,NP,NM,NPOSþONCE$ç"T" : RET$ç"DYNAN"ÁTRYç :  SET INPUT MOTION PARAMETERS FOR KINANÿD9ç INC : S9ç IPOS : V9ç IVEL : A9ç IACC : J9ç : K9çNPOS*T1ç NP% : T2ç NFP% : T5ç NC% : T7ç NM%Y&HEAD00$ç "FIXED POINTS" : ·#,HEAD00$;NFP%{0‚ Iç  Ì NFP% : Jç ÿ†(FP%(I))š:·#,FP%(I),FP(,J),FP(,J)¢Dƒ IÔNHEAD0$ç"COMPONENT SEQUENCES" : ·#,HEAD0$;NC%äX‚ Iç Ì NC%ñbKçCC%(I)#l• K ‰ v,v,€,v,Š,”,ž,¨,²,²Jv·#,K,G(I,),G(I,),G(I,) : ‰ ¼x€·#,K,G(I,),G(I,),G(I,),G(I,) : ‰ ¼¯Š·#,K,G(I,),G(I,),G(I,),G(I,
),G(I, ) : ‰ ¼æ”·#,K,G(I,),G(I,),G(I,),G(I,),G(I, ) : ‰ ¼ž·#,K,G(I,),G(I,),G(I,),G(I,
),G(I,
) : ‰ ¼c¨·#,K,G(I,),G(I,),G(I,),G(I,),G(I,);G(I,
),G(I,) : ‰ ¼{²·#,K,G(I,),G(I,)ƒ¼ƒ I̽À:‘"Do you wish to DISPLAY numerical RESULTS ? [Default= N] Y/N ? ";ï¾SHOW$ç Þ : ‹ ÿ’(SHOW$)ç Í ¾ ¿‹ SHOW$ç"y" Í SHOW$ç"Y"*À‹ SHOW$ èæ "Y" Í SHOW$ç"N"]Á‘ SHOW$ : ‹ SHOW$ ç "N" Í PAU$ç"N" : À : ‰  ¦ÆÀ:‘"Do you wish PAUSES in output of RESULTS ? [Default= N] Y/N ? ";ÇÐPAU$ç Þ : ‹ ÿ’(PAU$)ç Í ÐáÚ‹ PAU$ç"y" Í PAU$ç"Y"þä‹ PAU$ èæ "Y" Í PAU$ç"N" î‘ PAU$ó‹ PAU$ç"Y" Í  Qô‘"To INTERRUPT while running press "nøQ$ç Þ : ‹ ÿ’(Q$)ç Í øž RET$ç"DYNAN" : IRET%ç  : þŒ "KINAN",,ALL¶‹ JFç Í ONCE$ç "T"Û— ÑX(XX,YY,FX,FY)ç XXëFY ê YYëFXê*JFç JF é ÿ4‚ Iç T5 Ì  Ï ê >‹ K(I)ç  Í  ¾+ H‹ K(I)ç  Í  |A R‹ K(I)ç  Í  þU \‹ K(I)ç  Í ¢k f‹ K(I)ç  Í  `  p‹ K(I)ç  Í  6 — z‹ K(I)ç  Í  l ­ „‹ K(I)ç  Í  ¶
à Ž‹ K(I)ç  Í  Ù ˜‹ K(I)ç
Í  ¬á ¢ƒ Iÿ ¬‹ SHOW$ç"Y" Í ‘ Ö(N,"-")+!¶‹ SHOW$ç"Y" Í ‘ Î);"DYNAMIC ANALYSIS"I!À‹ SHOW$ç"Y" Í ‘ Ö(N,"-")l!ÊTHçS4ì9ú{ : ‹ SHOW$ç "Y" Í ‘­!Ô‹ K()ç î SHOW$ç"Y" Í ‘"INPUT CRANK ANGLE = ";TH;" degrees"æ!Þ‹ K()ç î SHOW$ç"Y" Í ‘"INPUT SLIDER POSITION= ";S4"è‹ K()ç î SHOW$ç"Y" Í ‘"INPUT CYLINDER LENGTH= ";S4;"ò‹ ÿ†(T0) è ow Í T0ç]"ü‹ ÿ†(FSLDR) è ow Í FSLDRç}"‹ ÿ†(FCYL) è ow Í FCYLçº"Iç : ‹ K()ç î SHOW$ç"Y" Í ‘ "INPUT CRANK TORQUE= ";T0
#‹ K()ç î SHOW$ç"Y" Í ‘"INPUT SLIDER FORCE = ";FSLDR;" SIDE THRUST= ";FSIDEG#$‹ K()ç î SHOW$ç"Y" Í ‘"INPUT CYLINDER FORCE= ";FCYLm#.F$ç"######.##" : FA$ç " ###.##"“#8‹ K()ç Í HEAD5$ç"INPUT TORQUE"¹#B‹ K()èæ Í HEAD5$ç"INPUT FORCE"Ö#L‹ K()ç Í ·#,HEAD5$,T0ö#V‹ K()ç Í ·#,HEAD5$,FSLDR$`‹ K()ç Í ·#,HEAD5$,FCYL1$jNF%ç : ‹ SHOW$ç"Y" Í ‘„$t‹ SHOW$ç"Y" Í ‘"JOINT FORCES FX FY MAG DIR (deg)"˜$~‹ SHOW$ç"Y" Í ‘¸$ˆ‚ IIç Ì NM : ‚ JJç II Ì NMæ$’‹ F(,II,JJ)ç ' î F(,II,JJ)ç ' Í öô$œNF%çNF%é%¦‹ ÿ†(F(,II,JJ))èow Í F(,II,JJ)çH%°‹ ÿ†(F(,II,JJ))èow Í F(,II,JJ)çƒ%ºXXç F(,II,JJ) : YYç F(,II,JJ) : MAGç ÿ‡(XXëXXéYYëYY)%č , : ANGç AAì9ú{î%΋ SHOW$ç"Y" Í ‘ "From ";II;"to ";JJ;Î); : ‹ SHOW$ç"Y" Í ‘ × F$;F(,II,JJ);&Ø‹ SHOW$ç"Y" Í ‘ × F$;F(,II,JJ);K&â‹ SHOW$ç"Y" Í ‘ " ";:‹ SHOW$ç"Y" Í ‘ × F$;MAG;i&ì‹ SHOW$ç"Y" Í ‘ × FA$;ANGy&öƒ JJ : ƒ II&HEAD6$ç"JOINT FORCE COMPONENTS"±&
· #,HEAD6$,NF%Ð&‚ IIç Ì NM : ‚ JJçII Ì NMþ&‹ F(,II,JJ)ç ' î F(,II,JJ)ç ' Í 2#'(·#, II,JJ,F(,II,JJ),F(,II,JJ)E'2ƒ JJ : ƒ II : ‹ SHOW$ç"Y" Í ‘y'<XXçQ(,,JF) : YYçQ(,,JF) : MAGçÿ‡(XXíéYYí)’'F , : ANGçAAì9ú{Ò'P‹ SHOW$ç"Y" Í ‘"Shaking forces";Î);:‘ × F$;XX;:‘ × F$;YY; (Z‹ SHOW$ç"Y" Í ‘" ";:‹ SHOW$ç"Y" Í ‘ × F$;MAG;'(d‹ SHOW$ç"Y" Í ‘ × FA$;ANGM(nHEAD7$ç"SHAKING FORCE COMPONENTS"p(x·#,HEAD7$,Q(,,JF),Q(,,JF)…(‚‹ PAU$ç"N" Í  È(Œ‹ SHOW$ç"Y" Í ‘"Press to continue ... to quit ";æ(–Q$ç Þ : ‹ ÿ’(Q$)ç  Í –)š‹ Q$ç ÿ–() Í Š "MECHAN")›‹ Q$èæÿ–() Í ªD)  À :  CONTINUE or QUIT to MECHANf)ª‹ SHOW$ç"Y" Í ‘ "Chain KINAN"~)¯þŒ "KINAN",RET%,ALL¼)´ *******************************************************ú)¾ SUBROUTINE FCRANK - DYNAMIC ANALYSIS FOR AN INPUT CRANK8*ȏ *******************************************************i*ÒN1çG(I,) : N2çG(I,) : N3çG(I,) : LçG(I,)*ÜR(L)çG(I,) : S(N3)çG(I,) : B(N3)çG(I,)ë9ú{¸*æL3çG(I,) : L4çG(I,
)í*ð‹ SHOW$ç"Y" Í ‘"Dynamic analysis - input crank "+úX(,L)ç M(L)ëP(,N3) : X(,L)ç M(L)ëP(,N3)>+ÿNTEMPç N3 : LTEMPç L :  ”Q+TQ1ç I(L)ëA(L)+XXçP(,N3)êP(,N1):YYçP(,N3)êP(,N1):FXçX(,L):FYçX(,L)¨+TQ2ç ÑX(XX,YY,FX,FY)à+"FXçQ(,L,JF) : FYç Q(,L,JF) : TQ3ç ÑX(XX,YY,FX,FY)-,,TQ4ç Q(,L,JF) :  Q(3,L,JF)= SUM OF THE D X F VECTOR PRODUCTS ABOUT CG x,6TQ5ç Q(,L,JF) :  Q(4,L,JF)= SUM TORQUES ABOUT CG - EXCEPT UNKNOWN T0Ÿ,@T0ç ê(TQ1 é TQ2 é TQ3 é TQ4 é TQ5)â,JF(,L,L3)ç Q(,L,JF) ê X(,L) : F(,L,L3)ç Q(,L,JF) ê X(,L)-TF(,L3,L)çêF(,L,L3) : F(,L3,L)çêF(,L,L3)X-^Q(,L3,JF)çQ(,L3,JF)éF(,L,L3) : Q(,L3,JF)çQ(,L3,JF)éF(,L,L3)^-hŽŸ-r **********************************************************ß-| SUBROUTINE FSLIDER - DYNAMIC ANALYSIS FOR AN INPUT SLIDER .† **********************************************************f.N1çG(I,) : N2çG(I,) : N3çG(I,) : LçG(I,) : B(N2)çG(I,)ë9ú{¦.šS(N3)çG(I,) : B(N3)çG(I,)ë9ú{ : L3çG(I,) : L4çG(I,
) Ó.¤XXçP(,N2)êP(,N1) : YYçP(,N2)êP(,N1) /®DDçÿ‡(XXíéYYí) : UXçXXìDD : UYçYYìDD : NXçêUY : NYçUXD/¸‹ SHOW$ç"Y" Í ‘"Dynamic analysis - input slider"e/½NTEMPç N3 : LTEMPç L :  ”•/ÂX(,L)ç M(L)ëP(,N3) : X(,L)ç M(L)ëP(,N3)Ç/ÌF0Xç X(,L)êQ(,L,JF) : F0Yç X(,L)êQ(,L,JF)û/ÖFSLDRç F0XëUX é F0YëUY : FSIDEç F0XëNX é F0YëNY!0àF(,L,L3)ç êF0X : F(,L,L3)ç êF0Y'0êŽl0ô **************************************************************°0þ SUBROUTINE FCYLINDER - DYNAMIC ANALYSIS FOR AN INPUT CYLINDERõ0 **************************************************************>1N1çG(I,) : N2çG(I,) : N3çG(I,) : MçG(I,) : L1çG(I,) : L2çG(I,)…1R(L2)çG(I,) : N5çG(I,) : S(N5)çG(I,
) : L3çG(I, ) : L4çG(I,
)¼1&‹ SHOW$ç"Y" Í ‘"Dynamic analysis - input cylinder"Õ1+B(N5)ç G(I, )ë9ú{ 20X(,L2)ç M(L2)ëP(,N5) : X(,L2)ç M(L2)ëP(,N5)2:TQ1ç I(L2)ëA(L2)J2DXXçP(,N5)êP(,N2) : YYçP(,N5)êP(,N2)}2NFXçX(,L2) : FYçX(,L2) : TQ2ç ÑX(XX,YY,FX,FY)2SLTEMPçL2 : ‹ A$ç"D" Í  ”Ö2XFXçQ(,L2,JF) : FYçQ(,L2,JF) : TQ3ç ÑX(XX,YY,FX,FY)û2bTQ4ç Q(,L2,JF) : TQ5çQ(,L2,JF)3lTQç TQ1 é TQ2 é TQ3 é TQ4 é TQ5O3vS4Xç P(,N3)êP(,N1) : S4Yç P(,N3)êP(,N1)ˆ3€SS4ç ÿ‡(S4XëS4XéS4YëS4Y) : U4XçS4XìSS4 : U4YçS4YìSS4¸3ŠR2Xç P(,N3)êP(,N2) : R2Yç P(,N3)êP(,N2)î3”R2ç ÿ‡(R2XëR2XéR2YëR2Y) : U2XçR2XìR2 : U2YçR2YìR24žCCç U4XëU2X é U4YëU2Y : SSçÿ‡(êCCëCC)K4¨FCYLç TQì(R2ëSS) :  FC= INPUT CYLINDER FORCEy4²F(,L1,L2)çFCYLëU4X : F(,L1,L2)çFCYLëU4Y­4¼F(,L2,L1)çêF(,L1,L2) : F(,L2,L1)çêF(,L1,L2)á4ÆF(,L1,L3)çêF(,L1,L2) : F(,L1,L3)çêF(,L1,L2)5ÐF(,L4,L2)ç X(,L2) ê Q(,L2,JF) ê F(,L1,L2)E5ÚF(,L4,L2)ç X(,L2) ê Q(,L2,JF) ê F(,L1,L2)y5äF(,L2,L4)çêF(,L4,L2) : F(,L2,L4)çêF(,L4,L2)55ø ********************************************************õ5‹ SHOW$ç"Y" Í ‘"Dynamic analysis - linear spring";46  ********************************************************}6IçG(I,):N1çG(I,):N2çG(I,):L1çG(I,):L2çG(I,):KSçG(I,):L0çG(I,)¹6 N3çL(L1):N4çL(L2):XXçP(,N2)êP(,N1):YYçP(,N2)êP(,N1)ù6*LLç ÿ‡(XXëXXéYYëYY):FSPRçKSë(LLêL0): ,: AA=ANGLE FOR FS74FXçFSPRëÿŒ(AA):FYçFSPRëÿ‰(AA),7>‹ L1ç Í fd7HQ(,L1,JF)çQ(,L1,JF)éFX : Q(,L1,JF)çQ(,L1,JF)éFYŽ7RXXçP(,N1)êP(,N3):YYçP(,N1)êP(,N3)¸7\Q(,L1,JF)çQ(,L1,JF)éÑX(XX,YY,FX,FY)É7f‹ L2ç Í Ž8pFXçêFX : FYçêFY : XXçP(,N2)êP(,N4) : YYçP(,N2)êP(,N4)?8zQ(,L2,JF)çQ(,L2,JF)éFX : Q(,L2,JF)çQ(,L2,JF)éFYi8„Q(,L2,JF)çQ(,L2,JF)éÑX(XX,YY,FX,FY)•8Ž‹ SHOW$ç"Y" Í ‘" Spring force= ";FSPR›8˜ŽÚ8¢ ********************************************************9¬‹ SHOW$ç"Y" Í ‘"Dynamic analysis - viscous damper";Q9¶ ********************************************************9ÀIçG(I,):N1çG(I,):N2çG(I,):L1çG(I,):L2çG(I,):CDçG(I,)Ì9ÊN3çL(L1):N4çL(L2):XXçP(,N2)êP(,N1):YYçP(,N2)êP(,N1)î9ԍ , : UXçÿŒ(AA) : UYçÿ‰(AA)&:ÞV1çP(,N1)ëUXéP(,N1)ëUY : V2çP(,N2)ëUXéP(,N2)ëUYb:èVRELç V2êV1 : FDAMPçCDëVREL : FXçFDAMPëUX : FYçFDAMPëUYs:ò‹ L1ç Í  «:üQ(,L1,JF)çQ(,L1,JF)éFX : Q(,L1,JF)çQ(,L1,JF)éFY×: XXçP(,N1)êP(,N3) : YYçP(,N1)êP(,N3); Q(,L1,JF)çQ(,L1,JF)éÑX(XX,YY,FX,FY); ‹ L2ç Í ÞP;$ FXçêFX : FYçêFY : XXçP(,N2)êP(,N4) : YYçP(,N2)êP(,N4)ˆ;. Q(,L2,JF)çQ(,L2,JF)éFX : Q(,L2,JF)çQ(,L2,JF)éFY²;8 Q(,L2,JF)çQ(,L2,JF)éÑX(XX,YY,FX,FY)Þ;B ‹ SHOW$ç"Y" Í ‘" Damper force= ";FDAMPä;L Ž# )M=ˆ N4ç G(I,
) : N5ç G(I, ) : N6çL(L3) : N7çL(L4) ƒ=’ ‹ SHOW$ç"Y" Í ‘"Dynamic analysis - two-link dyad"¥=— NTEMPç N4 : LTEMPç L1 :  ”Ç=˜ NTEMPç N5 : LTEMPç L2 :  ”û=œ X(,L1)ç M(L1)ëP(,N4) : X(,L1)ç M(L1)ëP(,N4)/>¦ X(,L2)ç M(L2)ëP(,N5) : X(,L2)ç M(L2)ëP(,N5)C>° A1ç I(L1)ëA(L1)ƒ>º XXçP(,N4)êP(,N1):YYçP(,N4)êP(,N1):FXçX(,L1):FYçX(,L1) >Ä A1ç A1 é ÑX(XX,YY,FX,FY)é>Î FXçQ(,L1,JF):FYçQ(,L1,JF):B1çQ(,L1,JF)éQ(,L1,JF)éÑX(XX,YY,FX,FY)÷>Ø C1ç A1êB1 ?â A2ç I(L2)ëA(L2)K?ì XXçP(,N5)êP(,N2):YYçP(,N5)êP(,N2):FXçX(,L2):FYçX(,L2)g?ö A2çA2 é ÑX(XX,YY,FX,FY)°?
FXçQ(,L2,JF):FYçQ(,L2,JF):B2çQ(,L2,JF)éQ(,L2,JF)éÑX(XX,YY,FX,FY)½?

C2çA2êB2ì?
X1ç P(,N3)êP(,N1) : Y1ç P(,N3)êP(,N1) .@
X2ç P(,N3)êP(,N2) : Y2ç P(,N3)êP(,N2) : Z1ç X1ëY2 ê X2ëY1I@(
‹ ÿ†(Z1) æ å<> Í F
˜@2
‹ SHOW$ç"Y" Í ‘"R(L1) AND R(L2) ARE PARALLEL IN FDYAD - NO FORCE ANALYSIS"ž@<
Ž½@F
 COMPUTE THE JOINT FORCESAP
F(,L2,L1)ç (C1ëX2 é C2ëX1)ìZ1 : F(,L2,L1)ç (C1ëY2 é C2ëY1)ìZ15AZ
F(,L1,L2)çêF(,L2,L1) : F(,L1,L2)çêF(,L2,L1)mAd
F(,L1,L3)ç Q(,L1,JF) é F(,L2,L1) ê M(L1)ëP(,N4)¥An
F(,L1,L3)ç Q(,L1,JF) é F(,L2,L1) ê M(L1)ëP(,N4)ÙAx
F(,L3,L1)çêF(,L1,L3) : F(,L3,L1)çêF(,L1,L3)B‚
F(,L4,L2)ç M(L2)ëP(,N5) ê Q(,L2,JF) ê F(,L1,L2)IBŒ
F(,L4,L2)ç M(L2)ëP(,N5) ê Q(,L2,JF) ê F(,L1,L2)}B–
F(,L2,L4)çêF(,L4,L2) : F(,L2,L4)çêF(,L4,L2)²B 
 UPDATE THE EXTERNAL LOADS ON ADJOINING MEMBERSøBª
FXçF(,L1,L3):FYçF(,L1,L3):XXçP(,N1)êP(,N6):YYçP(,N1)êP(,N6) C´
‹ K(I)èæ Í È
6C¾
XXçP(,N3)êP(,N6):YYçP(,N3)êP(,N6)lCÈ
Q(,L3,JF)çQ(,L3,JF)éFX:Q(,L3,JF)çQ(,L3,JF)éFY™CÒ
Q(,L3,JF)ç Q(,L3,JF) é ÑX(XX,YY,FX,FY)ßCæ
FXçF(,L2,L4):FYçF(,L2,L4):XXçP(,N2)êP(,N7):YYçP(,N2)êP(,N7)Dð
Q(,L4,JF)çQ(,L4,JF)éFX:Q(,L4,JF)çQ(,L4,JF)éFY?Dú
Q(,L4,JF)çQ(,L4,JF)éÑX(XX,YY,FX,FY)ED ŽˆD  ************************************************************ËD"  SUBROUTINE FOSC - DYNAMIC ANALYSIS OF THE OSCILLATING SLIDERE,  ************************************************************ZE6 N1çG(I,):N2çG(I,):N3çG(I,):MçG(I,):L1çG(I,):L2çG(I,):E(L1)çG(I,)ŠE@ N4çG(I,):S(N4)çG(I,
):B(N4)çG(I, )ë9ú{»EJ N5çG(I, ):S(N5)çG(I,
):B(N5)çG(I,)ë9ú{öET ‹ SHOW$ç"Y" Í ‘"Dynamic analysis - oscillating slider"FY NTEMPç N4 : LTEMPç L1 :  ”:FZ NTEMPç N5 : LTEMPç L2 :  ”lF^ L3çG(I,) : L4çG(I,) : N6çL(L3) : N7çL(L4)œFh X(,L1)çM(L1)ëP(,N4):X(,L1)çM(L1)ëP(,N4)ÌFr X(,L2)çM(L2)ëP(,N5):X(,L2)çM(L2)ëP(,N5)øF| XXçP(,N5)êP(,N2) : YYçP(,N5)êP(,N2)/G† FXçQ(,L2,JF) : FYçQ(,L2,JF) : T3çÑX(XX,YY,FX,FY)mG FXçX(,L2) : FYçX(,L2) : T2çÑX(XX,YY,FX,FY) : C(L2,L1)ç¼Gš T1çI(L2)ëA(L2):C(L1,L2)ç T1éT2êT3êQ(,L2,JF)êQ(,L2,JF):C(L2,L1)çêC(L1,L2)öG¤  C(L2,L1)=REACTION COUPLE APPLIED BY SLIDER TO GUIDE"H® XXçP(,N4)êP(,N1) : YYçP(,N4)êP(,N1)SH¸ FXçX(,L1) : FYçX(,L1) : T2çÑX(XX,YY,FX,FY)ŠH FXçQ(,L1,JF) : FYçQ(,L1,JF) : T3çÑX(XX,YY,FX,FY)HÌ T1çI(L1)ëA(L1)ØHÖ TEMPç T1 é T2 ê T3 ê C(L2,L1) êQ(,L1,JF) ê Q(,L1,JF)íHà F21ç TEMPìRS(N2)Iê STç ÿ‰(T(L1)) : CTç ÿŒ(T(L1))0Iï F21Xç êF21ëST : F21Yç F21ëCT^Iô F(,L2,L1)ç F21X : F(,L1,L2)çêF(,L2,L1)ŒIþ F(,L2,L1)ç F21Y : F(,L1,L2)çêF(,L2,L1)ÒI F(,L3,L1)çX(,L1)êQ(,L1,JF)êF(,L2,L1) : F(,L1,L3)çêF(,L3,L1)J F(,L3,L1)çX(,L1)êQ(,L1,JF)êF(,L2,L1) : F(,L1,L3)çêF(,L3,L1)^J F(,L4,L2)çX(,L2)êQ(,L2,JF)éF(,L2,L1) : F(,L2,L4)çêF(,L4,L2)¤J& F(,L4,L2)çX(,L2)êQ(,L2,JF)éF(,L2,L1) : F(,L2,L4)çêF(,L4,L2)ÖJ0  UPDATE THE SUM OF FORCES ON ADJOINING LINKSàJ:  ª
æJD Ž&KN  *********************************************************fKX  SUBROUTINE FGUIDE -DYNAMIC ANALYSIS OF THE ROTATING GUIDE¦Kb  *********************************************************åKl N1çG(I,):N2çG(I,):N3çG(I,):MçG(I,):L1çG(I,):L2çG(I,)(Lv L3çG(I,):L4ç G(I,):N4çG(I,
):N5çG(I,
):N6çL(L3):N7çL(L4)_L€ ‹ SHOW$ç"Y" Í ‘"Dynamic analysis - rotating guide"L… NTEMPçN4 : LTEMPçL1 :  ”ŸL† NTEMPçN5 : LTEMPçL2 :  ”ÙLŠ R(L2)çG(I,):B(N3)çG(I,):S(N4)çG(I, ):B(N4)çG(I, )M” N5çG(I,
):S(N5)çG(I,):B(N5)çG(I,)EMž B(N4)çB(N4)ë9ú{:B(N5)çB(N5)ë9ú{:Z(N3)ç T(L3)éB(N3)ë9ú{uM¨ X(,L1)çM(L1)ëP(,N4):X(,L1)çM(L1)ëP(,N4)¥M² X(,L2)çM(L2)ëP(,N5):X(,L2)çM(L2)ëP(,N5)ÛM¼ X4çP(,N4)êP(,N3):XXçX4:Y4çP(,N4)êP(,N3):YYçY4NÆ FXçQ(,L1,JF):FYçQ(,L1,JF):S4XF1çÑX(XX,YY,FX,FY)ANÐ FXçX(,L1):FYçX(,L1):S4XM1çÑX(XX,YY,FX,FY)NÚ C(L3,L1)ç I(L1)ëA(L1)éS4XM1êS4XF1êQ(,L1,JF)êQ(,L1,JF):C(L1,L3)çêC(L3,L1)»Nä TXçÿŒ(Z(N3)):TYçÿ‰(Z(N3)):NXçêTY:NYçTXéNî R2XçR(L2)ëÿŒ(T(L2)) : R2YçR(L2)ëÿ‰(T(L2))Oø X5çP(,N5)êP(,N2):XXçX5:Y5çP(,N5)êP(,N2):YYçY5UO
FXçQ(,L2,JF):FYçQ(,L2,JF):S5XF2çÑX(XX,YY,FX,FY)…O
FXçX(,L2):FYçX(,L2):S5XM2çÑX(XX,YY,FX,FY)»O
EEçêI(L2)ëA(L2)éQ(,L2,JF)éQ(,L2,JF)éS5XF2êS5XM2õO
FFç X(,L1)ëTXéX(,L1)ëTYêQ(,L1,JF)ëTXêQ(,L1,JF)ëTY P*
DETçêR2XëTXêR2YëTY+P4
 COMPUTE THE JOINT FORCESgP>
F(,L2,L1)ç (EEëTYêR2XëFF)ìDET : F(,L1,L2)çêF(,L2,L1)£PH
F(,L2,L1)ç(êR2YëFFêEEëTX)ìDET : F(,L1,L2)çêF(,L2,L1)éPR
F(,L3,L1)çX(,L1)êQ(,L1,JF)êF(,L2,L1) : F(,L1,L3)çêF(,L3,L1)/Q\
F(,L3,L1)çX(,L1)êQ(,L1,JF)êF(,L2,L1) : F(,L1,L3)çêF(,L3,L1)uQf
F(,L4,L2)çX(,L2)êQ(,L2,JF)êF(,L1,L2) : F(,L2,L4)çêF(,L4,L2)»Qp
F(,L4,L2)çX(,L2)êQ(,L2,JF)êF(,L1,L2) : F(,L2,L4)çêF(,L4,L2)ìQz
 UPDATE EXTERNAL LOADS ON ADJOINING MEMBERSöQ„
 ª
üQŽ
Ž7R˜
 ****************************************************pR¢
 SUBROUTINE FGEARS - DYNAMIC ANALYSIS OF SPUR GEARS«R¬
 ****************************************************íR¶
L1çG(I,) : L2çG(I,) : L3çG(I,) : L4çG(I,) : L5çG(I, ) -SÀ
N1çG(I,) : N2çG(I,) : N3çG(I,) : N0çG(I,) : L6ç G(I,)VSÊ
RHO1ç ÿ†(G(I,)) : RHO2ç ÿ†(G(I,)) ~SÔ
MODE ç  : ‹ G(I,) è  Í MODE ç ê»SÞ
N4çG(I,
) : N5çG(I,) : N6çL(L3) : N7çL(L4) : N8çL(L5)ïSè
‹ SHOW$ç"Y" Í ‘"Dynamic analysis - spur gears "Tí
NTEMPç N4 : LTEMPç L1 :  ”3Tî
NTEMPç N5 : LTEMPç L2 :  ”gTò
X(,L1)ç M(L1)ëP(,N4) : X(,L1)ç M(L1)ëP(,N4)›Tü
X(,L2)ç M(L2)ëP(,N5) : X(,L2)ç M(L2)ëP(,N5)åTXXç P(,N5)êP(,N2) : YYç P(,N5)êP(,N2) : FXç X(,L2) : FYç X(,L2) UA2ç I(L2)ëA(L2) é ÑX(XX,YY,FX,FY)YUFXç Q(,L2,JF) : FYç Q(,L2,JF):B2ç Q(,L2,JF)éQ(,L2,JF)éÑX(XX,YY,FX,FY)fU$C2çA2êB2’U.‹ C2 è  Í ANGç T(L5) é (Z ê )ë9ú{¾U8‹ C2 æç Í ANGç T(L5) é (Z é )ë9ú{øUBCAç ÿŒ(ANG) : SAç ÿ‰(ANG) :  ang= pressure directionVLCTç ÿŒ(T(L2)) : STç ÿ‰(T(L2))TVV FC= CONTACT FORCE ALONG PRESSURE LINE FROM L1 TO L2…V` MODE M DETERMINES DIRECTION OF RHO2 VECTOR‹VjªVt COMPUTE THE JOINT FORCES¹V~CONç 9ú{ßVˆFCç êMODEëC2ì(RHO2ëÿ‰( ‡ëCON))ýV’F52ç ÿ†(FCëÿŒ( ‡ëCON))-WœF52Xç êF52ëÿŒ(T(L5)) : F52Yç êF52ëÿ‰(T(L5))UW¦F(,L5,L2)ç F52X : F(,L5,L2)ç F52Y‰W°F(,L2,L5)çêF(,L5,L2) : F(,L2,L5)çêF(,L5,L2)½WºF(,L5,L1)çêF(,L5,L2) : F(,L5,L1)çêF(,L5,L2)ñWÄF(,L1,L5)çêF(,L5,L1) : F(,L1,L5)çêF(,L5,L1)XÎF(,L6,L2)ç X(,L2)êFCëCAêQ(,L2,JF)êF52XMXØF(,L6,L2)ç X(,L2)êFCëSAêQ(,L2,JF)êF52YXâF(,L2,L6)çêF(,L6,L2) : F(,L2,L6)çêF(,L6,L2)°XìF(,L1,L2)ç FCëCA : F(,L1,L2)ç FCëSAäXöF(,L2,L1)çêF(,L1,L2) : F(,L2,L1)çêF(,L1,L2)Y UPDATE THE EXTERNAL LOADS ON ADJOINING MEMBERShY
FXç F(,L5,L1) : FYç F(,L5,L1) : XXç P(,N1)êP(,N4) : YYçP(,N1)êP(,N4)¦YQ(,L1,JF)ç Q(,L1,JF) é FX : Q(,L1,JF)ç Q(,L1,JF) é FYÓYQ(,L1,JF)ç Q(,L1,JF) é ÑX(XX,YY,FX,FY)Z(FXçF(,L2,L1):FYçF(,L2,L1):XXçP(,N0)êP(,N4):YYçP(,N0)êP(,N4)WZ2Q(,L1,JF)ç Q(,L1,JF) é FX : Q(,L1,JF)ç Q(,L1,JF) é FYZ<Q(,L1,JF)çQ(,L1,JF)éÑX(XX,YY,FX,FY)ÈZFFXç F(,L2,L6):FYçF(,L2,L6):XXçP(,N2)êP(,N5):YYçP(,N2)êP(,N5)çZPQ(,L6,JF)çQ(,L6,JF) é FX[ZQ(,L6,JF)çQ(,L6,JF) é FY0[dQ(,L6,JF)çQ(,L6,JF)éÑX(XX,YY,FX,FY)6[nŽ[x ******************************************************************»[‚ SECTION TO DEFINE EXTERNAL LOADS IN POSTION JF\Œ ******************************************************************K\– Q(1,L,J)= SUM OF THE X-COMPONENTS OF THE ACTIVE FORCES ON LINK Ls\  Q(2,L,J)= Y-COMPONENTS¾\ª Q(3,L,J)= DxF PRODUCT OF ACTIVE EXTERNAL FORCES Q ABOUT CG OF LINK L]´ Q(4,L,J)= SUM OF TORQUES ON LINK L - EXCEPTING T0 ON INPUT LINK]¾‹ ONCE$ç "T" Í Ž-]Ë A$ èæ "D" Í ŽP]ÈDOT$ç "." : PNTç Ø(PROB$,DOT$)w]Ò‹ PNT ç  Í EXLD$ç PROB$ é ".XLD"¥]Ü‹ PNT èæ  Í EXLD$ç ÿ(PROB$,PNT) é "XLD"Å]æ‚ Jç  Ì NPOS : ‚ Lç  Ì NMÿ]ðQ(,L,J)ç  : Q(,L,J)ç  : Q(,L,J)ç  : Q(,L,J)ç 
^úƒ L : ƒ J%^‹ READXLD$ç "Y" Í Ž3^À : Ê ,9^"‘Y^,‘"Reading data file ";EXLD$_^6‘—^;‘" EXTERNAL LOAD COMPONENTS AT SPECIFIED POINTS"Ñ^@‘" Pos Mem Point Fx Fy Torque "ð^T• § ‰  : º "I",#,EXLD$_h… #,J,L,N,TEMP1,TEMP2,TEMP3-_j‹ Jç î Lç î Nç Í Â;_l• § ‰ R_r‘ × "#####";J,L,N;{_|‘ × " #.####^^^^";TEMP1;TEMP2;TEMP3 _‹ ÿ£() Í ‘"End-of-file" : ‰ ‹ª_†‰ hÑ_‘"Press to continue ..."î_šQ$ç Þ : ‹ ÿ’(Q$)ç Í šô_¤‘`®» # : READXLD$ç "Y" : ŽV`‘:‘"External Loads file not defined ... Setting EXLD$= NULL.XLD"ˆ`Ä‘:‘"Only INERTIA FORCES due to accelerations"¿`Å ‘"will be included in the dynamic analysis."Õ`ÇEXLD$ç "null.xld"ÿ`Ì‘:‘"Press to continue ...";aÖQ$ç Þ : ‹ ÿ’(Q$)ç Í Ö*aà‘ : ‘ : Ž0aŽja” Subroutine to compute Q-array with individual loads až Return if Position Number J=0 in the *.XLD fileºaл # : º "I",#,EXLD$ÝaÕ‹ EXLD$ç "null.xld" Í » # : Žñaä‹ ÿ£() Í ‰ \ÿaæ• § ‰ \%bé… #, JXLD,LXLD,NXLD,FX,FY,TORQUE:bî‹ JXLD ç  Í ädb‹ JXLDçJF î LXLDçLTEMP Í * :¡ ‰ äœb*XXç P(,NXLD)êP(,NTEMP) : YYç P(,NXLD)êP(,NTEMP)Âb4Q(,LTEMP,JF)ç Q(,LTEMP,JF) é FXèb>Q(,LTEMP,JF)ç Q(,LTEMP,JF) é FYcHQ(,LTEMP,JF)ç Q(,LTEMP,JF) é ÑX(XX,YY,FX,FY)EcRQ(,LTEMP,JF)ç Q(,LTEMP,JF) é TORQUEOcW‰ äŒc\FXLD$ç "##########.##" : ‹ SHOW$ç"Y" Í ‘ "Member";LTEMP;da‹ SHOW$ç"Y" Í ‘ "Ext-Fx=";Q(,LTEMP,JF);"Ext-Fy=";Q(,LTEMP,JF);"Ext-T=";Q(,LTEMP,JF);"Ext-DxF=";Q(,LTEMP,JF)dfŽ8dp‹ SHOW$ç"Y" Í ‘ "File ";EXLD$;" is empty" : ŽZdÀ CONTINUE or QUIT subroutinewdÅQ$ç Þ : ‹ ÿ’(Q$)ç Í ò½dÊ‹ SHOW$ç"Y" Í ‘ : ‘"Press to continue ... to quit";ÚdÔQ$ç Þ : ‹ ÿ’(Q$)ç Í ÔødÞ‹ Q$ç ÿ–() Í Š "MECHAN"þdè‘eòŽÿ

  3 Responses to “Category : Science and Education
Archive   : MECHAN93.ZIP
Filename : DYNAN.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/