AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf

上传人:proposalcash356 文档编号:422286 上传时间:2018-11-06 格式:PDF 页数:15 大小:560.46KB
下载 相关 举报
AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf_第1页
第1页 / 共15页
AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf_第2页
第2页 / 共15页
AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf_第3页
第3页 / 共15页
AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf_第4页
第4页 / 共15页
AGMA 90FTM11-1990 Multiple Iteration- Respectable Trial-and-Error《多重迭代.大量反复试验和误差》.pdf_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、90 FTM 11Multiple Iteration-Respectable Trial-and-Errorby: Meriwether L. Baxter, Penfield, New YorkAmerican Gear Manufacturers AssociationI IIIIIIII ITECHNICAL PAPERMultiple Iteration - Respectable Trial-and-ErrorMeriwether L. Baxter,Penfield, New YorkThe Statements and opinions contained herein are

2、 those of the author and should not be construed as anofficial action or opinion of the American Gear Manufacturers Association.ABSTRACT:“Trial-and-error“ was once a dirty word. Now, with computers, it has become the most valuable tool inengineering calculation. The procedure described in this paper

3、 permits any number of input variables (sayA,B,C) to be systematically varied until an equal number of results (say X,Y,Z) are zero, regardless of thecomplexity of the equations relating A,B,C to X,Y,Z. It has been used successfully by the writer for up toseven variables.This paper is not concerned

4、with the structure of the computer program representing this procedure, butrather with the kinds of engineering problems that can use it, and how it can be used as a subroutine inengineering programs.Two actual gear applications will be described. There will also be a discussion of problems ofnon-co

5、nvergence that may arise, and the necessity for good starting values.The program is written in elementary BASIC, so that it can be read and modified by the user if desired.Copyright 1990American Gear Manufacturers Association1500 King Street, Suite 201Alexandria, Virginia, 22314October, 1990ISBN: 1-

6、55589-563-8MULTIPLE ITERATIONRespectable Trial-and-ErrorMeriwether L. Baxter, Gear Consultant86 New Wickham DrivePenfield, NY 14526INTRODUCTION The impossible cases include transcendentalfunctions such as the arc involute, and veryTrial-and-error has been used since earliest long and complicated pro

7、grams such as aretimes to solve difficult problems, and is, of sometimes found with hypoid and wormcourse, still in use. An example is the “guess- gearing problems.and-divide“ method of getting a square root,used with the old mechanical calculators, and The engineer may decide that while theon moder

8、n computer chips, equations can probably be solved backward, hedoes not want to bother with it, and prefers toIteration is simply logical and orderly trial-and- use iteration. Furthermore, there are usuallyerror. It is laborious and time-consuming multiple solutions to gear geometry problems,when do

9、ne by hand, but fast on a computer, so that it is difficult to know which signs to useand has become an important engineering tool. before radicals, or which quadrant to use forangles, With iteration the meaningful solutionMost engineers who write programs will have is forced by the starting values

10、chosen.used iteration at some time; but it is likely thatwriting the iteration section of the program GEAR GEOMETRY PROBLEMSbecame so complicated that the actualengineering problem and the principles There are two specific geometry problems thatinvolved became obscured. Use of the present the gear e

11、ngineer may be asked to solve thatprogram as a subroutine permits one to keep lend themselves to iterative solution.the main program in focus.The first is to find points on the tooth surfaceThis paper is not concerned with the iteration of the member conjugate to a generating gearmethod or program,

12、but rather with how to whose surface is know. In this case, theuse it effectively, rotative position of the generating gear isselected, and we need to find points on theTYPE OF APPLICABLE PROBLEMS line of contact.Generally, this method is used when we can Two parameters are required to specify a poi

13、ntcalculate from input variables A,B,C, - to on the generating gear tooth surface, such asanswers X,Y,Z, -, but it is impossible or the radius and the axial position; with theseimpractical to solve in reverse, specified we can calculate the location of thepoint and the direction of the surface norma

14、l.The procedure for finding a contact point is In the fourth box the errors E(1), E(2), etc.therefore to select the value of one of these have been calculated and we GOTO theparameters (say the position along the face), subroutine at 10000, where the errors areand vary the other parameter (the radiu

15、s) until tested and iteration proceeds by going tothe basic law of gear tooth contact is satisfied. NEXT N if necessary. After NEXT N theThus, only single iteration is usually required iteration has failed if KE=2 or 0, and thefor solving this problem, programmer should GOTO an appropriatestatement

