Home
The design of a software program for the simulation of a two
Contents
1. eZ ag al el a a a a n a a i 5000 FORMAT Z s t a a F8 a al a a a al a n a a a a i END Appendix E Subroutine OUTPUT Input situation of the mechanism centrode Femoral centrode contact profile Femoral contact profile 5X F9 4 4X F8 3 4X F8 3 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 26 Appendix F Subroutine PARA Appendix F Subroutine PARA SUBROUTINE PARA N NMAX J ERROR R SA SB A H XO L1 L2 L3 L4 L TC FC T F TIBIAL PHI kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS SUBROUTINE CALCULATES THE EFFECTS OF VARIATIONS OF SEVERAL PARAMETERS THIS IS DONE BY MAKING THEM A CERTAIN PERCENTAGE C SMALLER OR GREATER kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS dee de deck de eee eee e ecce eee dece eee e desee desee eee kk QOO0O00000000 INTEGER N 3 NMAX J ERROR DOUBLE PRECISION R SA 2 3 SB 2 3 A 3 H 3 X0 3 DOUBLE PRECISION L1 L2 L3 L4 L NMAX 3 DOUBLE PRECISION TC 2 NMAX 3 FC 2 NMAX 3 DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 DOUBLE PRECISION PHI NMAX 3 LOGICAL TIBIAL kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE LOCAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOaGOOoOoo0 INTEGER I C
2. A parabola is a second order polynomial and can be described by y a x xy h 44 xo A is the displacement from the origin O 0 0 and a determines whether the curve is convex or concave and also the convexity or concavity Differentiation of 44 with respect to x yields y 2a z x 45 In order to be able to solve this problem first has to be eliminated from 38 and 39 This yields x y t Oy x X 46 Substitution of 44 and 45 in 46 yields 47 2a x 6a x x 1 2ay 2ah 6a3x5 x 2ahx 2ax y 2a x x 0 M The same equation can be represented as Axe A X Ax SAS 0 48 with A 2ax y 2ahx 2a 2x9 x A 1 2ay 2ah 6a 2x5 49 A 6a7x A 2a 50 This is a cubic equation which has to be solved numerically How this will be done will be dicussed in section 9 3 3 Once x is known can be calculated with l Gry a x xy hyj4a x x i 51 The design of a software program for the simulation of a two dimensional model of the knee joint 22 Mathematical analysis 8 2 2 The angle y At this point of the mathematical analysis it is necessary to switch over to a discretized formulation So from here on we will also use the index i at some of the variables These variables however are subject to the same relations as before Before x which is the angle between the vector n and the tangent of the tibial centrode can be calculated the vector c tangent to the tibial centrode has t
3. 2 More positions one by one PRINT 3 Back to the main menu PRINT PRINT Enter number of your choice READ CHAR CALL CLEAR IF CHAR EQ 1 THEN GOTO 18 ELSEIF CHAR EQ 2 THEN GOTO 19 ELSEIF CHAR EQ 3 THEN GOTO 16 ELSE A o9 ww O0 OS 4 37 Q0000000000000 QOQ000 A Q0000 GOTO 17 ENDIF Appendix H Subroutine MOVIE kkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkk kxk kkkkkkkkkkkkkkkkkkk kk kkkkkkkkkkkkkk k kkkkkkkkkkk DRAWING 1 3 NUM MECHANISMS IN ONE PICTURE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkk DRAWING OF TIBIAL CENTRODE kkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkk JO6YAF MOVES PEN TO A GIVEN POINT JO6YCF DRAWS LINE BETWEEN TWO POINTS CALL JO6YQF 1 CALL JOGYAF TC 1 2 J TC 2 2 J DO 5 I 3 N J 1 CALL JO6YCF TC 1 I J TC 2 1 J CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkk DRAWING OF TIBIAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YQF 3 CALL JO6YAF T 1 2 J T 2 2 J DO 6 I 3 N J 1 CALL JO6YCF T 1 I J T 2 I J CONTINUE DO 9 II 1 NUM 3 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF FEMORAL CENTRODES deck dee dede ee dede dece dee e dee e eee deck ee ee ee ke CALL JO6YQF 2 CALL JO6YAF NEFC 1 2 J II NEFC 2 2 J II DO 7 I 3 N J 1 CALL JO6YCF NEFC 1 I J II N
4. SA 2 J PRINT X coordinate of B READ SB 1 J PRINT Y coordinate of B READ SB 2 J kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CHOISE AND INPUT OF TIBIAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL CLEAR PRINT d PRINT PRINT 1 is a straight line PRINT 2 is a parabole z PRINT PRINT Enter number of your choice READ UU IF UU LT 1 OR UU GT 2 GOTO 3 TIBIAL FALSE IF UU EQ 1 TIBIAL TRUE CALL CLEAR IF TIBIAL THEN PRINT d PRINT A straight line is described by PRINT f PRINT Y A X H 4 PRINT PRINT GIVE A 0 5 lt A lt 0 5 READ A J PRINT GIVE H 50 lt H lt 50 READ H J ELSE The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 12 Appendix B Subroutine INPUT PRINT PRINT A parabole is described by t PRINT PRINT y A X X0 2 H PRINT PRINT GIVE A 0 01 lt A lt 0 01 READ A J PRINT GIVE XO 0 lt XO lt 100 READ XO J PRINT GIVE H 50 lt H lt 50 READ H J ENDIF CALL CLEAR C C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kk C INPUT OF NUMBER OF INCREMENTS ACCURACY C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkk kkk C 4 PRINT Give the number of increments 10 200 READ N J
5. 1 y Since the tibial centrode already is calculated the vector r is known Now vector r and have to be found such that F n F 32 where F x ty xe 33 and TxE 19 7 34 Substitution of 31 33 and 34 in 32 yields xe y x9e ye 8 x y 35 ley Now 35 can be divided into two components I gt x t X 36 rw y x y 37 1 y ee The design of a software program for the simulation of a two dimensional model of the knee joint 20 Mathematical analysis In these equations y can be expressed in terms of x Herewith there are two equations with two unknowns x and So the variable can be found These results now will be used for different types of tibial contact profiles 8 2 1 1 Tibial contact profile is a straight line A straight line is described as in the next equation y ax h 38 Differentiation of 38 with respect to x yields y a 39 Substitution of 38 and 39 in 36 and 37 results in a E E 40 1 2 and ax h y 41 1 a The next step is to solve and x from 40 and 41 This yields c PIA TE TE haa A 42 15a 1 a A special case is a straight horizontal line a 0 Then the results are XX I y h 43 The design of a software program for the simulation of a two dimensional model of the knee joint 21 Mathematical analysis 8 2 1 2 Tibial contact profile is a parabola
6. CF 2 SIN CHI F 2 1 7 FC 2 I J 4L I J S CF 1 SIN CHI CF 2 COS CHI 1 CONTINUE c ELSE c C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkk c CALCULATION OF FEMORAL CONTACT PROFILE c WITH TIBIAL CONTACT PROFILE IS A PARABOLE Cc kkkkkkkkkkkkkk kkkkkkkk kkkkkkkkkk kkkkkkkkkkkk kkkkkkk c C kkkkkkkkkkkkkkkkk xkkkkkkkkkkkkkkkkkkkkkkkkk kkkk kx x k c DETERMINATION OF STARTING POINT FOR ITERATION C kkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkk k kkkk kkk c I 2 DD ABS XO J TC 1 I J 2 I I 1 IF I GT N J 1 THEN SP N J 1 GOTO 3 ENDIF E DD DD ABS XO J TC 1 I J IF DD LT E THEN GOTO 2 ELSE SP I 1 ENDIF C The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 19 Appendix D Subroutine FEMORA Cc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk k k c CALCULATION OF FEMORAL CONTACT PROFILE c FOR I SP TO 2 BACKWARD C kkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkk c 3 T 1 SP 1 J XO J U 1 I SP 4 IF I GE 2 THEN CALL CALC NMAX J I U A H XO TC FC T F L IFAIL ERROR IF IFAIL NE 0 THEN PRINT ERROR SUBROUTINE CO2AEF IFAIL IFAIL GOTO 6 ENDIF I I 1 GOTO 4 ENDIF c C KKK c CALCULATION OF FEMORAL CONTACT PROFILE c FOR I SP TO N 1 FORWARD C dk oko e oko ke e e e e e x e e e x e 6 6 A e kc ko k c k amp ke ko kckockokok c I SP 1
7. The design of a software program for the simulation of a two dimen sional model of the knee joint Report number 92 013 A by Niek van Nunen Frank Peters Eindhoven University of Technology December 1991 Summary Summary This paper describes the design of a software program for the simulation of a two dimensional model of the knee joint The purpose of the program is to train students in using and understanding the basics of parameter variation The joint is seen as a simple planar four bar mechanism with rigid links The analysis is divided into three parts First an exact problem definition is defined followed by a graphical analysis This graphical analysis is again the basis for the mathematical analysis the third part With the results of the mathematical analysis the software program is written which calculates the centrodes of the mechanism and given the tibial contact profile a straight line or a parabola it also calculates the femoral contact profile Furthermore it is possible to calculate the effects of the variations of parameters and a diagram which shows the slip ratio as a function of the flexion angle is drawn The most important reason to conclude that the model is correct is the written subroutine MOVIE which draws the mechanism and the four curves in several positions Finally a short description of the program is given as well as the program text itself It is recommended to run the program on
8. 0 0D0 CALL JO6YCF 35 0D0 70 0D0 CALL JO6YCF 75 0D0 85 0D0 CALL JOG6YCF 0 0DO 0 0DO CALL JO6YAF 80 0D0 90 0D0 CALL JO6YHF A 1 CALL JO6YAF 25 0D0 75 0D0 CALL JO6YHF B 1 CALL JO6YAF 10 0D0 30 0D0 CALL JO6YHF CROSSED MECHANISM 17 ELSE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PICTURE OF UNCROSSED MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF 100 0D0 0 0D0 CALL JO6YCF 75 0D0 85 0D0 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 28 ENDI CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL CALL IF TIBIAL ELSE CALL CALL CALL CALL CALL CALL CALL CALL F Appendix F Subroutine PARA JO6YCF 35 0D0 70 0D0 JOGYCF 0 0DO 0 0D0 JO6YAF 80 0D0 90 0D0 JO6YHF B 1 JO6YAF 25 0D0 75 0D0 JOGYHF A 1 JOGYAF 5 0D0 30 0D0 JO6YHF UNCROSSED MECHANISM 19 JO6YAF 10 0D0 10 0D0 JO6YHF 0 0 JO6YAF 100 0D0 10 0D0 JO6YHF P 100 0 10 JO6YAF 20 0D0 JO6YCF 17 0D0 JOGYCF 17 0D0 JO6YCF 20 0D0 JO6YAF 20 0D0 JO6YHF X 1 JOGYAF 0 0DO JO6YCF 0 0DO JO6YCF 2 0D0 JO6YCF 2 0D0 JOGYCF 0 0DO JO6YAF 10 0D0 20 0D0 JO6YHF Y 1 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT ee OR XR o oR OO Coe E
9. Figure 3 The two types of mechanisms and some of the parameters to be entered Whether the mechanism is a crossed or an uncrossed one The coordinates of the points A and B the coordinates of the points O and P are not variable O 0 0 and P 100 0 Whether the tibial contact profile will be described by a straight line or a parabole The parameters of the straight line or the parabole The straight line will be described by Y AX H with A the slope of the straight line and H the heigth of the line at X 0 The parabole will be described by Y A X X H with A the convexity concavity of the parabole X the x coordinate of the top of the parabole H the heigth of the top of the parabole The number of increments N When the user chooses option 1 at the main menu the choice out of three kinds of mechanisms will be given see figure 4 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 4 User s Manual TYPE OF MECHANISM 1 Anatomic realistic dimensions 2 Perspex model 3 Self made mechanism Enter number of your choice Figure 4 The menu which appears when 1 Input of a mechanism is chosen 3 2 1 1 Anatomic dimensions The parameters for a mechanism with anatomic realistic dimensions are stored in the program these parameters are The mechanism is a crossed one A 61 77 B 20 68 The tibial profile is a par
10. IF TC 1 I 1 J GT TC 1 I41 J7 WW 1 CT 1 WW TC 1 1 1 J TC 1 I 1 2 CT 2 WW TC 2 I 1 J TC 2 I 1 3 CF 1 WW FC 1 I 1 J FC 1 I 1 J CF 2 WW FC 2 I 1 J FC 2 I 1 J CHI PI ACOS NT 1 CT 1 NT 2 CT 2 SORT CT 1 CT 1 CT 2 CT 2 S SQRT CF 1 CF 1 CF 2 CF 2 F 1 I J FC 1 I J 4L I J S CF 1 COS CHI CF 2 SIN CHI F 2 I J FC 2 I J L I J S CF 1 SIN CHI CF 2 COS CHI 3 END c The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 23 Appendix E Subroutine OUTPUT Appendix E Subroutine OUTPUT QO00000000 QOOQOO Q000000000000000000000 OoO0000 SUBROUTINE OUTPUT N NMAX J SA SB L4 L TC FC T F VARIAT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS SUBROUTINE VISUALISES THE RESULTS OF THE CALCULATIONS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER N 3 NMAX J DOUBLE PRECISION SA 2 3 SB 2 3 L4 L NMAX 3 TC 2 NMAX 3 DOUBLE PRECISION FC 2 NMAX 3 T 2 NMAX 3 F 2 NMAX 3 LOGICAL VARIAT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE LOCAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER I DAT II DOUBLE PRECISION ZERO PARAMETER ZERO 0 0D0
11. L1 L1 L2 L2 L3 L3 L4 L4 2 L2 L3 C THETA I 2 ATAN CATHET SQRT CATHET CATHET CBTHET CBTHET CCTHET CCTHET CBTHET CCTHET IF I GT 2 THEN TEK THETA I THETA I 1 THETA I 1 THETA I 2 IF TEK LT 0 THEN N J I 1 C CALL CLEAR GAMMA ALPHA I 1 R 180 0D0 PI 50 PRINT 2000 PRINT 1000 PRINT 1000 It is not possible to calculate the full range PRINT 1000 of the flexion angle gamma for this system PRINT 1000 The program will calculate the centrodes and PRINT 1000 the femoral contact profile for PRINT 1000 PRINT 3000 GAMMA PRINT 1000 IL IF J EQ 1 THEN PRINT 1000 This mechanism will be drawn in WHITE l ELSEIF J EQ 2 THEN PRINT 1000 This mechanism will be drawn in RED l ELSE PRINT 1000 This mechanism will be drawn in GREEN IK The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 16 Appendix C Subroutine CENTRO ENDIF PRINT 1000 PRINT 1000 7 PRINT 2000 PRINT Press ENTER to continue CALL JO6WDF l GOTO 2 ENDIF ENDIF kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF TIBIAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Q0000 Cl LA SIN THETA I SIN THETA I PHI I J Q TC 1 1 J TC 2 I J C1 COS PHI I J C1 SIN PHI I J kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF FEMORAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk 000000 BE
12. McGraw Hill Book company 1964 4 dr G R Veldkamp Kinematica Scheltema amp Holkema Amsterdam 1970 ISBN 90 6060 502 0 5 A Huson C W Spoor and A J Verbout A Model of the Human Knee Derived from Kinematic Principles and Its Relevance for Endoprothesis Design Acta Morphologica Neerlando Scandinavica 27 1989 pp 45 62 6 Software used Wordperfect 5 1 NL Drawperfect 1 1 NL MS Fortran 5 0 Compiler NAG Workstation Library NAG PC Graphics library Norton Classic Editor version 1 5 All software used was retrieved from the Calculation Center Rekencentrum of the Eindhoven University of Technology 7 Hardware used Rembrant 386 AT with 80387 coprocessor VGA card with colour monitor This hardware was retrieved from the Department of Fundamental Research Faculty of Mechancal Engineering of the Eindhoven University of Technology i M M The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 13
13. NNAMX ANGLE BETWEEN TIBIAL LINK AND P B CAPHI VARIABLE CBPHI VARIABLE CCPHI VARIABLE TEK VARIABLE CATHET VARIABLE GAMMMA VARIABLE CBTHET VARIABLE CCTHET VARIABLE C1 DISTANCE POINT O TO TIBIAL CENTRODE BETA ANGLE ALPHA SALPHA L1AA DISTANCE FROM A TO FC DELTA ANGLE PHI BETA PI 3 14159265 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 14 ana QAAAAA ANANA QO0000 QOQO000 Appendix C Subroutine CENTRO kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF THE ANGLE SALPHA kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk SALPHA R ATAN SB 2 J SA 2 J SB 1 J SA 1 J kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF THE LENGTHS OF THE LINKS deedekckde de dede dede de dee de e dede dede dede dede dede ee e eee eee e Ll SORT SA 1 J SA 1 J SA 2 J SA 2 J L2 SQRT L4 SB 1 J L4 SB 1 J SB 2 J SB 2 J L3 SQRT SA 1 J SB 1 J SA 1 J SB 1 J SA 2 J SB 2 J SA 2 J7 8B 2 J I 0 I I 1 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF THE ANGLE ALPHA IN RADIANS de de se de de de de de de de de de de e de de se e de dee de de dede dede ede dee eee e eee dece eek ALPHA I 50 180 PI R I 1 N J 1 140 180 PI kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF THE ANGLE PHI deed de dee e dece dee deese dede eee dede e
14. which is defined as the ratio of the lenght segments of the two contact profiles over an interval of the flexion angle y The slip ratio can be defined in a more mathematical way as follows A segment of the tibial contact profile is defined by dl ibia y Trini TY HD iat Ey The length of the corresponding segment of the femoral contact profile is defined by dl oral D V F x i 1 F F i 1 Fy The slip ratio is now calculated by dla Also the average slip ratio is determined by calculating the ratio of the total lenghts of both the contact profiles The total lengths of the profiles are calculated by summation of dl and dl The results of these calculations are represented in a diagram where the ratio is set out against the flexion angle y M The design of a software program for the simulation of a two dimensional model of the knee joint 31 The programming 9 3 7 Subroutine MOVIE This last subroutine plots the mechanism and the four curves in several different positions This routine gives a clear view of the whole process It will play an important role in the model validation that is described in the next section The design of a software program for the simulation of a two dimensional model of the knee joint 32 Model validation 10 Model validation After the program text was entered and compiled for the used equipment and software see Lit 6 and 7 the program works sa
15. 1 J SA 2 J SA 2 J C DO 3 II 1 NUM III ROT 1 0DO II 1 NUM 1 N J 3 2 50 0D0 180 0D0 PI R The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 36 QOO000 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 17 NESA 1 J II NESA 2 J II TRANS 1 TRANS 2 Appendix H Subroutine MOVIE III 1 0D0 NIN 1 0D0 140 Ll L1 0D0 180 0D0 PI SALPHA COS PHI III J SIN PHI III J NESA 1 J II SA 1 J NESA 2 J II SA 2 J dede eee de dede dede e dede dede eee dee ee ee dee de deck e eee e dee dee e desee ke e CALCULATION OF THE NEW COORDINATES OF B AND THE FEMORAL CENTRODE AND CONTACT PROFILE deed eee dece e dee eee dece eek ek dee deeds eek ede eee dk ke kc NESB 1 J II NESB 2 J II i il Il SA 1 J TRANS 1 SBLO 1 J COS ROT SBLO 2 J SIN ROT SA 2 J TRANS 2 SBLO 1 J SIN ROT SBLO 2 3 COS ROT DO 4 I 2 N J 1 NEFC 1 I J II SA 1 J TRANS 1 FCLO 1 1I J COS ROT FCLO 2 I 7 SIN ROT NEFC 2 I J II SA 2 J TRANS 2 FCLO 1 I J SIN ROT FCLO 2 I J COS ROT NEF 1 I J II SA 1 J TRANS 1 FLO 1 I J COS ROT FLO 2 I J SIN ROT NEF 2 I J II SA 2 J TRANS 2 FLO 1 I J SIN ROT FLO 2 I J COS ROT CONTINUE CONTINUE PRINT PRINT PRINT 1 Several positions in one plot PRINT
16. CB CC 2 fT CA CA CB CC a sr m 9 Sw 9 2arctan CB CC 13 In section 8 1 2 these results will be discussed 8 1 1 2 The angle 0 a For the calculation of 6 a the following equation can be used LT L4 14 When the same procedure as in 7 until 13 is followed this results in 2 2 2 6 c asctan Ae LC o Ca CC as CB CC 2 2 2 6 a 2aretan CA C Co CC 16 CB CC where l 2 2 B5 h CA sna CB cosn CC cosa zl 19 09 UE L L 211 How these results can be interpreted and how they can be used will be explained in the next section in M The design of a software program for the simulation of a two dimensional model of the knee joint 14 Mathematical analysis 8 1 2 Interpretation of results As shown in the previous section there are given an angle o two solutions for and 0 What this means for the possible forms of the mechanisms is shown in figure 7 With the help of this figure it is easy to see that the solutions which have any fysical meaning are a and 8 o These two solutions are the positive angles since in both formulae 12 and 13 as in formulae 15 and 16 the terms CB CC appear to be negative So these two solutions will be used and o will vary between 50 and 90 in case of the uncrossed mechanism and between 230 and 90 in case of the crossed mechanism as already mentioned in section 7 1 1 Uncrossed m
17. DAT 7 I COUNTER II COUNTER DAT NUMBER OF OUTPUT DEVICE ZERO 0 0D0 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk SAVING DATA TO FILE KNEE DAT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk OPEN DAT FILE KNEE DAT STATUS UNKNOWN DO 2 II 1 J WRITE DAT 1000 SA 1 J SA 2 J SB 1 J SB 2 J WRITE DAT 3000 DO 1 I 2 N J 1 WRITE DAT 2000 I TC 1 I J FC 1 I J T 1 I J z F 1 I J L I J TC 2 I J FC 2 I J T 2 I J F 2 1 J CONTINUE CONTINUE ce cec c ce e ke e nk Kc ke ke ke ec kc koc kc kc Kckckckckckckckckocko ck koko ko koko kk ko k kk SETTING OF CURRENT LINESTYLE AND COLOUR kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk JOGYQF SETS THE CURRENT COLOUR JO6YRF SETS THE CURRENT LINESTYLE The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 24 Qa AAAA QOOOQO00000 aA OQO0000 Aa QOO000 w J 1 CALL JO6YQF J CALL JOGYRF J kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF TIBIAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk JO6YAF MOVES PEN TO A GIVEN POINT JO6YCF DRAWS LINE BETWEEN TWO POINTS CALL JOGYAF TC 1 1 J TC 2 1 J DO 4 I 2 N J CALL JO6YCF TC 1 1 J TC 2 1 J CONTINUE dede cc deck cec eo ecc A e koc x kc k oko ko x Ac kc kokok DRAWING OF FEMORAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk IF NOT VARIAT CALL JO6YQF 2 CALL JO6YAF FC 1 1 J FC 2 1 J DO 5 I 2 N J CALL JO6YCF FC 1 I
18. GB E XR 3 0098 0008 00 oc I ow ow 9 o C 9 9 9 9 9 o 9 c 8o 0 t t Y OO 0 t M o 9N y THEN X coordinate of point A Y coordinate ot point A WHICH PARAMETER WOULD YOU LIKE TO VARIATE 0 8 0 0D0 2 0D0 2 0D0 0 0D0 2 0D0 0 0DO 20 0D0 17 0D0 17 0D0 20 0D0 X coordinate of point B Y coordinate of point B Slope of straight line Vertical displacement of straight line X coordinate of point A Y coordinate of point A X coordinate of point B Y coordinate of point B Convexity concavity of parabole Vertical displacement of parabole top Horizontal displacement of parabole top b wo w CU X 9 ow o0 o y The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 29 a OQO0000 Appendix F Subroutine PARA PRINT 400 ENDIF PRINT Enter number of parameter to be variated READ CHAR CALL CLEAR CALL JO6WBF 25 0D0 150 0D0 25 0D0 150 0D0 1 IF TIBIAL THEN IF CHAR LT 1 O0R CHAR GT 6 THEN CALL CLEAR GOTO 2 ENDIF ELSE IF CHAR LT 1 OR CHAR GT 7 THEN CALL CLEAR GOTO 2 ENDIF ENDIF KEKREKKKEEKKEKREEREKRRERRERERERRERREKREKER VARIATION OF CHOSEN PARAMETER deese ehe dece eee ee ee ee eee eee eee dede ek ek DO 3 I 1 2 J T7 1 SA 1 J SA 1 1 SA 2 J SA 2 1 SB 1 J SB 1 1 SB 2 J SB 2 1 A J A 1 XO J XO 1 H J H 1 IF CHAR EQ 1 THEN SA 1
19. J CC I SA 1 1 ELSEIF CHAR EQ 2 THEN SA 2 J CC I SA 2 1 ELSEIF CHAR EQ 3 THEN SB 1 J CC I SB 1 1 ELSEIF CHAR EQ 4 THEN SB 2 J CC I SB 2 1 ELSEIF CHAR EQ 5 AND TIBIAL THEN A J C I A 1 ELSEIF CHAR EQ 5 THEN As CCC I A 1 ELSEIF CHAR EQ 6 THEN H J CC I H 1 ELSEIF CHAR EQ 7 THEN X0 J CC I XO 1 ENDIF The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 30 Appendix F Subroutine PARA kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF EFFECTS OF VARIATION kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk NAANA PRINT Calculating centrodes CALL CENTRO N NMAX J R SA SB Ll L2 L3 I4 TC FC PHI PRINT Calculating femoral contact profile CALL FEMORA N NMAX J A H XO TC FC T F L TIBIAL IFAIL ERROR IF IFAIL NE 0 GOTO 4 IF ERROR EQ 1 THEN PRINT 3000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 4000 PRINT 3000 PRINT Press ENTER to continue CALL JO6WDF ENDIF WARNING It is not possible to find a femoral contact profile which fits Change the vertical displacement H larger or the convexity A smaller absolute value First look at the results 0 9 c 9 9 OW Q 9 S amp OX amp 3 CONTINUE CALL CLEAR 1000 FORMAT 4 1 1 1 1 1 1 2000 FORMAT 19X 41A
20. The reason for this is that there was to little time The program calculates the centrodes and the femoral contact profile and it is also possible to calculate the effects of a variation in one of the parameters 3 The program certainly is not written in the most efficient way First many comment lines were used to make the program text better understandable Second some arrays are larger than necessary so the program will use a rather large amount of memory Third the input needs to be correct When for example a string is entered where a number is expected the program is terminated instead of asking the same question again Finally not all the equations are represented in the most accurate algebraic form This however is of no signifi cant meaning since the calculations are accurate enough for the purpose which has to be served All these restrictions are due to a lack of programming experience and knowledge 4 The program runs faster than expected on a 80386 PC AT with a 80387 coprocessor The most complex calculations only take a few seconds even when the maximum number of increments is chosen Tests on other PC s showed that a 20286 with coprocessor is sufficient also but a PC XT is not usable since it is too slow Because the speed is high enough one may consider to calculate the exact tangents of the cen trodes where now an approximation is used Validation of the model however showed that the results need not be more accur
21. at least a 80286 PC AT with coprocessor Also a colour graphics card with colour monitor is recommended The last appendix contains a user s manual The design of a software program for the simulation of a two dimensional model of the knee joint Contents 1 Contents 1 Contenis 2 46244 Ev EO S a Wai 2 Symbols 5 Se s eet Te eee eee eee eee 3 S Preface sve ew as eect eS r 4 4 Introduction TP 5 Se Strategy ui oy bh S xU ie Su Ud RR WE V ev REM 6 Adjusted problem definition Sa end 7 Global Method A graphical analysis 8 T The TIexioB angle y 5 ee Ac qoe CPU RI v Vo rem 4 nde Ok 8 T2 The IBDUL o tou aeg oaov ea E es cera Eds atoms 8 7 3 Construction of the centrodes euluu 9 7 4 Construction of the femoral contact profile 10 8 Mathematical model e 12 8 1 The centfodes voe e RR NE Ronde x A hee 12 e 11 Definitions quo epp dte n PUE TIRE 13 8 1 1 1 Theangle g a cue estes WS 4 wr eee wa we ene 13 S LIZ The auple 0 0 Li bu ccrten ER RA Kw Rm Rt 14 8 1 2 Interpretation of zesultS ous euo VEI EPI a EVE 15 8 1 3 The tibidl centtodes c5 s ER e IE eee eee aoe aa 15 8 1 4 The femoral cebtrode os eo Ree Re das 17 8 2 The femoral contact profile 1 4 sede wd ad rey hh mh Rm a 19 8 2 1 The distante T ous e EE CER OP Ra SES 19 8 2 1 1 Tibial contact profile is a straight line 21 8 2 1 2 Ti
22. chooses for options 1 2 3 4 or 6 the chosen parameter will set on Its old value 10 Its old value 10 When the user chooses for option 5 the slope of the line will be changed in The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 7 User s Manual Its old value 0 1 Its old value 0 1 The program will calculate the centrodes and the contact profiles for both cases If a parabole is chosen for the tibial contact profile the user will get the next menu figure 7 WHICH PARAMETER WOULD YOU LIKE TO VARIATE 1 X coordinate of point A 2 Y coordinate of point A 3 X coordinate of point B 4 Y coordinate of point B 5 Convexity concavity of parabole Vertical displacement of parabole top Horizontal displacement of parabole top Enter number of parameter to be variated Figure 7 Menu for parameter variation with femoral contact profile is a parabole When the user choses for options 1 2 3 4 6 or 7 the choosen parameter will be changed in Its old value 10 Its old value 410 When option 5 is chosen the convexity concavity of the parabole will be changed in Its old value 0 001 Its old value 40 001 3 2 4 Slip ratio This option calculates the slip ratio and plots it against the flexion angle When the slip ratio is equal to 1 this means there is no slip In the diagram the average slip is also plotted When the option parameter
23. design of a software program for the simulation of a two dimensional model of the knee joint 3 Preface 3 Preface In fundamental research parameter variation has become an often used tool So it is necessary to give students the opportunity to train themselves in using the principle of parameter variation The curriculum of the faculty of Medical Engineering Technology of the Eindhoven University of Tech nology therefore contains a simulation practical In order to expand this practical a software program had to be designed which would make a simulation with parameter variation possible The object to be simulated was chosen to be a 2 dimensional kinematic model of the knee joint The software should be able to calculate the effects of the change in various parameters which further on in this paper will be specified This problem was considered very suitable to be solved in the form of one of the two larger practicals about 240 hours each that occur in our curriculum This paper is the result of our work Because it would be foolish to do unnecessary work we went searching for already existing solutions There is a lot of literature on four bar mecha nisms but there seemed to be little interest in the type of solution we are looking for Specialists on kinematics at the Eindhoven University of Technology made the same suggestion Therefore we had to start from scratch When the mathematical model was finished we expected that th
24. dimensional model of the knee joint 40 USER S MANUAL Report Number 92 013 C Frank Peters Niek van Nunen Eindhoven University of Technology January 1992 User s Manual 1 Contents 1 Contents exu RUE NGA SEED ERN ACRAS 1 2 Introduction Mie RE do dU UAR URL 58 3 The program ccc ec cer esr IIR 3 1 Starting the program seeeeeeee III 3 3 2 The main Menu vsu Dexia U e Ae ye e acce Ox eed 3 2 1 Input of a mechanism 0c e eee ee eee eens 4 3 2 1 1 Anatomic dimensions 2 eee eee eee ee ee eee 5 3212 Perspex Model os coco Gansu Ug eee Lote seein 5 32 153 Self made mechanism cer nm 6 5 29 Plot results 4 uu ood FORMAN OO RICE oe 6 323 Parameter variation lt 6 dau cre hw v Rin mm aa ORE 7 3 24 Slip TAUO os me Si GOs EATER ERAS Ha eR eS 8 325 MOVIE sortua es Erb e oie woe Me Ee kac ud bas er od ee 9 2 0 6 OU s sa sve cbe e dome Sa wb ADU CEA DE ADR US qr 10 33 The calculations s eror eR y RR muon bee eee 10 3 4 Termination of the program leeren 12 4 Finally eeeee ertt n 9 12 5 Literature 7 2 ao vci esr ess xcv piat eed Se 13 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 1 User s Manual 2 Introduction The bones that meet a joint as well as the ligaments that hold the bones together can be analyzed as a mechanical linkage Since the movements allo
25. full range of 140 of flexion This is caused by the fact that the mechanism may change from the crossed version into the uncrossed version or the other way around Then a so called Tail appears see Figure 14 The curves then will be of such a form that moving the mechanism becomes impossible When this happens the program will give a warning and it will also give the range that can be covered The design of a software program for the simulation of a two dimensional model of the knee joint 28 The programming Figure 14 The problem that appears when the mechanism changes from the crossed to the uncrossed version The program will detect the beginning of the Tail and stop further calculations of the centrode 9 3 3 Subroutine FEMORA This subroutine calculates the femoral contact profile It consists of two parts One of them calculates the femoral contact profile in case the tibial contact profile is a straight line and the other in case the tibial contact profile is a parabole when the tibial contact profile is a straight line the mathematical analysis section 8 together with the program text see Appendices give enough information When the tibial contact profile is a parabola however some more explanation is necessary In section 8 2 1 2 it was found that a cubic equation had to be solved To be able to solve this equation a routine from the NAG library is used This routine is called CO2AGF This routine will give thre
26. is the construction of a graphical analysis This will give a first indication of how the mathematical problem is to be solved Then a mathematical model will be formulated which consists of both analytical and numerical parts In this step the model will be formulated in such a way that the next step the programming can be carried out rather easily Also an eye will be kept on the fact that the program shouldn t work to slow The consequence of this is that sometimes numerical approximati ons will be necessary where an exact but slow solution is possible The last step contains the programming itself This part also includes the testing of the program and if necessary the writing of a manual 6 Adjusted problem definition In this section a global view is presented from which specifications initially are intended to be worked out Later on this may very well be extended or reduced depending on the time left In the first place the users of the software will have to be able to study the effects on the form of the femoral contact profile when the input consists of a several geometries of the tibial contact profile b crossed and uncrossed ligament configurations c slip velocities These elements now will be worked out in the global method that will be used as the basis of the mathematical model The design of a software program for the simulation of a two dimensional model of the knee joint 7 Graphical analysis 7 Global me
27. line with length and an angle x to the tangent of the femoral centrode can be drawn The design of a software program for the simulation of a two dimensional model of the knee joint 10 Graphical analysis In this way a point of the femoral contact profile is identified see figure 5 When the same procedure is followed for a sufficient number of points the whole femoral contact curve can be constructed femoral centrode tibial centrode given tibial contact profile point of femoral contact profile Figure 5 Construction of a point of the femoral contact profile This procedure will be translated into a mathematical model which is needed to be able to write the software program The design of a software program for the simulation of a two dimensional model of the knee joint 11 Mathematical analysis 8 Mathematical model 8 1 The centrodes 8 1 1 Definitions In this analysis a planar four bar linkage OABP shall be considered see Figure 6 Figure 6 The two types of mechanisms L L l and 1 are the lenghts of the four links and the angle a is the input first the angles and 0 will be calculated as a function of a With the definitions as shown both the uncrossed and the crossed version can be described with the same formulae The only difference will be the range of the angle o In the uncrossed version a will vary between 50 and 90 and in the crossed version the range will be from 230 to
28. mechanism is symmetrical Symmetrical in this case means symmetrical about the line x 50 the x coordinate of P was chosen to be 100 10 3 The Perspex Model In this case the dimensions of a realisation in perspex of the model were used as input parameters for the program This perspex exhibited all the kinematical characteristics belonging to its particular configuration The program calculated the tibial and femoral centrodes and the femoral The design of a software program for the simulation of a two dimensional model of the knee joint 33 Model validation contact profile which have to be in agreement with the perspex model 10 4 Subroutine Movie The most powerful possibility to validate the model however is the in section 9 3 6 named subroutine MOVIE When the mechanism is drawn in several positions a smooth movement of the curves should appear where the curves form a rolling contact When the tests mentioned are performed on several mechanisms it can be concluded that the model programmed is correct The design of a software program for the simulation of a two dimensional model of the knee joint 34 Conclusions 11 Conclusions and recommendations The following conclusions and recommendations can be made 1 The model used in the program calculates the correct centro des and contact profile 2 It appeared to be impossible to satisfy all the demands given in the problem definition in section 4
29. mechanism has been chosen yet PRINT 6000 r PRINT 5000 PRINT Press ENTER to continue CALL JO6WDF GOTO 5 ENDIF C ELSEIF INP EQ 5 THEN C C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C CALL FOR SUBROUTINE MOVIE C kkkkkkk kkkkkkkkkkkkkkkkkkk kkkkk C IF MECH THEN C CALL MOVIE N NMAX SA SB TC FC T F VARIAT PHI R NIN L4 GOTO 5 ELSE PRINT 5000 PRINT 6000 PRINT 6000 d PRINT 5000 PRINT Press ENTER to continue CALL JO6WDF GOTO 5 ENDIF C The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint Qa0000 1000 2000 3000 4000 5000 6000 ELSE kkkkkkkkkkkkkkkkkkkkkxk QUIT THE PROGRAM kkkkkkkkkkkkkkkkkkkkkk PRINT Press ENTER CALL JO6WZF STOP END OF THE PROGRA ENDIF FORMAT Sill ilaila FORMAT 15X 51A FORMAT FORMAT 20X 40A FORMAT L L o L P PL FORMAT 25X 38A END Appendix A Main Program The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 8 Appendix B Subroutine INPUT Appendix B Subroutine INPUT SUBROUTINE INPUT N NMAX J R SA SB A H XO CROSS TIBIAL d de dee dede de de de dede dece koc ce e e ec kc e kc ck ke ec kc kc kc e kc kc ck kc ck oko kckckockckckckck kckck ko k k kk THIS SUBROUTINE SUPPLIES THE OTHER ROUTINES WITH THE INPUT DATA AND GIVES THE POSSIBILITY TO QUIT xe KRERRE
30. number of increments The choice for the dimensions of a perspex model which is available no further input has to be given This model will also be used for the validation of the program The choice for realistic anatomic dimensions which will be specified later on in the user s manual The design of a software program for the simulation of a two dimensional model of the knee joint 27 The programming 9 3 2 Subroutine CENTRO In this subroutine the tibial and the femoral centrode are calculated First the lenghts of the links have to be calculated This is done by l7 x4 34 L y x B Xp y is L y Xp x O L Xp Now the lenghts of the links are known and 6 as a function of o can be calculated by using equations 12 and 15 section 8 1 1 As mentioned before for a a range from 50 to 90 for the uncrossed version for the crossed version the range will be 230 to 90 will be chosen This range has to be divided into the chosen number of increments This is done with the following equation 41502 pp L 1 1407 180 N 1 180 In this equation R is equal to zero if the mechanism is an uncrossed one and equal to 7 when the mechanism is a crossed one J is the J increments and N is the total number of increments Next the vector 7C which represents the tibial centrode and vector FC which represents the femoral centrode are determined It may very well be possible that the mechanism cannot make the
31. simulation of a two dimensional model of the knee joint 2 Symbols 2 Symbols This list of symbols contains the symbols used in the sections 1 to 12 The symbols that are used in the program text see the appendices are named in the program text itself so they are omitted here A B O P OA AB OP PB a a 2 A b CC Hinge Hinge Hinge Hinge Anterior Cruciate Link ACL Femoral Link Tibial Link Posterior Cruciate Link PCL Slope or concavity convexity Vector component Polynome coefficient Vector component Length of vector Constant Constant Constant Greek symbols angles degrees e DRR Vectors Variable a at input Variable Flexion angle Vector from O to A Tangent to femoral centrode Tangent to tibial centrode From O to femoral centrode Vectors representing the four links RS BO wt uM Vertical displacement Instantaneous center of velocity Distance centrode contact profile Length of link i Distance A to IC Rotation matrix x coordinate tibial centrode x coordinate tibial contact profile Horizontal displacement y coordinate tibial centrode y coordinate tibial contact profile Variable Z OPB Z AOP Rotation angle Unit vectors From O to tibial centrode From O to tibial contact profile From O to tibial centrode Tangent to tibial contact profile The
32. variation has been chosen three lines will be drawn The white one for the mechanism without variation The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 8 User s Manual The red one for the mechanism with neg variation The green one for the mechanism with pos variation 3 2 5 Movie The program will calculate a number of different positions of the femur with respect to the tibia If the option parameter variation has been chosen the next menu will appear figure 8 WHICH MECHANISM WOULD YOU LIKE TO MOVE The mechanism without parameter variation The mechanism with neg parameter variation The mechanism with pos parameter variation Back to the main menu Enter number of your choice Figure 8 Option menu for routine MOVIE this menu only appears when the option parameter variation has been chosen yet In this way each of the three possible mechanisms can be shown After the user has chosen a mechanism and if the option parameter variation has not been chosen yet the following menu will appear see figure 9 WHICH TYPE OF PLOT Several positions in one plot More positions one by one Back to the main menu Enter number of your choice Figure 9 The option MOVIE The user can choose between several positions of the mechanism in one and the same plot or he can look at several calculated positions of the mechanisms one by one In this case more
33. 0 CALL JO6YHF B 1 CALL JOGYAF 10 0D0 30 0D0 CALL JOGYHF CROSSED MECHANISM 17 Q ELSE R 0 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PICTURE OF UNCROSSED MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOQOQO CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF 100 0D0 0 0D0 CALL JO6YCF 75 0D0 85 0D0 CALL JO6YCF 35 0D0 70 0D0 CALL JO6YCF 0 0D0 0 0DO CALL JO6YAF 80 0D0 90 0D0 CALL JO6YHF B 1 CALL JO6YAF 25 0D0 75 0D0 CALL JO6YHF A 1 CALL JO6YAF 5 0D0 30 0D0 CALL JO6YHF UNCROSSED MECHANISM 19 QO0 ENDIF CALL JO6YAF 10 0D0 10 0D0 CALL JO6YHF O 0 0 8 CALL JO6YAF 100 0D0 10 0D0 CALL JO6YHF P 100 0 10 CALL JO6YAF 20 0D0 0 0D0 CALL JO6YCF 17 0D0 2 0D0 CALL JO6YCF 17 0D0 2 0D0 CALL JO6YCF 20 0D0 0 0D0 CALL JO6YAF 20 0D0 2 0D0 CALL JO6YHF X 1 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 11 Appendix B Subroutine INPUT QOQ000 QOOOO00 CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF 0 0DO 20 0D0 CALL JO6YCF 2 0D0 17 0D0 CALL JO6YCF 2 0D0 17 0D0 CALL JO6YCF 0 0D0 20 0D0 CALL JO6YAF 10 0D0 20 0D0 CALL JO6YHF Y 1 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INPUT OF COORDINATES OF A AND B kkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PRINT Give the coordinates of hinges A and B PRINT X coordinate of A READ SA 1 J PRINT Y coordinate of A READ
34. 0 4 CONTINUE J 1 R 0 0D0 C CALL INPUT N NMAX J R SA SB A H XO CROSS TIBIAL C NIN N 1 c C Kec e eoe e x e e ke e kx A ke n n x n e xn G x kx kx C CALL FOR SUBROUTINE CENTRO C kkkkkkkkkkkkkkkk kk kkkkkkkkkkkkkxk c PRINT Calculating centrodes CALL CENTRO N NMAX J R SA SB L1 I2 L3 L4 TC FC PHI c C C deck kckckckckokckckokckockckchckckckckck kc kckck ko kk C CALL FOR SUBROUTINE FEMORA Cc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C PRINT Calculating femoral contact profile CALL FEMORA N NMAX J A H XO TC FC T F L TIBIAL IFAIL ERROR C IF ERROR EQ 1 THEN PRINT 3000 PRINT 4000 i PRINT 4000 WARNING It is not possible to ii PRINT 4000 find a femoral contact profile d PRINT 4000 which fits d PRINT 4000 Change the vertical displacement f PRINT 4000 H larger or the convexity f PRINT 4000 A smaller absolute value PRINT 4000 First look at the results 4 PRINT 4000 r PRINT 3000 PRINT Press ENTER to continue CALL JO6WDF ENDIF GOTO 5 C ELSEIF INP EQ 2 THEN C C kkkkkkkkkkkkkkkkkkkkkkkkkkkk kkxk C CALL FOR SUBROUTINE OUTPUT c kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 5 Appendix A Main Program IF MECH THEN CALL OUTPUT N NMAX J SA SB L4 L TC FC T F VARIAT GOTO 5 ELSE PRI
35. 3000 FORMAT 4000 FORMAT 20X 40A 4 END The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 31 Appendix G Subroutine SLIP Appendix G Subroutine SLIP SUBROUTINE SLIP N NMAX NIN T F VARIAT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS ROUTINE CALCULATES THE SLIP RATIO AND PLOTS THE RESULTS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOoO00000000 INTEGER N 3 NMAX NIN DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 LOGICAL VARIAT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkk DECLARATION OF THE LOCAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOQOO INTEGER NNNMAX J PARAMETER NNNMAX 200 DOUBLE PRECISION NN NNNMAX 3 DOUBLE PRECISION TL NNNMAX 3 TDF NNNMAX 3 DOUBLE PRECISION NNMAX FL NNNMAX 3 STL 3 SFL 3 DOUBLE PRECISION TDFMAX DOUBLE PRECISION STDF 3 MAXIMAL NUMBER OF ITTERATION COUNTER FLEXION ANGLE IN DEGREES LENGTH OF PART OF TIBIAL CONTACT PROFILE SLIP RATIO NNNMAX J NN NNNMAX 3 TL NNNMAX 3 FDF NNNMAX 3 NNMAX FL NNNMAX 3 STL 3 SFL 3 TDFMAX STDF LENGTH OF PART OF FEMORAL CONTACT PROFILE SUM OF TL SUM OF FL MAXIMAL SLIP RATIO AVERAGE SLIP RATIO kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INITIALISATION OF VARIABLES kkkkk
36. 41592653 c c Q NUMBER OF COEFFICIENTS Q 4 c K NUMBER OF REAL ROOTS OF THIRD ORDER POLYNOME c D COUNTER c TT COUNTER c WW WW 1 OR 1 c AA 4 PARAMETERS OF THIRD ORDER POLYNOME c Z 2 3 ROOTS OF THIRD ORDER POLYNOME C XX 3 INTERIM VARIABLE REAL ROOTS OF THIRD ORDER POLYNOME c NT 2 THE COMPONENTS OF THE VECTOR Nt c CT 2 THE COMPONENTS OF THE VECTOR Ct c CF 2 THE COMPONENTS OF THE VECTOR Cf C CHI THE ANGLE BETWEEN Nt AND Ct C S THE LENGTHS OF THE VECTOR Cf c ZERO 0 0D 0 C WOR INTERIM VARIABLE c DIF 3 INTERIM VARIABLE c W TOLERANCE FOR SUBROUTINE CO2AEF c ZZ 3 REAL PART OF SOLUTION THIRD ORDER POLYNOME c ZZZ 3 IMAGINARY PART OF SOLUTION THIRD ORDER POLYNOME c PI 3 141592653 c c c c c AA 1 2 A J A J AA 2 6 A J A J XO J AA 3 1 2 A J TC 2 I J 42 A J H J 6 A J KA J XO J XO J AA 4 2 A J XO J TC 2 I J 2 A J H J XO J 2 A J A J XO J XO J XO J TC 1 I J kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF ROOTS OF THIRD ORDER POLYNOME kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOQOQQO00 1 0DO 1 0DO 0 ZZ 1 ZZZ 1 IFAIL The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint Appendix D Subroutine FEMORA CALL CO2AEF AA Q ZZ ZZZ W IFAIL DO 1 TT 1 3 Z 1 TT ZZ TT Z 2 TT ZZZ TT 1 CONTINUE IF IFAIL NE 0 THEN PRINT ERROR S
37. 90 It is assumed here that for the chosen lenghts these two ranges are possible Later on in the software program this will be checked and if necessary the range will be adapted Now the following vectors are defined I 1 cos 9 2 1 sin 1 L Lcos 0 e 1 sin 6 Q L Lcos a 2 1 sin 3 The design of a software program for the simulation of a two dimensional model of the knee joint 12 Mathematical analysis bare 4 Figure 6 shows that the following equation is valid in any position TASA 5 Using 5 a and 8 a can be calculated a will be calculated first 8 1 1 1 The angle a The lengths of the links are fixed so HL 6 Substitution of 1 3 and 4 then yields ljcoso Lcos a L I sing 1 sina 1 7 After some simplifications this can be written as CA gsing CB e C089 CC A 8 where 9 I I _Pap2 2 72 CA sina CB cosu CC cosa Pai sks ae l 1h 250 Now equation 8 has to be solved Such a solution is obtained by expres sing sin and cos in terms of tan 2 2tan 2 1 tan 9 sing ERN 2a coso 10 L tan Itan Substitution and simplification then yields 2 2 2 tan 2 CA CA CB CC 11 CB CC The design of a software program for the simulation of a two dimensional model of the knee joint 13 Mathematical analysis So two distinct values of q are found 2 2 2 a Darctan Cae V AoC ee a2
38. CT 2 CF 2 CHI S DOUBLE PRECISION E DD PI PARAMETER PI 3 141592653 I COUNTER SP STARTING VALUE OF I U U 1 OR 1 WW WW 1 OR 1 NT 2 THE COMPONENTS OF THE VECTOR Nt CT 2 THE COMPONENTS OF THE VECTOR Ct CF 2 THE COMPONENTS OF THE VECTOR Cf CHI THE ANGLE BETWEEN Nt AND Ct S THE LENGTHS OF THE VECTOR Cf E INTER VARIABLE DD INTER VARIABLE PI 3 141592653 Q000000000000 ERROR O k kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kk CALCULATION OF FEMORAL CONTACT PROFILE WITH TIBIAL CONTACT PROFILE IS A STRAIGHT LINE eoe de de dee dee e dece dece ee ee ee dee dee dee ee eee ee eee eed ke dee eek ek QOOOO The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 18 Appendix D Subroutine FEMORA c IF TIBIAL THEN DO 1 I 2 N J 1 T 1 I J A J TC 2 1 J A J H J TC 1 I J 1 A J A J T 2 I J A J T 1 I J H J L I J TC 2 I J A J TC 1 1 J H J SQRT 1 A J A J NT 1 A J SQRT 1 A J A J NT 2 1 SQRT 1 A J A J WW 1 IF TC 1 I 1 J GT TC 1 I 1 J WW 1 CT 1 WW TC 1 I 1 J TC 1 1 1 J cT 2 WW TC 2 I41 J TC 2 1 1 J CF 1 WW FC 1 I 1 J FC 1 1 1 J CF 2 WW FC 2 I 1 J FC 2 I 1 J CHI PI ACOS NT 1 CT 1 NT 2 CT 2 SORT CT 1 CT 1 CT 2 CT 2 S SQRT CF 1 CF 1 CF 2 CF 2 F 1 I J FC 1 I J L I J S CF 1 COS CHI
39. EE SEER ede dese deed EERE REE ERR RRR RE RE ec dece ce dece dece dece eek kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS dede dede decode de dece deed e dede dee eee ee eee de eek kk QO00000000 INTEGER N 3 NMAX J DOUBLE PRECISION R SA 2 3 SB 2 3 A 3 H 3 X0 3 LOGICAL CROSS TIBIAL kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE LOCAL IDENTIFIERS deck de e ec de de de de e dede dece dece dee de dee ee ede de eee ede eee eee INTEGER UU UU INPUT VARIABLE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CHOISE FOR GIVEN OR SELF MADE MECHANISM dee de dede ee dece deck e dede ede eee dede de deese de eee eek QOOGQ0000 QOQO0000 1 PRINT PRINT PRINT PRINT TYPE OF MECHANISM 1 Anatomic realistic dimensions 2 Perspex model 3 Self made mechanism PRINT PRINT PRINT PRINT Enter number of your choice READ UU IF UU LT 1 0R UU GT 3 THEN CALL CLEAR GOTO 1 ENDIF IF UU EQ 1 THEN o e 9 m 00 o o 9 ow AYNAYA amp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PARAMETERS FOR ANATOMIC MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOO0 TRUE 3 1415925 61 0D0 77 0D0 CROSS R SA 1 J SA 2 J The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 9 Appendix B Subroutine INPUT QOQOo00 Q0 QOQ00000000 A The des
40. EFC 2 I J II CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkxk DRAWING OF FEMORAL CONTACT PROFILES kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YQF 4 CALL JO6YAF NEF 1 2 3 I1I NEF 2 2 J II DO 8 I 3 N J 1 CALL JO6YCF NEF 1 I J II NEF 2 I J II The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 38 Appendix H Subroutine MOVIE 8 CONTINUE LIXZEXXZEZILEIEIEXLELEEEEXEELERIIEIELEILEIE DRAWING THE FOUR LINKS ddekdekdekde ch dk de ek eee de ke kk QOOOO CALL JO6YQF 5 CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF L4 0 0D0 CALL JO6YCF NESB 1 J II NESB 2 J II CALL JO6YCF NESA 1 J II NESA 2 J II CALL JO6YCF 0 0D0 0 0DO 9 CONTINUE PRINT 1000 PRINT Press enter to continue CALL JO6WDF CALL JO6YQF 1 IF VARIAT GOTO 15 GOTO 17 kkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkk k kkk kkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kk DRAWING NUM MECHANISMS ONE BY ONE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkk kkk kkkkkkkkkkkkkkkkk kkkkk kkkkkkkkkkkkkkkkkkkk kk m Xo DO 10 II 1 NUM kkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkk DRAWING OF TIBIAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk JO6YAF MOVES PEN TO A GIVEN POINT JO6YCF DRAWS LINE BETWEEN TWO POINTS Q0000000 AANANAAN CALL JO6YQF 1 CALL JO6YAF TC 1 2 J TC 2 2 J DO 11 I 3 N J 1 CALL JO6YCF TC 1 I J TC 2 I J 11 CONTINUE kkkkk kkkkk
41. FEMORAL CONTACT PROFILE L L M DISTANCE CENTRODE CONTACT PROFILE CROSS IF CROSS IS T RUE CROSSED SYSTEM IF CROSS IS F ALSE UNCROSSED SYSTEM TIBIAL IF TIBIAL IS T RUE TIBIAL PROFILE IS A STRAIGHT LINE IF TIBIAL IS F ALSE TIBIAL PROFILE IS A PARABOLE VARIAT IF VARIAT IS T RUE PARAMETER VARIATION IF VARIAT IS F ALSE NO PARAMETER VARIATION MECH IF MECH IS F ALSE NO MECHANISM CHOSEN YET IF MECH IS T RUE MECHANISM CHOSEN YET kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INITIALISATION OF THE GRAPHICAL MODE deck e dede de deck ecce dece de ke ee eee eee ee dee eoe ee ee ke Q000000000000000000000 CALL JO6VAF 1 NOUT CALL XXXXXX OPEN NOUT FILE KNEE ERR CALL JO6WAF CALL JO6WBF 25 0DO 150 0D0 25 0D0 150 0DO 1 CALL JO6YLF 5 0D0 0 0D0 CALL JO6YKF 5 0D0 7 0D0 C C PRINT 1000 PRINT 2000 PRINT 2000 This program is written for students PRINT 2000 of the Eindhoven University of Technology PRINT 2000 It s a software program for the simulation PRINT 2000 of a two dimensional model of the knee joint PRINT 2000 It s written to show students the effects PRINT 2000 of parameter variation in a simulation program PRINT 2000 PRINT 1000 PRINT Press ENTER to continue CALL JO6WDF PRINT 1000 PRINT 2000 PRINT 2000 PRINT 2000 WARNING PRINT 2000 PRINT 2000 PRINT 2000 DO NOT USE STRINGS PRINT 2000 use only the numerical part of your keyboard P
42. HAR IFAIL UU DOUBLE PRECISION C 2 CC 2 CCC 2 I COUNTER CHAR INPUT VARIABLE IFAIL ERROR INDICATOR UU INPUT VARIABLE C 2 VALUE FOR PARAMETER VARIATION CC 2 VALUE FOR PARAMETER VARIATION ccc 2 VALUE FOR PARAMETER VARIATION QOOO0Q00000 0 1D0 0 1D0 10 0D0 10 0D0 0 0025 0 0025 c 1 c 2 cc 1 cc 2 ccc 1 ccc 2 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CHOISE OF PARAMETER TO BE VARIATED dede deck dee dece eee dece dece ede deck dee eee dede eek k QO0O0000 L4 1 PRINT f PRINT PARAMETER VARIATION The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 27 QOQ000 A Q0000 A Appendix F Subroutine PARA PRINT PRINT PRINT NN o 1 Elements are rigid 2 Elements are flexible PRINT PRINT Enter number of your choice READ UU CALL CLEAR IF UU LT 1 0R UU GT 2 THEN GOTO 1 ENDIF IF UU EQ 2 THEN PRINT 1000 PRINT 2000 PRINT 2000 This part has not yet been completed PRINT 2000 Therefore you will have to use rigid elements PRINT 2000 PRINT 1000 PRINT Press ENTER to continue CALL JO6WDF GOTO 1 ENDIF CALL JO6WBF 25 0D0 250 0D0 25 0D0 250 0DO0 1 a 8 IF R GT 1 THEN decks e ke e ck ek ko e e ke ke kc ke kc ko kc ko kk ko ko ko kk PICTURE OF CROSSED MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF 100 0D0
43. IF N J GT NMAX GOTO 4 C C 5 END C The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 13 Appendix C Subroutine CENTRO Appendix C Subroutine CENTRO Q000000000 QOOOO 000000000000000000000 SUBROUTINE CENTRO N NMAX J R SA SB L1 L2 L3 L4 TC FC PHI kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkxk THIS SUBROUTINE CALCULATES THE TIBIAL AND FEMORAL CENTRODE THE X AND Y COORDINATES ARE STORED IN THE ARRAYS TC AND FC kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL PARAMETERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER N 3 NMAX J DOUBLE PRECISION SA 2 3 SB 2 3 R DOUBLE PRECISION L1 L2 L3 L4 TC 2 NMAX 3 FC 2 NMAX 3 DOUBLE PRECISION PHI NMAX 3 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE LOCAL PARAMETERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER I NNMAX PARAMETER NNMAX 200 DOUBLE PRECISION ALPHA NNMAX THETA NNMAX SALPHA DOUBLE PRECISION CAPHI CBPHI CCPHI TEK CATHET GAMMA DOUBLE PRECISION CBTHET CCTHET C1 BETA L1AA DELTA PI PARAMETER PI 3 14159265 I COUNTER NNMAX MAXIMAL NUMBER OF INCREMENTS ALPHA NNMAX ANGLE BETWEEN TIBIAL LINK AND FEMORAL LINK SALPHA ANGLE ALPHA AT THE GIVEN POSITION RADIANS PHI NNMAX ANGLE BETWEEN TIBIAL LINK AND O A THETA
44. ION OF THE IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER I II III N 3 NMAX J ERROR IFAIL NOUT INP INTEGER NIN PARAMETER NMAX 200 DOUBLE PRECISION R SA 2 3 SB 2 3 A 3 H 3 X0 3 DOUBLE PRECISION L1 L2 L3 L4 DOUBLE PRECISION TC 2 NMAX 3 FC 2 NMAX 3 DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 L NMAX 3 DOUBLE PRECISION PHI NMAX 3 LOGICAL CROSS TIBIAL VARIAT MECH PARAMETER L4 100 NOUT 6 I II III COUNTER N J NUMBER OF ITERATIONS NMAX MAXIMUM NUMBER OF ITERATIONS J COUNTER ERROR ERROR INDICATOR IFAIL ERROR INDICATOR NOUT NUMBER OF OUTPUT DEVICE INP INPUT VARIABLE NIN NUMBER OF INCREMENTS AT INPUT R R 0 UNCROSSED SYSTEM R PI CROSSED SYSTEM SA 2 J2 X AND Y COORDINATE OF POINT A SB 2 J X AND Y COORDINATE OF POINT B A 3 PARAMETER OF TIBIAL PROFILE H 3 PARAMETER OF TIBIAL PROFILE X0 3 PARAMETER OF PARABOLIC TIBIAL PROFILE L1 LENGTH OF ANTERIOR CRUCIATE LIGAMENT L2 LENGTH OF POSTERIOR CRUCIATE LIGAMENT L3 LENGTH OF FEMORAL LINK L4 LENGTH OF TIBIAL LINK TC K L M COORDINATES OF TIBIAL CENTRODE K X AND Y COORDINATE The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 2 Appendix A Main Program L I TH POINT M COUNTER FOR PARAMETER VARIATIONS M 1 ORIGINAL VALUES M 2 3 VARIED VALUES FC K L M COORDINATES OF FEMORAL CENTRODE T K L M COORDINATES OF TIBIAL CONTACT PROFILE F K L M COORDINATES OF
45. J FC 2 I J CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF TIBIAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk IF NOT VARIAT CALL JO6YQF 3 CALL JO6YAF T 1 2 J T 2 2 2 DO 6 I 3 N J 1 CALL JO6YCF T 1 1 J T 2 1I J CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF FEMORAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk IF NOT VARIAT CALL JO6YQF 4 CALL JO6YAF F 1 2 J F 2 2 J DO 7 I 3 N J 1 CALL JOGYCF F 1 I J F 2 I J CONTINUE Appendix E Subroutine OUTPUT The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 25 a O000 c c C kkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING INPUT SITUATION kkkkkkkkkkkkkkkkkkkkkkkkkkkkk IF NOT VARIAT CALL JO6YQF 5 CALL JO6YAF ZERO ZERO CALL JO6YCF L4 ZERO CALL JO6YCF SB 1 J SB 2 J CALL JO6YCF SA 1 J SA 2 J CALL JO6YCF ZERO ZERO IF VARIAT THEN IF J LT 3 THEN J J41 GOTO 3 ENDIF ENDIF IF NOT VARIAT THEN PRINT YELLOW PRINT Tibial PRINT RED PRINT Tibial PRINT BLUE PRINT 4000 ELSE PRINT 5000 ENDIF PRINT Press ENTER to continue CALL JO6WDF 1000 FORMAT F9 4 5X F9 4 5X F9 4 2000 FORMAT I3 4X X COORD 4X F8 3 4X F8 3 4X F8 3 4X F8 3 7X Y COORD 4X F8 3 4X F8 3 4X F8 3 3000 FORMAT 2X I 21X TC 10X FC 10X T 10X F 10X L 4000 FORMAT
46. NMAX 3 NUM COORDINATES OF F AFTER TRANSLATION ROTATION 2 PI 3 141592653 SALPHA ALPHA AT THE GIVEN POSITION LENGHTS OF LINK OA The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 35 Appendix H Subroutine MOVIE C J 1 C 15 IF VARIAT THEN PRINT z PRINT 4 PRINT 1 The mechanism without parameter variation d PRINT j 2 The mechanism with neg parameter variation ii PRINT 3 The mechanism with pos parameter variation f PRINT 4 Back to the main menu PRINT PRINT Enter number of your choice READ CHAR CALL CLEAR IF CHAR EQ 1 THEN ELSEIF CHAR EQ 2 THEN J 2 ELSEIF CHAR EQ 3 THEN J 3 ELSEIF CHAR EQ 4 THEN GOTO 16 ELSE GOTO 15 ENDIF ENDIF C C kkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkk C CALCULATION OF THE LOCAL COORDINATES C s de de de de de de eode de de de de de e de de eoe dede cec ode deckcko dede ke e X G x x G x G Xx amp C DO 2 I 2 N J 1 FCLO 1 I J FC 1 I J SA 1 J FCLO 2 I J FC 2 I J SA 2 J FLO 1 I J F 1 I J SA 1 J FLO 2 I1 J F 2 I J SA 2 J SBLO 1 J SB 1 J SA 1 J SBLO 2 J SB 2 J SA 2 J 2 CONTINUE C C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C CALCULATION OF THE TRANSLATION VECTOR C kk AND THE ROTATION ANGLE C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C SALPHA R ATAN SB 2 J SA 2 J SB 1 J SA 1 J Ll SQRT SA 1 J SA
47. NT 5000 PRINT 6000 r PRINT 6000 No mechanism has been chosen yet PRINT 6000 PRINT 5000 PRINT Press ENTER to continue CALL JO6WDF GOTO 5 ENDIF ELSEIF INP EQ 3 THEN kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk POSSIBILITY FOR PARAMETER VARIATION kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk NNNNA A VARIAT TRUE IF MECH THEN kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL FOR SUBROUTINE PARA kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOQOQ0 DO 8 I 2 3 DO 7 II 1 NMAX DO 6 III 1 2 TC III II I FC III II I T III II I F III II I 6 CONTINUE L Ii I 0 0D0 7 CONTINUE N I NIN 8 CONTINUE J 1 0 0DO 0 0DO 0 0DO 0 0DO CALL PARA N NMAX J ERROR R SA SB A H XO Ll L2 L3 I4 L TC FC T F TIBIAL PHI GOTO 5 ELSE PRINT 5000 a PRINT 6000 Ios m pm es ee PRINT 6000 No mechanism has been chosen yet E The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 6 Appendix A Main Program PRINT 6000 iL L4 PRINT 5000 PRINT Press ENTER to continue CALL JO6WDF GOTO 5 ENDIF c ELSEIF INP EQ 4 THEN C C de de de se e de de de e e de de de de dee dede dede eee kk kkk kk C CALL FOR SUBROUTINE SLIP C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C IF MECH THEN C CALL SLIP N NMAX NIN T F VARIAT C GOTO 5 C ELSE PRINT 5000 PRINT 6000 z PRINT 6000 No
48. RINT 2000 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint amp OW amp 8 X bo o9 8 9 Appendix A Main Program PRINT 1000 PRINT Press ENTER to continue CALL JO6WDF kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kk INITIALISATION OF VARIABLE deck ee dede eec ee deese e eee oe ee ke kk MECH FALSE kkkkkkkkkkkkkkk MAIN MENU kkkkkkkkkkkkkkk AAAA QO00000 5 CALL CLEAR Q PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT Input of a mechanism Plot results Parameter variation Slip ratio Movie Quit A AY o 08 oW M0 ee XR BR He He HF 0B 3 o 0 o9 0 o wo 008 bou 99 9 Wo Enter number of your choice READ INP CALL CLEAR IF INP LT 1 OR INP GT 6 THEN CALL CLEAR GOTO 5 ENDIF IF INP EQ 1 THEN kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL FOR SUBROUTINE INPUT kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkk RE SET THE VARIABLES dece ek oec ce e e c e 6 ke Ae An Ax x 000000000 MECH TRUE VARIAT FALSE DO 4 I 1 3 DO 3 II 1 NMAX DO 2 III 1 2 TC III II I 0 0D0 FC III II I 0 0DO T III II I O0 0DO The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 4 Appendix A Main Program F III II I 0 0D0 2 CONTINUE L II I 0 0D0 3 CONTINUE N I 0 0D
49. SB FC AND F WHEN WE ROTATE L3 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER N 3 NMAX NIN DOUBLE PRECISION SA 2 3 SB 2 3 TC 2 NMAX 3 FC 2 NMAX 3 DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 PHI NMAX 3 DOUBLE PRECISION R L4 LOGICAL VARIAT dee de de ke de ecce e dece de cse e cce e ecce ec e e kc e cec e cc ko x ko DECLARATION OF THE LOCAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk INTEGER I II III J NNMAX NUM CHAR PARAMETER NNMAX 200 NUM 7 DOUBLE PRECISION FCLO 2 NNMAX 3 FLO 2 NNMAX 3 SBLO 2 3 DOUBLE PRECISION ROT TRANS 2 NESA 2 3 NUM NESB 2 3 NUM DOUBLE PRECISION NEFC 2 NNMAX 3 NUM NEF 2 NNMAX 3 NUM PI DOUBLE PRECISION SALPHA L1 PARAMETER PI 3 141592653 I COUNTER II COUNTER III COUNTER J COUNTER NNNMAX MAXIMAL NUMBER OF ITERATIONS NUM COUNTER NUMBER OF MOVING STEPS CHAR INPUT VARIABLE FCLO 2 NMAX 3 LOCAL COORDINATES OF FEMORAL CENTRODE FC FLO 2 NMAX 3 LOCAL COORDINATES OF FEMORAL CONTACT PROFILE F SBLO 2 3 LOCAL COORDINATES OF B ROT ROTATION ANGLE TRANS 2 TRANSLATION VECTOR NESA 2 3 NUM COORDINATES OF A AFTER TRANSLATION ROTATION NESB 2 3 NUM COORDINATES OF B AFTER TRANSLATION ROTATION NEFC 2 NMAX 3 NUM COORDINATES OF FC AFTER TRANSLATION ROTATION NEF 2
50. TA ALPHA I SALPHA DELTA PHI I J BETA L1AA ABS L1 C1 FC 1 I J SA 1 J L1AA COS DELTA R FC 2 I J SA 2 J L1AA SIN DELTA R IF I LT N J GO TO 1 1000 FORMAT 15X 52A 2000 FORMAT 3000 FORMAT 15X 15X 0 lt gamma lt 1X F6 1 14X 2 END The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 17 Appendix D Subroutine FEMORA Appendix D Subroutine FEMORA SUBROUTINE FEMORA N NMAX J A H XO TC FC T F L TIBIAL IFAIL ERROR kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS SUBROUTINE CALCULATES THE POINTS OF THE TIBIAL AND FEMORAL CONTACT PROFILE THE COORDINATES ARE STORED IN THE VARIABLES T AND F THE RELEVANT DISTANCE FROM A POINT ON THE CENTRODE TO A POINT ON THE CONTACT PROFILE IS STORED IN L xk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE GLOBAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Q0000000000000 INTEGER N 3 NMAX J IFAIL ERROR DOUBLE PRECISION A 3 H 3 X0 3 TC 2 NMAX 3 FC 2 NMAX 3 DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 L NMAX 3 LOGICAL TIBIAL kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DECLARATION OF THE LOCAL IDENTIFIERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOOOO0 INTEGER I SP U WW DOUBLE PRECISION NT 2
51. U 1 5 IF I LE N J 1 THEN CALL CALC NMAX J I U A H XO TC FC T F L IFAIL ERROR IF IFAIL NE 0 THEN PRINT ERROR SUBROUTINE CO2AEF IFAIL IFAIL GOTO 6 ENDIF I I 1 GOTO 5 ENDIF ENDIF 6 END C SUBROUTINE CALC NMAX J I U A H XO TC FC T F L IFAIL ERROR c C kkkkkkk kkkkk kk kkkkkk kkkkkk k kk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk k c SUBROUTINE FOR CALCULATION OF POINT OF FEMORAL CENTRODE Cc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkk kkkkk c C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkk C DECLARATIONS OF THE GLOBAL IDENTIFIERS C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c INTEGER NMAX J I U IFAIL ERROR DOUBLE PRECISION A 3 H 3 X0 3 TC 2 NMAX 3 FC 2 NMAX 3 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 20 Appendix D Subroutine FEMORA DOUBLE PRECISION T 2 NMAX 3 F 2 NMAX 3 L NMAX 3 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATIONS FOR PARAMETERS OF POLYNOME kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c c C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c DECLARATION OF THE LOCAL IDENTIFIERS G kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c INTEGER Q K D TT W DOUBLE PRECISION AA 4 Z 2 3 XX 3 NE C2 CT 2 DOUBLE PRECISION CHI S ZERO WOR DIF 3 W ZZ 3 PARAMETER ZERO 0 0D0 Q 4 W 1 0 D 8 PARAMETER PI 3 1
52. UBROUTINE CO2AEF IFAIL IFAIL GOTO 3 ENDIF kkkkkkkkkkkkkkkkkkkkkkkkkkkkk SELECTION OF REAL ROOTS kkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOQ00 K 0 DO 2 D 1 3 IF Z 2 D EQ ZERO THEN K K 1 XX K Z 1 D ENDIF 2 CONTINUE IF K GE 2 ERROR 1 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk SELECTION OF RELEVANT SOLUTION de eek de dede desee eese eee de dece dede e desk dee ee eee e NAANA IF K EQ 1 THEN T 1 I J 7 XX 1 ELSEIF K EQ 2 THEN DIF 1 ABS XX 1 T 1 I U 3 DIF 2 ABS XX 2 T 1 I U J IF DIF 1 LE DIF 2 THEN T 1 I J XX 1 ELSE T 1 I J ENDIF ELSE DIF 1 XX 2 ABS XX 1 T 1 I U J DIF 2 ABS XX 2 T 1 I4U J DIF 3 ABS XX 3 T 1 I4U J IF DIF 1 LE DIF 2 AND DIF 1 LE DIF 3 THEN T 1 I J XX 1 ELSEIF DIF 2 LE DIF 3 AND DIF 2 LE DIF 1 THEN T 1 I J XX 2 ELSE T 1 I J XX 3 ENDIF ENDIF The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 22 Appendix D Subroutine FEMORA C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c CALCULATION OF POINT OF FEMORAL CONTACT PROFILE C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c c WOR SQRT 4 A J A J T 1 I J X0 J T 1 I J X0 J 1 T 2 I J A J T 1 I J XO J T 1 I J X0 J H J L I J TC 2 I J A J T 1 I J X0 J T 1 I J X0 J H J WOR NT 1 2 A J T 1 I J XO J WOR NT 2 1 WOR WW 1
53. YRF SETS THE CURRENT LINESTYLE CALL JO6YQF J kkkkkkkkkkkkkkkkkkkkkk DRAWING OF LINES kkkkkkkkkkkkkkkkkkkkkk The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 33 Appendix G Subroutine SLIP CALL JO6YAF NN 2 J TDF 2 J DO 4 I 3 N J 3 CALL JO6YCF NN I J TDF I J 4 CONTINUE C C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C DRAWING OF AVERAGE SLIP RATIO C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c CALL JO6YRF 2 CALL JO6YAF NN 2 J STDF J CALL JO6YCF NN N J 3 J STDF 7 CALL JO6YRF 1 IF J LT 3 AND VARIAT GOTO 3 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF AXES AND TITLES kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QqaaAAN CALL JO6YQF 1 CALL JO6YAF 0 0D0 0 0D0 CALL JO6YQF 4 CALL JO6AJF 1 FLEXION ANGLE CALL JOGAJF 2 SLIP RATIO CALL JOGAHF SLIP RATIO CALL JO6YQF 1 CALL JO6AAF CALL JO6WDF CALL JO6WBF 25 0D0 150 0D0 25 0D0 150 0D0 1 CALL JO6YLF 5 0D0 0 0D0 CALL JO6YKF 5 0D0 7 0D0 END naa A The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 34 Appendix H Subroutine MOVIE Appendix H Subroutine MOVIE 0000000000 QOOQOO Q ao0ano000030000000000000 SUBROUTINE MOVIE N NMAX SA SB TC FC T F VARIAT PHI R NIN L4 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS SUBROUTINE CALCULATES THE NEW COORDINATES OF SA
54. abole A 0 005 Xo 50 H 7 N 200 3 2 1 2 Perspex model The faculty of Medical Engineering Technology of the Eindhoven Universi ty of Technology has the disposal of a 2 dimensional Perspex model of the knee joint The dimensions of this model are also stored in the program These values for the parameters then are The mechanism is a crossed one A 91 78 B 42 78 The tibial profile is a straight line A 0 H 7 N 200 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 5 User s Manual 3 2 1 3 Self made mechanism In this case the user has to enter the parameters him herself The program will ask for them one by one After every value the user gives the ENTER button has to be pressed The program will also give a recommended range for some of the parameters 3 2 2 Plot results This option draws a plot of the mechanism in the given position It is possible that there will be no contact between the tibial contact profile and the femoral contact profile In this case the given position has a flexion angle which is less than 0 or larger than 140 The program only calculates for a range between 0 and 140 In the case that the user didn t use the opportunity of parameter variation yet there will be drawn only one mechanism The yellow line is the input situation of the linkage The white line is the tibial centrode The red l
55. ate than they already are 5 The program is easy to use because of the shell that is built around the calculations 6 When a mechanism is used which has realistic dimensions it appears that when the links are rigid it is not possible to reach 140 flexion This may be an indication that both the links and the contactprofiles are in fact not rigid T Instead of using a manual it may be useful to implement a help function which can be called at any place in the pro gram The design of a software program for the simulation of a two dimensional model of the knee joint 35 Conclusions 8 The use of defaults may be of some help when only some small changes are to be entered 9 This report does not mention the worth of this program When used in a practical some background information is needed for a better understanding 10 The program can be extended easily because of the structure of a main program and subroutines It may be possible that some of the problems mentioned will be worked out after this report is completed These changes may cause some difference in the program text see Appen dices These changes will appear mainly in the main pro gram since extra functions will be written in the form of subroutines that are called from the main program pax ja Some of the problems that were mentioned in these conclusions may be joined in a new practical This practical may also include the parts we were not able to solv
56. bial contact profile is a parabola 22 5 22 The angle ate chen wine a ELA avenue ase ak cU E 23 8 2 3 The construction of the femoral contact profile 24 9 The programming Bae EUR ate eee ee ee ee ere 26 9 1 Program s r cture i heave oie EP RACE FR b ao ae 26 9 2 Main program ous vemos eR Eae eater ates P a 27 9 3 SUDIGUIBOS si vus dep RR ga Eee ee I NUR Ee EAR LATE 27 9 3 1 Subroutine INPUT iiu teiua ak hea RYE EA RC 27 9 3 2 Subroutine CENTRO x s rp hog PRIMER EO ROC 28 9 3 3 Subroutine FEMORA eee nnn 29 9 3 4 Subroutine OUTPUT 325 43 ates eR4 E ESRB E 30 93 5 Subroutine PARA a ed Sas eS ES La RAE MERE 30 9 3 6 Subroutine SLIP 522 54 a Entra 31 9 3 7 Subroutine MOVIE 4 credo RT ER REX VR x 32 The design of a software program for the simulation of a two dimensional model of the knee joint 1 Contents 10 Model validation ccccccccccccccccccccce 33 10 1 Conditions resulting from the model 33 10 2 Symmetrical mechanism deer v ER Rd Exe 33 103 The Perspex model oo uito y err eee eee eRe eeu Se 33 104 Subroutine MOVIE recess EE eEX EP a EOS Etre e 34 11 Conclusions 2 5 edo R xREEERSAEERIANG M EIUS AC 12 Literature 4 oce rero ob ao o ESOS AOS A e RIDE Note This report is accompanied by a number of appendices and a user s manual These parts have the same number as this report but are indexed B and C The design of a software program for the
57. cause these curves are rather similar to the parabola when the latter is only slightly concave or convex These forms straight line and parabola can be adjusted by changing the parameters of the basic equation of each of the two possibilities When this input is given the situation is as shown in figure 2 Now a method to calculate the curve of the femoral contact profile will be presented The design of a software program for the simulation of a two dimensional model of the knee joint 8 Graphical analysis a crossed mechanism b uncrossed mechanism Figure 2 The two types of mechanisms 7 3 Construction of the centrodes When the relative positions of the links are changed for example when we bend the knee the tibial link and the femoral link carry out a motion relative to each other At each position of the mechanism a point can be determined were the two links have zero relative velocity This means that at this point the two links only rotate relative to each other These points are called Instantaneous Centers of velocity IC s or poles In figure 3 the IC is constructed for an uncrossed mechanism in a particular position o Tibial Link g P Figure 3 The Instantaneous Center of velocity IC The design of a software program for the simulation of a two dimensional model of the knee joint 9 Graphical analysis All IC s together from all positions of the mechanism form a curve called a centrode Two ce
58. e In particular the part where the links are not rigid anymore seems interesting This problem however demands a different somewhat more mechanical approach The design of a software program for the simulation of a two dimensional model of the knee joint 36 Literature 12 Literature 1 2 3 5 6 7 Ian A F Stokes Editor Mechanical factors and the skeleton John Libbey amp Company Limited London ISBN 0 86196 006 8 Dale Daniel Wayne Akeson John O Connor Knee Ligaments Structure Function Injury and Repair Raven Press New York ISBN 0 88167 605 5 Richard S Hartenberg and Jacques Denavit Kinematic Synthesis of Linkages McGraw Hill series in MECHANICAL ENGINEERING McGraw Hill Book company 1964 dr G R Veldkamp Kinematica Scheltema amp Holkema Amsterdam 1970 ISBN 90 6060 502 0 A Huson C W Spoor and A J Verbout A Model of the Human Knee Derived from Kinematic Principles and Its Relevance for Endoprothesis Design Acta Morphologica Neerlando Scandinavica 27 1989 pp 45 62 Software used Wordperfect 5 1 NL Drawperfect 1 1 NL MS Fortran 5 0 Compiler NAG Workstation Library NAG PC Graphics library Norton Classic Editor version 1 5 All software used was retrieved from the Calculation Center Rekencentrum of the Eindhoven University of Technology Hardware used Rembrant 386 AT with 80387 coprocessor VGA card with colour monitor This hardware was ret
59. e program ming should not take to much time but here we were wrong Especially the use of mathematical and graphical libraries proved to be cumbersome After these problems had been tackled the program worked satisfactorily and we think it is a usable tool for a simulation practical We hope it will be used for that purpose Finally we would like to thank the persons who have been very helpful to us These persons are Prof dr A Huson Dr ir A A HJ Sauren Ing H A Bulten Drs A W M de Jong Dr GJ Visser Niek van Nunen Frank Peters The design of a software program for the simulation of a two dimensional model of the knee joint 4 Introduction 4 Introduction The bones that meet in a joint as well as the ligaments that hold the bones together can be analysed as a mechanical linkage Since the movements allowed to the bones at the human knee occur mainly in the sagittal plane much can be learned by treating the knee as a two dimensional single degree of freedom linkage moving in a single plane Figure 1 shows a human knee from which the lateral femoral condyle has been excised exposing the cruciate ligaments The ligaments together with the two bones form the cruciate linkage OP will be called the tibial link AB is the femoral link The lines OA and PB represent the anterior ACL and posterior PCL cruciate ligaments respectively Figure 1 As mentioned before the initial task was to design o
60. e solutions For this problem only one of these solutions is of any interest This particular solution has to be selected In the first place it is checked whether or not there are any complex solutions If so there is only one real solution and this has to be the right solution But when there are three real solutions two real solutions is inpossible since the complex solutions always appear in conjugates the right solution has to be selected The right solution then is the one which is nearest to the previous solution This means that for the first point already a solution has to be known It is known that when x x the line searched is a vertical one so then the solution of the polynome also has to be xp In the program that point of the array of points of the tibial centrode is selected from which the x coordinate is the closest to xy For this starting point the polynome is solved and the solution which is nearest to x is chosen For the next points the same procedure can be repeated The consequence of this method is that the femoral contact profile has to be calculated in two parts One part is calculated from the starting point back The design of a software program for the simulation of a two dimensional model of the knee joint 29 The programming wards until 7 7 and the other part is calculated from the starting point forwards until J N The solution however gives some problems When a mechanism is chosen it may happen t
61. echanism 2 Crossed mechanism Figure 7 The possible solutions for z and h 8 1 3 The tibial centrode In order to find the position of the IC of the tibial and femoral links it is necessary to calculate the intersection point of the vectors and J the ligaments The unit vectors of l and J need to be determined for this purpose The design of a software program for the simulation of a two dimensional model of the knee joint 15 Mathematical analysis O pei t Figure 8 Construction of a point of the tibial centrode This results in see also figure 8 fi cos e sin fi cos 0 e sin 0 e 18 The intersection point now is defined by C T CR 19 To find the coordinates of the intersection point it is sufficient to calculate only C After substitution of 18 in 19 and some simplifications this results in lsin 0 20 sin 0 9 SO Lsin 0 re 1670 coscg e sin g 21 sin 0 q Hereby two assumptions are made The first one is that and 6 will not become equal to 0 or 180 The second assumption is that and 6 do not become equal to each other In case of realistic mechanisms these assump tions are fair Now the femoral centrode will be calculated using the found tibial centro de Here again the calculations are made for the uncrossed mechanism and the formulae which will be found are valid also for the crossed mecha nism again only the ran
62. ee ek k CAPHI SIN ALPHA I CBPHI COS ALPHA I L4 L3 CCPHI L4 L1 COS ALPHA I L1 L1 L2 L2 L3 L3 L4 L4 2 L1 L3 PHI I J 2 ATAN CAPHI SQRT CAPHI CAPHI CBPHI CBPHI CCPHI CCPHI CBPHI CCPHI IF I GT 2 THEN TEK PHI I J PHI I 1 J PHI I 1 J PHI I 2 J IF TEK LT 0 THEN N J I 1 CALL CLEAR GAMMA ALPHA I 1 R 180 0D0 PI 50 PRINT 2000 PRINT 1000 PRINT 1000 It is not possible to calculate the full range PRINT 1000 of the flexion angle gamma for this system PRINT 1000 PRINT 1000 PRINT 1000 PRINT 3000 GAMMA The program will calculate the centrodes and the femoral contact profile for 08 9 amp The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 15 PRINT 1000 l IF J EQ 1 THEN PRINT 1000 The mechanism will be drawn in WHITE l ELSEIF J EQ 2 THEN PRINT 1000 The mechanism will be drawn in RED l ELSE PRINT 1000 The mechanism will be drawn in GREEN l ENDIF PRINT 1000 l PRINT 1000 M IMP PRINT 2000 PRINT Press ENTER to continue CALL JO6WDF GOTO 2 ENDIF ENDIF C C kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk c CALCULATION OF THE ANGLE THETA C dede deck oec ck ek ko koc kc kckckckckockckockckckokokockckockok ko kk C CATHET SIN ALPHA TI CBTHET COS ALPHA I L4 L3 CCTHET L4 L2 COS ALPHA I
63. ention to extend the program with the opportunity to use flexible elements but at this moment the program does not have this opportunity yet The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 2 User s Manual 3 The program 3 1 Starting the program It s easy to start the program When the disk is in the disk drive the user only has to type A ENTER knee ENTER As soon the program has started it is not allowed to use strings anymore the easiest way to avoid that this will happen anyhow is to use only the numerical part of the keyboard otherwise the program will be terminated First the program will ask which graphical device is to be used Always choose 1 PC SCREEN This switches the terminal to the graphical mode 3 2 The main menu Next the main menu will appear figure 2 Input of a mechanism Plot results Parameter variation Slip ratio Movie Quit Enter number of your choice figuur 2 The main menu When no mechanism has been chosen yet the user can only choose 1 Input of a mechanism Otherwise a message No mechanism chosen yet will be given As soon as a mechanism has been chosen also one of the other opportunities can be chosen The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 3 User s Manual 3 2 1 Input of a mechanism The program needs the following parameters figure 3
64. ge is rotated over 180 The design of a software program for the simulation of a two dimensional model of the knee joint 16 Mathematical analysis 8 1 4 The femoral centrode The components of the vector with length which points from A to FC see Figure 9c now have to be calculated These components can be calculated as follows Figure 9a Figure 9b When the tibial centrode was calculated the tibial link was fixed From this position the angle was changed and the angles and 6 were calculated Now the femoral centrode is calculated by fixing the femoral centrode The angle a in the input situation now will be called a When the mechanism is moved into different positions with the tibial link fixed an angle o different from o can be found see Figure 9a But since the femoral link was to be fixed this position has to be translated and rotated so that the tibial link is again in the input situation see Figure 9b In this way an angle is found FC P Figure 9c Construction of a point of the femoral centrode The design of a software program for the simulation of a two dimensional model of the knee joint 17 Mathematical analysis Now it is clear that P a 22 s Now angle 6 is defined by 6 9 p 9 a 23 Furthermore is determined by Ij I C 24 The position of FC now can be calculated with FC A a b 25 Where a lj cos 8 R b lj sin 5 R 26 N
65. h l and finally addition of vector FC The rotation is done by multiplying the vector with a rotation matrix R See figure 12 Femoral centrode i cos x sin x R sin x cos x Figure 12 Determination of a point of the femoral contact profile by rotation and multiplication The design of a software program for the simulation of a two dimensional model of the knee joint 24 Mathematical analysis This then results in F QT C R pF EF 57 When this procedure of calculating the coordinates of a point of the femoral contact profile is done for a sufficient number of points a good indication of the contact profile is given by drawing straight lines between the points Curve fitting is also possible but may cost a lot of calculation time This visualisation of results is one of the aspects that will be discus sed in the following section The design of a software program for the simulation of a two dimensional model of the knee joint 25 The programming 9 The programming 9 1 Program structure Using the mathematical model a software program has been written The program consists of six main parts These are Input Calculation Output Parameter variation Slip ratio Movie Se Ses Each part of this structure is written as a subroutine which is called from the main program All subroutines may use other subroutines for example from a library Figure 13 shows this F
66. hat there are points with one real solution for the cubic equation and also points with three real solutions The method used here then may have some difficulties in finding the right solution Here also a warning is given This effect can be eliminated by changing either the convexity concavity a of the parabola the parabola will have to be flatter this means a has to be closer to zero or the vertical displacement h h will have to be larger This whole solution of the cubic equation has been worked out in the subroutine CALC which is not mentioned separately since it is only a part of subroutine FEMORA Subroutine FEMORA now will calculate a point of the femoral contact profile by rotation and multiplication of the vector tangent to the femoral centrode 9 3 4 Subroutine OUTPUT This subroutine visualises the results from the calculations It will draw the mechanism according to the given coordinates of points A and B Next it will draw the centrodes and contact profiles In case of parameter variation the centrodes and contact profiles are drawn three times once for the initial parameter values once with the chosen parameter larger and once with the chosen parameter smaller values are mentioned in the user s manual The three cases will be drawn in different linestyles The curves consist of straight lines between the calculated points Curve fitting was not chosen because this would take a lot of extra calculation time Furthermo
67. iation A new position for one or more of the revolutes of the bars A change in the geometry of one of the contact profiles The output of the parameter variation The strains in the bars in case of a change in the position of revolutes or contact profiles the forces in the bars forces in the contact point In the next section a strategy will be presented according to which the problem will be worked out The design of a software program for the simulation of a two dimensional model of the knee joint 6 Strategy 5 Strategy In order to carry on through the whole process smoothly it is necessary to use a well considered strategy The strategy chosen is the following First the exact problem definition will be determined Which of the above mentioned demands will be realised Should all demands be realised but then taking the risk not to be able to end up with a completely working software program the time to be put in is about 240 hours The strategy chosen here is to first consider the most elementary parts of the problem and then with an eye on the time left extend the model with the less important specifications Whether or not any specifications will be imple mented will be decided before starting to write the software program so that the program can be structured well and does not have to be changed afterwards What the most important specifications are will be determined in the next section The next step
68. ign of a sotfware program for the simulation of a 2 dimensional model of the knee joint SB 1 J 20 0D0 SB 2 J 68 0D0 TIBIAL FALSE A J 0 005D0 XO J 50 0D0 H J 7 0D0 N 1 200 GOTO 5 ELSEIF UU EQ 2 THEN kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PARAMETERS FOR PERSPEX MODEL deck dee eek eee e eee e eee e e ee e ee ke CROSS TRUE R 3 1415925 SA 1 J 91 0D0 SA 2 J 78 0D0 SB 1 J 42 0D0 SB 2 J 78 0D0 TIBIAL TRUE A J 0 0D0 H J 7 0D0 N 1 200 GOTO 5 ENDIF kkkkkkkkkkkkkkkkkkkkkkkkxk SELF MADE MECHANISM dede de e de dede de dee dede de dede dee eee ek kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CHOISE FOR CROSSED OR UNCROSSED MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL CLEAR PRINT d PRINT r PRINT 1 A crossed one d PRINT 2 An uncrossed one PRINT i PRINT Enter number of your choice READ UU IF UU LT 1 0R UU GT 2 GOTO 2 CROSS FALSE IF UU EQ 1 CROSS TRUE CALL CLEAR 10 Appendix B Subroutine INPUT Q IF CROSS THEN R 3 14159265 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PICTURE OF CROSSED MECHANISM kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOQOO CALL JOGYAF O0 0DO 0 0D0 CALL JO6YCF 100 0D0 0 0DO CALL JO6YCF 35 0D0 70 0D0 CALL JO6YCF 75 0D0 85 0D0 CALL JOGYCF 0 0DO 0 0D0 CALL JO6YAF 80 0D0 90 0D0 CALL JO6YHF A 1 CALL JO6YAF 25 0D0 75 0D
69. igure 13 The structure of the software program main program and subroutines For further information on the software used see Chapter 12 Literature Now the routines used will be specified It is recommended here to keep the program text see Appendices A to I aside This is because the program text contains a lot of comment lines which can be very useful in understan ding the structure of the program The design of a software program for the simulation of a two dimensional model of the knee joint 26 The programming 9 2 The main program The main program calls the subroutines neede to perform the operations requested by the user These operations are 1 Pie a Input of a mechanism after input the centrodes and contact profiles are calculated automatically Plotting of results Parameter variation Slip ratio Movie Quit the program 9 3 The subroutines As mentioned the program consists of a number of subroutines Each of them performs a specified task and is called from the main program In this way the program is well structured and easy to understand From each subroutine now a short description will be given 9 3 1 Subroutine INPUT This subroutine supplies the program with the input parameters These are A ee UA UE Is the mechanism crossed or uncrossed The coordinates of A and B Type of tibial contact profile straight line or parabola Parameters for the tibial contact profile The
70. ine is the femoral centrode The green line is the tibial contact profile The blue line is the femoral contact profile In the other case the option parameter variation has been chosen yet there will be drawn three mechanisms The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 6 User s Manual The white mechanism is the one without parameter variation The red mechanism is the one with negative parameter variation The green mechanism is the one with positive parameter variation see also 3 2 3 Parameter variation 3 2 3 Parameter variation When the user chooses the option 3 parameter variation the next menu will appear figure 5 1 Elements are rigid 2 Elements are flexible Enter number of your choice figure 5 The parameter variation menu The choise for flexible elements is not yet possible The user has to choose for opportunity 1 while opportunity 2 is not available yet In the situation where the tibial contact profile is a straight line the following menu will appear figure 6 WHICH PARAMETER WOULD YOU LIKE TO VARIATE X coordinate of point A Y coordinate of point A X coordinate of point B Y coordinate of point B Slope of straight line Vertical displacement of straight line Enter number of parameter to be variated Figure 6 Menu for parameter variation with tibial contact profile is a straight line When the user
71. kkkkk kkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF TIBIAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk QOOOO CALL JO6YQF 3 CALL JO6YAF T 1 2 J T 2 2 J DO 12 I 3 N J 1 CALL JO6YCF T 1 1 J T 2 1 J 12 CONTINUE The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 39 QOOQOQO0 QOOQOQOO anaana 14 10 1000 16 Appendix H Subroutine MOVIE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF FEMORAL CENTRODE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YRF 3 CALL JO6YQF 2 CALL JO6YAF NEFC 1 2 J II NEFC 2 2 J II DO 13 I 3 N J 1 CALL JO6YCF NEFC 1 I J II NEFC 2 I J II CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk DRAWING OF FEMORAL CONTACT PROFILE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALL JO6YQF 4 CALL JO6YAF NEF 1 2 J II NEF 2 2 J II DO 14 I 3 N J 1 CALL JO6YCF NEF 1 I J II NEF 2 I J II CONTINUE oc eek e de e e eoe e e A ko kk e A x x x Ax Ax DRAWING THE FOUR LINKS dece dee de e de ee ede eee eek e eek CALL JO6YRF 1 CALL JO6YQF 5 CALL JO6YAF 0 0D0 0 0D0 CALL JO6YCF L4 0 0DO CALL JO6YCF NESB 1 J II NESB 2 J II CALL JO6YCF NESA 1 J II NESA 2 J II CALL JO6YCF 0 0D0 0 0DO PRINT 1000 Press enter to continue CALL JO6WDF CALL JO6YQF 1 IF VARIAT GOTO 15 FORMAT Z a af af ef af al af n a a a a a ad n a al The design of a sotfware program for the simulation of a 2
72. kkkkkkkkkkkkkkkkkkkkkkkkkkkk 00000000000000000 IF VARIAT THEN NNMAX MAX N 1 N 2 N 3 ELSE NNMAX N 1 ENDIF J 0 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 32 QOOO00 Q QOO000 QARAAN C QQOQQO OO0000000 Appendix G Subroutine SLIP TDFMAX O kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CALCULATION OF SLIP RATIO dede dede dede dee dede deed eee eee kk ek J J 1 STL J 0 SFL J 0 DO 2 I 2 N J 2 TL I J SQRT T 1 I 1 J T 1 I J T 1 I 1 J T 1 I J T 2 I 1 J T 2 I J T 2 I 1 J T 2 I J FL I J SQ RT F 1 I 1 J F 1 I J F 1 I 1 J F 1 1I J F 2 I 1 3 F 2 1 J F 2 I 1 J F 2 1 J TDF I J FL I J TL I J TDFMAX MAX TDFMAX TDF I J STL J STL J TL I J SFL J SFL J FL I J NN I J 140 0D0 I 1 NIN 1 CONTINUE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkk CALCULATION OF AVERAGE SLIP RATIO deck de ede kk kkk kk kkk kkk kk kk kkk eee k kkk STDF J SFL J STL J IF J LT 3 AND VARIAT GOTO 1 kkk ckokckckckck c Ackokckck kc k kh k kk Ak kk PLOTTING OF RESULTS kkkkkkkkkkkkkkkkkkkkkkkkk CALL CLEAR CALL JO6WBF 0 0D0 140 0D0 0 0D0 TDFMAX 1 CALL JO6WCF 0 0DO 1 0D0 0 0D0 1 0D0 J 0 J J 1 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk SETTING OF CURRENT LINESTYLE AND COLOUR kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk JOGYOF SETS THE CURRENT COLOUR JOG
73. ks if this is happening and stops the calculations at that moment Then the user will get the following warning figure 12 It is not possible to calculate the full range of the flexion angle gamma for this system The program will calculate the centrodes and the femoral contact profile for 0 lt gamma The mechanism will be drawn in Figure 12 The warning given when it is not possible to simulate the whole flexion range The user can read in the warning for which range of the flexion angle the program could calculate the centrodes The warning gives also the colour of the plot this mechanism will be drawn in This is only of interest when the option parameter variation has been chosen It is possible that the combination of the chosen linkage and the tibial contact profile does not fit In that case the next warning will be given figure 13 11 User s Manual WARNING It is not possible to find a femoral contact profile which fits Change the vertical displacement H larger or the convexity A smaller absolute value First look at the results Figure 13 Warning when it is not possible to calculate a combination of contact profiles that fit Also some suggestions to solve the problem are given The program doesn t stop the calculations so it s possible to take a look to what happens in this case Sometimes it is possible to find parts of the profiles which could fit but it is imp
74. ntrodes can be constructed In the first case when the mechanism is moved with the tibial link fixed which results in the tibial centrode and in the other case the femoral link is fixed from which the femoral centrode is the result These two centrodes are given in figure 4 for the crossed version of the mechanism Femoral Link fixed Tibial Link fixed Corresponding points V O g Figure 4 The corresponding points on the two centrodes It appears that these curves form a pure rolling contact So along the curves corresponding points can be defined one point of the tibial centro de will contact only one point of the femoral centrode This is shown also in figure 4 With the help of these centrodes and the combinations of the corresponding points the curve of the femoral contact profile can be constructed 7 4 Construction of the femoral contact profile From the given tibial profile a line perpendicular to this tibial profile is constructed see figure 5 This line will intersect the tibial centrode and will make an angle x with the tangent to the centrode at the intersection point The lenght of the line segment is To maintain contact between the tibial and femoral contact profiles and to avoid pinching the same combination of x and also has to be found on the femoral contact profile Since it is known which point on the femoral centrode corresponds with the intersection point on the tibial centrode a
75. o be found It is possible to find an analytical solution for this problem but this solution will be very complex and will take a lot of calculation time So a rather simple but satisfactory approximation is chosen see also figure 11 tibial centrode Figure 11 Approximation of vector c tangent to tibial centrode A number of points on the tibial centrode are known and since the curve from the tibial centrode is rather smooth a good approximation is found by using the tangent of the line through the point TC and the point TC This results in Gi TC fia IC qc xi41l TC 96 tC TC pe 52 Now z is found by taking the dot product of 28 and 48 Cfi i7 Cpl A cosi x 53 tit This results in The design of a software program for the simulation of a two dimensional model of the knee joint 23 Mathematical analysis ii C 54 lAl lEn 8 2 3 The construction of the femoral contact profile X77 arccos Before the femoral profile can be constructed an approximation of the unit vector tangent to the femoral centrode c has to be made Hereto the same approximation as in equation 52 is used This results in Cy s Cia F C Jg X C 4 FC pe FC FC y l 1 1 55 Where S FC FC FC FC 56 A point F from the femoral contact profile now can be found by rotating the unit vector cp over an angle x multiplication of the found vector wit
76. ossible to find a femoral contact profile which fits for the whole flexion range 3 4 Termination of the program When the program is terminated for example when a string is entered where a number was expected the monitor will not be reset to the normal VGA EGA video mode The easiest way to get back to this mode is the restart the program by typing knee ENTER Now the user can continue the program or if desired quit the program from the main menu 4 Finally This program has been written for a simulation practical that is a part of the compulsory part of the curriculum of the faculty of Medical Enginee ring Technology of the Eindhoven University of Technology More informa tion about the modelling of the knee by a two dimensional model is given during one of the courses Functional anatomy More information about the model can also be derived from Lit 1 2 and 5 see 5 Literature The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 12 User s Manual 5 Literature 1 Ian A F Stokes Editor Mechanical factors and the skeleton John Libbey amp Company Limited London ISBN 0 86196 006 8 2 Dale Daniel Wayne Akeson John O Connor Knee Ligaments Structure Function Injury and Repair Raven Press New York ISBN 0 88167 605 5 3 Richard S Hartenberg and Jacques Denavit Kinematic Synthesis of Linkages McGraw Hill series in MECHANICAL ENGINEERING
77. ote that in this last formula R is equal to zero in case of the uncrossed mechanism and equal to x in case of the crossed mechanism Now that both the tibial and femoral centrode are known the femoral contact profile can be constructed This will be worked out in section 8 2 The design of a software program for the simulation of a two dimensional model of the knee joint 18 Mathematical analysis 8 2 The femoral contact profile 8 2 1 The distance 1 Since the two centrodes have been constructed in the previous sections the curve of the femoral contact profile now also can be constructed To this aim the combination a has to be found according to the description given in section 7 The length is calculated by using the next procedure see also figure 10 tibial centrode Figure 10 construction of unit vector n and distance Given the profile in figure 10 the position vector r is defined by F x y ye a Differentiation of the position vector r with respect to x yields dr Q8 tis rnd ah t is the unit tangent vector to the tibial contact profile at position r so al PRS ax LA e L x xcu l y 7 amp 4 29 1 y The design of a software program for the simulation of a two dimensional model of the knee joint 19 Mathematical analysis The vector n normal to t now can be found by dt dt IIA 1 30 Working this out yields 1 Hx y e E 31
78. plots will be drawn than in the first case The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 9 User s Manual 3 2 6 Quit This option will quit the program It also resets the terminal to the normal VGA EGA video mode 3 3 The calculations When the user has given a mechanism or when he has variated one of the parameters the program will start the calculations automatically The centrodes and the profiles will be calculated from full extension flexion angle is 0 to full flexion flexion angle is 140 This agrees with a range of 90 to 50 for the angle a of the femoral link see figure 10 a crossed mechanism b uncrossed mechanism In some cases the program will give a warning 1 When the program rotates the tibial link from 90 to 50 it is possi ble that the tibial link becomes in a direct line with one of the cruciate ligaments When this happens the femoral centrode will get what is called a tail see figure 11 The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint 10 2 User s Manual Figure 11 Demonstration of the problem that appears when the mechanism changes from crossed to uncrossed The program will detect the beginning of the Tail and stop further calculations of thecentrode This causes a discontinuity of the femoral contact profile To avoid this problem the program chec
79. r write a software program which simulates a two dimensional kinematic model of a knee joint The program initially had to satisfy several demands Whether or not it would be possilble to satisfy all demands would appear along the way The initial task description was The design of a software program for the simulation of a two dimensional model of the knee joint 5 Introduction The model is based on the concept of a four bar mechanism Two not necessarily crossed bars represent the cruciate ligaments These two bars can be either rigid or slightly elastic The other two bars each are expanded with a plane in such a way that during the motion of the four bar mechanism there will be a continuous contact between the two profiles These profiles represent the contact planes of the femur and tibia The input of the model contains the coordinates of the rotation centers of hinges of the links Herewith the dimensions of the hinges are determined The stiffness of the links The profile of one of the two contact profiles The initial position of the mechanism i e the flexion angle of the joint The increment of the flexion angle The output should contain The curve of the second profile The position of the contact point The position of the instantaneous center of rotation as well as both centro des Instantaneous translation velocities slip in the contact point The input possibilities of the parameter var
80. re the program will show that when a sufficient number of increments is chosen the curves appear to be smooth enough 9 3 5 Subroutine PARA In this last part of the program the opportunity is given to change some variables The following changes are possible 1 A change in one of the coordinates of points A and B x or y coordinate The program then will calculate the effects on the femoral contact profile when the chosen coordinate is made a certain value smaller and larger This value is mentioned in the user s manual The design of a software program for the simulation of a two dimensional model of the knee joint 30 The programming i M H 2 A change in the curve of the tibial contact profile The effects of a little more and a little less concave or convex curve on the femoral contact profile will be shown A vertical or horizontal translation of the curve also is possible again see the user s manual for the exact values 3 A third possibility is to make one or more ligaments slightly elastic At this point it has to be concluded that there is no time left for this part of the problem After the parameter to be varied has been chosen all calculations are done twice again once with the chosen parameter is a certain value smaller and once with the chosen parameter is a certain value larger see user s manual for exact values 9 3 6 Subroutine SLIP This subroutine calculates the slip ratio
81. rieved from the Department of Fundamental Research Faculty of Mechancal Engineering of the Eindhoven University of Technology The design of a software program for the simulation of a two dimensional model of the knee joint 37 Appendices Report number 92 013 B Contents Contents cues oni RARO REC 3 SUO AURORA M Ld de ee Eu Appendix A Main Program 0 eee cece nn Appendix B Subroutine INPUT aoc cee Ee RR Appendic C Subroutine CENTRO ovr ora Ra Appendix D Subroutine FEMORA eee Appendix E Subroutine OUTPUT essere Appendix F Subroutine PARA 0c ccc weer cree neee Appendix G Subroutine SLIP a 4 0 siete m e HR RI aes Appendix H Subroutine MOVIE 0 0 cece ee en The design of a sotfware program for the simulation of a 2 dimensional model of the knee joint Appendix Program text Appendix A Main Program Appendix A Main Program QOOQOO QOQ00000000 0000000000000000000000 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS PROGRAM IS WRITTEN BY NIEK VAN NUNEN AND FRANK PETERS kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk PROGRAM KNEE IMPLICIT NONE kkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk THIS IS THE MAIN PROGRAM FROM WHICH THE NECESSARY SUBROUTINES WILL BE CALLED kkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkk kkkkkkk kkkkkkkk DECLARAT
82. thod a graphical analysis 7 1 The flexion angle y The basis of the model will be a simple four bar mechanism This is one of the most elementary mechanisms in kinematics For the mechanism configurations as drawn in figure 2 are taken To make a link to a real situation an arbitrary flexion angle y is defined Figure 1 suggests that when the tibial link OP is parallel to the femoral link AB the joint is flexed to about 50 So positions can be defined where the joint is fully extended and fully flexed From literature 1 it is known that when the angle o in figure 2 is about 50 the joint is in full extension in other words y is zero In other literature 2 it is found that the maximum flexion angle is about 140 this means is 90 In the following analysis this range 90 a 50 will be used as the range within which the calculations will be made 7 2 The input When the software program is finished the students will have to give some input This input will consist of 1 The form of the mechanism i e whether the mechanism is crossed or uncrossed 2 the coordinates of the hinges A and B The coordinates of the hinges O and P are already determined Herewith all the dimensions i e lengths and a certain flexion angle y and kinematics are determined 3 The curve of the tibial contact profile The choice out of a straight line or a parabola will be given The choice for a circle or an ellipse was neglected be
83. tisfactorily This fact however does not guarantee that the results are valid Therefore some tests are performed These tests will be described in this section 10 1 Conditions resulting from the model There must be one contact point between the tibial centrode and the femoral centrode This contact point has to be at the intersection point of the Anterior Cruciate Ligament ACL and the Posterior Cruciate Liga ment PCL of the mechanism in the position as given in the input In the same way there must be one contact point between the two contact profi les The tangent line of the contact point of the contact profiles has to intersect the contact point of the centrodes When the tibial contact profile is chosen as a straight line it is easy to approximate the angle between the vector n and the tibial centrode This angle has to be found again at the femoral centrode and the femoral contact profile When the tibial contact profile is a horizontal line the vector n only has a vertical component so each point of the femoral contact profile lies straight above the tibial contact profile In practice these last two conditi ons only can be validated for the first and the last point of the curves 10 2 Symmetrical Mechanism When a symmetrical mechanism is chosen the calculated centrodes have to be symmetrical as well In the same way the calculated femoral contact profile has to be symmetrical as the chosen tibial contact profile and the
84. wed to the bones at the human knee occur mainly in the sagittal plane much can be learned by treating the knee as a two dimensional single degree of freedom linkage moving in a single plane figure 1 shows a human knee from which the lateral femoral condyle has been excisted exposing the cruciate ligaments The ligaments together with the two bones form the cruciate linkage AB and PB represent the anterior ACL and posterior PCL cruciate ligaments respectively The program knee simulates a 2 dimensional kinematic model of a knee joint It calculates given a mechanical linkage and tibial contact profile the corresponding tibial and femoral centrodes and the femoral contact profile A normal knee joint can move from full extension to about 140 flexion These values will also be used in the program The user has the opportuni ty to select a straight line as tibial contact profile or a parabole He can also choose between a crossed or an uncrossed linkage After the program has calculated the centrodes and contact profiles the user can variate one of the parameters and examine the effects of the parameter variation The slip ratio between the tibial and the femoral contact profile can be plotted in a diagram The program also has the possibility to plot the mechanism with the centrodes and contact profiles in several positions for different flexion angles All the calculations will be made for a mechanism with rigid elements It s the int
Download Pdf Manuals
Related Search
Related Contents
Subjective Training and Evaluation Program IRL2 - ELAN Home Systems Owner`s Manual Dri-Eaz Jet CXV TurboDryer Sharp XE-A102 Owner's Manual HSB78G13-80B シリーズ 取扱説明書 Manual Cam 600i Pico Communications PicoScope 2104 Network Card User Manual Projector – Wall mounts Copyright © All rights reserved.
Failed to retrieve file