1 : C DYNE03 SOURCE CHAT 09/10/09 21:17:32 6519 2 : SUBROUTINE DYNE03(IRIGK,IRSCPR,MUCT,ICHOLX) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * D Y N E 0 3 8 : * ----------- 9 : * 10 : * FONCTION: 11 : * --------- 12 : * UTILITAIRE DE L'OPERATEUR "DYNE" 13 : * PREPARATION DU PRODUIT DE TYPE : K * U 14 : * 15 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 16 : * ----------- 17 : * 18 : * IRIGK (E) POINTEUR SUR L'OBJET RIGIDITE K 19 : * IRSCPR (E) POINTEUR SUR LE SEGMENT ICPR ( ACTIF ) 20 : * MUCT (S) POINTEUR SUR LE SEGMENT MUCTRA ( LAISSE ACTIF ) 21 : * ICHOLX (E) POINTEUR SUR LE SEGMENT MMATRI ( ACTIF ) 22 : * 23 : * AUTEUR, DATE DE CREATION: 24 : * ------------------------- 25 : * DENIS ROBERT, LE 16 NOVEMBRE 1988. 26 : * 27 : * LANGAGE: 28 : * -------- 29 : * ESOPE + FORTRAN77 30 : * 31 : ************************************************************************ 32 : * 33 : * MODULES UTILISES: 34 : * 35 : -INC CCOPTIO 36 : -INC SMRIGID 37 : -INC SMELEME 38 : -INC SMMATRI 39 : -INC SMCOORD 40 : * 41 : CHARACTER*4 NI 42 : * 43 : SEGMENT MUCTRA 44 : REAL*8 CC(NLIGMA) 45 : INTEGER MUCPO,MUCMIK,MUCDUA,MUIPOS(NLIGMA),MUCPR 46 : ENDSEGMENT 47 : SEGMENT ICPR(XCOOR(/1)/(IDIM+1)) 48 : * 49 : MMATRI=ICHOLX 50 : MRIGID=IRIGK 51 : SEGACT,MRIGID 52 : NRIGEL=IRIGEL(/2) 53 : NLIGMA=0 54 : * 55 : *--- ON VERIFIE QUE LES DDL DES RIGIDITES K ET A SONT COMPATIBLES 56 : * 57 : MINCPO=IINCPO 58 : MIMIK=IIMIK 59 : ICPR=IRSCPR 60 : ININC=IMIK(/2) 61 : * 62 : *--- BOUCLE SUR LES ZONES ELEMENTAIRES DE LA RIGIDITE 63 : * 64 : DO 20 IRI=1,NRIGEL 65 : MELEME=IRIGEL(1,IRI) 66 : SEGACT,MELEME 67 : DESCR=IRIGEL(3,IRI) 68 : SEGACT,DESCR 69 : NLIGRE=LISINC(/2) 70 : IF (NLIGRE.GT.NLIGMA) NLIGMA=NLIGRE 71 : * 72 : *--- BOUCLE SUR LES LIGNES D'UNE MATRICE ELEMENTAIRE 73 : * 74 : DO 21 IN=1,NLIGRE 75 : NI=LISINC(IN) 76 : DO 22 IJ=1,ININC 77 : IF(NI.EQ.IMIK(IJ)) GO TO 23 78 : 22 CONTINUE 79 : * END DO 80 : *--- UNE COMPOSANTE DE K N'EST PAS UNE COMPOSANTE DE M 81 : MOTERR(1:4)=' K' 82 : MOTERR(5:8)=NI 82 : CALL ERREUR(304) 83 : RETURN 84 : 23 CONTINUE 85 : 21 CONTINUE 86 : * END DO 87 : * 88 : *--- BOUCLE SUR TOUS LES ELEMENTS 89 : * 90 : N1=NUM(/1) 91 : N2=NUM(/2) 92 : xMATRI=IRIGEL(4,IRI) 93 : SEGACT xMATRI 94 : DO 30 I2=1,N2 95 : * 96 : *--- BOUCLE SUR LES POINTS DE L'ELEMENT 97 : * 98 : DO 31 I1=1,N1 99 : IF(ICPR(NUM(I1,I2)).EQ.0) THEN 100 : *--- UN POINT DU SUPPORT DE K N'APPARTIENT PAS AU SUPPORT DE M 101 : INTERR(1)=ICPR(NUM(I1,I2)) 102 : MOTERR(1:4)=' K' 102 : CALL ERREUR(305) 103 : RETURN 104 : ENDIF 105 : 31 CONTINUE 106 : * END DO 107 : * XMATRI=IMATTT(I2) 108 : * SEGACT,XMATRI 109 : * 110 : 30 CONTINUE 111 : * END DO 112 : * SEGDES,DESCR 113 : * SEGDES,MELEME 114 : 20 CONTINUE 115 : * END DO 116 : * SEGDES,MRIGID 117 : * 118 : *--- CREATION DU SEGMENT DE TRAVAIL MUCTRA 119 : * 120 : SEGINI,MUCTRA 121 : MUCPO=IINCPO 122 : MUCMIK=IIMIK 123 : MUCDUA=IIDUA 124 : MUCPR=IRSCPR 125 : MUCT=MUCTRA 126 : * 127 : END 128 : 129 : 130 : 131 : 132 : 133 : 134 : 135 : 136 :
© Cast3M 2003 - All rights reserved.
Disclaimer