16、number. Otherwise, the iterationThe second problem is much more difficult; has succeeded and calculation may proceed.this is to fmd the point of contact betweenknown non-conjugate surfaces. Here again the ITERATION FAILURESrotative position of one member is selected;but we do not know the location o

17、f the Iteration can fail in three ways. If KE=0,contact point on either member, or the then convergence did not occur in therotative position of the second member. Thus, specified number of tries.there are five input parameters that can bechangedto achievecontact. If KE=2, the procedure for solvingN

18、Vsimultaneous equations found the equations1. The points on the two members must were incompatible with the variable valuescoincide in space (three tests will existing at that time. More about this later.determine this).The third failure type can be program2. The surface normals at that point must s

19、toppage with the error message “Illegalcoincide (two more tests). Function Call“, usually indicating that theiteration is vacillating wildly.Thus, in general, a five-fold iteration isrequired. The second example given later isof FAILURE CAUSESthis type.1. Bad data, or programming error. Find andHOW

20、TO USE THIS SUBROUTINE fix.2. Poor starting values. This is by far theRefer to Figure 1, whichis a flow chart of a most likelycause of failure. It is essentialprogram using this subroutine. The that the iterationbe a “downhillrun“ fromprocedures in the boxes are used in the the starting values to so

21、lution.iteration; the rest is your program. Fortunately,in mostengineeringproblemswe can estimate the starting values fairlyThe first box shows the dimension statements accurately.required for iterating on up to ten variables. 3. Poor logic:a. No solution exists. Why? (After all,The second box repre

22、sents the calculations two reasonable gear tooth surfacesrequired to get good starting values for the usuallycontactsomewhere,evenifoffvariables. These are to be specified as V(i), the tooth boundaries).V(2),etc. b. Multiplesolutionscloseto eachother. This may occur, for example,The third box contro

23、ls the iteration, near a profile cusp in undercut orfillet calculations. A different way to1. NV is the number of variables, attack the problem will be needed.2. N, NI, KIE are set as shown, c. The variables chosen do not3. VS is the initialvariablestep. It should effectivelycontrolthe errors.be sma

24、ll, but large enough to have ameaningful effect on all results001 is It is not generally effective to widenreasonable, tolerances, change the starting step, or go to4. VT is the allowableerror in each result, double-precision to correct failures. Try toFor much gear engineering .00001 is small find

25、the real cause.enough.5. The FOR statement starts the iteration; N SAMPLE PROBLEM #1is the number of the try; 15*NZ is thenumber of triespermitted. If the iteration Figure 2 is a listing of a simple program tohas not then succeeded there is a serious calculate the are involute. There is, of course,p

26、roblem; failures will be discussed later, only a single variable.6. The ON NI+I GOTO statement sendsthe iteration to the first appearance of The program itself runs from line 100 to lineeach variable; the first address should be 520. The iteration subroutine runs from 10000repeated, to 10800,andhas

27、beenMERGEDintothebasic program to make a runnable unit.It will be seen that the sections of this Line 170 gives the dimension statements forprogram correspond with the blocks in the iteration.flowchart of Figure 1. Only a few commentsare required: Lines 200-300 relate to the fixed data.1. The starti

28、ng value equation in line 310 is Line 310 accepts the desired pinion rotativebased on the first term of a power series, position.Its effectiveness can be judged from theresults in Figure 3. Lines 500-560 calculate the starting values.2. Lines 400 to 410 constitute the calculation The equations are f

29、airly crude, based onblock. In line 380 it will be seen that the contact near center, but it will be seen fromnumber of the first entry line is repeated, the results that they are sufficient.This should always be done.3. In line 500 the iteration has been Lines 600-630 control the iteration. Note th

30、atsuccessful and the result is printed. The in the GOTO statement the first entry isprogram then proceeds by going back for repeated. This is necessary; there will alwaysa new involute function, be NV+I line numbers in this statement.Figure 3 gives the results of this program for Lines 700-1060, plu

31、s the subroutine starting ata range of involute functions from0 to 1.4. It 5000, contain the calculations for errors E(1)will be observed that the differences between to E(5), after which we go to the iterationthe starting value and the answer become subroutine at 10000.larger and larger, until fail

32、ure occurs at aninvolute function of 1.4. A different Lines 1130 to 1180 print results and continue.procedure, or starting value equation istherefore required for large angles. Figure 6 shows results of runs of this program.Pinion angular positions were varied from-6SAMPLE PROBLEM #2 degrees to cent

33、er in two degree intervals; thenthe pinion angle was increased by largerProblem 2 is much more complicated, and intervals until failure finally occurred with ainvolves five variables, and a program to track pinion angle of 90 degrees, where contactthe point of contact between spherical tooth between

34、 the spheres became impossible. Thesurfaces operating on parallel axes. Input data fairly crude formulas for the starting valuesare: wereneverthelessgoodenoughforthiswideC center distance range of positions.X axial distance between sphere centers The reader may recognize that this particularL(I) axi

35、s to sphere center (I=1 for pinion, example can be solved directly by considering2 forgear) it as a planarfour-barlinkage.However,byR(I) sphere radius introducing an angle between the shafts,iteration would be required.For each run, the angular position of thepinion sphere center AL(1) is also speci

36、fied. CONCLUSIONFigure4 showsthe arrangement. It is hoped that this programwillbe of valueto gear engineers, by permitting theirThe five variables that are to be altered to get concentration on gearing principles rather thancontact are: computation techniques.AA(I) latitude angle of point on sphereA

37、B(I) longitude angle of point on sphereAL(2) angular position of gear sphere centerThe requirements for contact are that thepoint on the pinion sphere coincide with thegear point:VPP(K) = VGP(K)(vectors from pinion center to point)and that the surface normais coincideVPN(K) -VGN(K)(normal vectors -

38、only two needed)Figure 5 is a listing of this program.Multiple IterationFlow ChartI Dimension Statements IMA(IO,IO),NB(IO,20),V(IO),DV(IO),E(IO),EO(IO)IData InputGeneral Program,II Calculate Starting Values IV(1), V(2), etcI Iteration ControlNV= (number of variables)N=I: NIffiO:gEffiO:VS=.O01; VT=.O

39、0001FOR N=I TO I5*NVON NI+I GOTO (program entries for V(1), V( ), etc.)ICalculations for IterationErrors E(1)! E(2), etc.ITest and IterationGOSUB I0000NEXT NIF KB = 2 Matrix Inversion FailedIF KE = 0 Iteration FailediIteration PassedProceed with ProgramFIGURE 1I A100 LPRINT TAB(30); “INVOLUTE.BAS“11

40、0 LPRINT TAB(30); “CALCULATION OF ARC-INVOLUTE“120 LPRINT TAB(30); “BY NERIWETHER BAXTER“130 LPRINT TAB(30); “VERSION OF 5/13/90“150 DEFINT I-K, N18o AR - 48 / ATN(1)200 DIN MA(IO, 10), MB(10, 20), V(10), DV(10), E(lO), EO(10)250 LPRINT : LPRINT TAB(30); “DATA INPUT“260 INPUT “INVOLUTE FUNCTION“; FI

41、NV270 LPRINT TAB(20); “INVOLUTE FUNCTION = “; FINV300 STARTING VALUE IS ANGLE IN DEGREES310 V(1) = (3 * FINV) _ .333 * AR320 LPRINT TAB(20); “STARTING ANGLE IS “; V(1)350 START OF ITERATION380 NV = 1: N = 1: NI = O: KE = O: VS = .001 VT = .00001370 FOR N = 1 TO 15 * NV380 ON NI + 1GOTO 400, 400400 A

42、NGLE = V(1)410 E(1) = TAN(ANGLE / AR) - (ANGLE / AR) - FINV450 GOSUB 10000460 NEXT N470 IF KE = 2 THEN LPRINT “MATRIX INVERSION FAILED“: STOP490 IF KE = 0 THEN LPRtNT “ITERATION FAILED“: STOP500 LPRINT TAB(20); “FINAL ANGLE IS “; ANGLE520 GOTO 260 ITERATION COMPLETED10000 ITERATE.BANlO010 ERROR TEST

43、10020 K4 = 010030 FOR IN = 1 TO NV10040 IF ABS(E(IM) VT THEN IM = NV: K4 = 110050 NEXT IN10060 IF K4 = 0 THEN N = 15 * NV: KE = 1: OOTO 10080 TESTS PASSED10070 OOTO 1009010080 RETURN10080 GENERAL ITERATION SUBROUTINE10100 IF N = 1 THEN GOTO 1022010110 FOR IN - 1 TO NV10120 IF ABS(DV(NI) ZN THEN GOTO

44、 1063010600 NEXT IN10610 N = 15 * NV: KE = 2: GOTO 1008010630 FOR JN = KN TO 2 * NV10640 NT = NB(IN, JN)10650 MB(IN, JN) = NB(KN, JN)10660 NB(KM, JN) = NT10670 NEXT JM10680 GOTO 1039010690 FOR IN = 1 TO NV10700 FOR JN = 1 TO NV10710 NB(IN, JM) = NB(IN, JM + NV)10720 NEXT JN, IN10730 GOTO 1075010740

45、, MATRIX MULTIPLICATION10750 FOR IN = 1 TO NV10760 OV(IN) = 010770 FOR JM = 1 TO NV10780 DV(IN) = DV(IM) + ME(IN, JN) * E(JM)10790 NEXT JN, IN10800 GOTO 102006A_“ INVOLUTE.BASCALCULATION OF ARC-INVOLUTEBY MERIWETRER BAXTERVERSION OF 5/13/90DATA INPUTINVOLUTE FUNCTION = 0STARTING ANGLE IS 0FINAL ANGL

46、E IS 0INVOLUTE FUNCTION = .2STARTING ANGLE IS 48.33336FINAL ANGLE IS 44.13795INVOLUTE FUNCTION = .4STARTING ANGLE IS 60.88215FINAL ANGLE IS 52.93411INVOLUTE FUNCTION = .6STARTING ANGLE IS 69.68324FINAL ANGLE IS 58.26474INVOLUTE FUNCTION = .7STARTING ANGLE IS 73.35363FINAL ANGLE IS 60.28598INVOLUTE F

47、UNCTION = .6STARTING ANGLE IS 76.88898FINAL ANGLE IS 62.02245INVOLUTE FUNCTION = 1STARTING ANGLE IS 82.60455FINAL ANGLE IS 64,87416INVOLUTE FUNCTION = 1.2STARTING ANGLE IS 87.77511FINAL ANGLE IS 67.13865INVOLUTE FUNCTION = 1.4STARTING ANGLE IS 92.39844ITERATION FAILEDFigure 3100 , SPHERES.BAN110 LPR

48、INT TAB(30); “TOOTH CONTACT WITH SPHERICAL SURFACES“120 LPRINT TAB(30); “FOR AGMA BY NERIWETHER BAXTER“130 LPRINT TAB(30); “VERSION OF 5/21/90“140 LPRINT TAB(35); DATES150 LPRINT160 DEFINT I-K, N170 DIM NA(10, 10), NB(10, 20), V(10), DV(10), E(10), EO(IO)1s0 DIM L(2), e(2), VNI(3), VN2(3), VNS(3), V

49、N4(3), VAI(3), VA2(3), re(3)190 AR = 45 / ATN(1) RADIAN CONVERSION CONSTANT200 DATAINPUT210 INPUT “CENTER DISTANCE“; C220 INPUT “AXIAL SEPARATION“; X230 INPUT “AXIS TO CENTER; PINION, GEAR“; L(1), L(2)240 INPUT “SPHERE RADIUS; PINION, GEAR“; R(1), R(2)250 LPRINT TAB(30); “DATA“260 LPRINT TAB(5); “CENTER DISTANCE“; TAB(40); C270 LPRINT TAB(5); “AXIAL SEPARATION“; TAB(40); X280 LPRINT TAB(S); “AXIS TO CENTER“; TAB(30); L(1); TAB(50); L(2)290 LPRINT TAB(5); “SPHERE RADIUS“; TAB(30); R(1); TAB(50); R(2)300 LPRINT310 INPUT “PINION ROTATION FROM CENTER“; AL(1)320 LPRIN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国际标准 > 其他

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1