1 : C MANRIG SOURCE CHAT 05/01/13 01:28:19 5004 2 : SUBROUTINE MANRIG (LETYPE,IPELEM,IPCOMP,IPMATR, IPRIGI) 3 : ************************************************************************ 4 : * 5 : * M A N R I G 6 : * ----------- 7 : * 8 : * FONCTION: 9 : * --------- 10 : * 11 : * EQUIVAUT A L'OPERATEUR "MANUEL" AVEC L'OPTION "RIGIDITE", SANS 12 : * LECTURE-ECRITURE ET LIMITE A: 13 : * - DES OBJETS 'MAILLAGE' NE CONTENANT QU'UN TYPE D'ELEMENT 14 : * GEOMETRIQUE, 15 : * - DES POINTS AYANT TOUS MEMES COMPOSANTES, 16 : * 17 : * MODE D'APPEL: 18 : * ------------- 19 : * 19 : * CALL MANRIG (LETYPE,IPELEM,IPCOMP,IPMATR, IPRIGI) 20 : * 21 : * PARAMETRES: (E)=ENTREE (S)=SORTIE 22 : * ----------- 23 : * 24 : * LETYPE ENTIER (E) VOIR LE SOUS-PROGRAMME "MANURI". 25 : * IPELEM ENTIER (E) VOIR LE SOUS-PROGRAMME "MANURI". 26 : * IPCOMP ENTIER (E) POINTEUR SUR UN 'LISTMOTS' CONTENANT LA 27 : * LISTE DES COMPOSANTES DES POINTS DE 28 : * L'ELEMENT. 29 : * IPMATR ENTIER (E) POINTEUR SUR UN 'LISTREEL' CONTENANT LES 30 : * VALEURS D'UNE MATRICE ELEMENTAIRE DE 31 : * RIGIDITE (VOIR LE SOUS-PROGRAMME "MANURI" 32 : * POUR LES DETAILS). 33 : * ON N'A PAS LA POSSIBILITE DE FOURNIR 1 34 : * 'LISTREEL' PAR LIGNE. 35 : * IPRIGI ENTIER (E) OBJET 'RIGIDITE' CREE. 36 : * 37 : * SOUS-PROGRAMMES APPELES: 38 : * ------------------------ 39 : * 40 : * MANUR2 41 : * 42 : * AUTEUR, DATE DE CREATION: 43 : * ------------------------- 44 : * 45 : * PASCAL MANIGOT 26 AVRIL 1985 46 : * 47 : * LANGAGE: 48 : * -------- 49 : * 50 : * ESOPE + FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS. 51 : * 52 : ************************************************************************ 53 : * 54 : IMPLICIT INTEGER(I-N) 55 : -INC SMLREEL 56 : CHARACTER*(*) LETYPE 57 : * 58 : SEGMENT/MTEMP3/ (ILMOTS(0)),MTEM3.MTEMP3 59 : SEGMENT/MTEMP4/ (ILREEL(0)) 60 : * 61 : SEGINI,MTEMP3 62 : MTMP3 = MTEMP3 63 : ILMOTS(**) = IPCOMP 64 : SEGDES,MTEMP3 65 : * 66 : SEGINI,MTEMP4 67 : MTMP4 = MTEMP4 68 : MLREEL=IPMATR 69 : SEGACT MLREEL 70 : L=PROG(/1) 71 : J1=INT( SQRT(2. * L)) 72 : JG = J1 *J1 73 : SEGINI MLREE1 74 : JA=0 75 : DO 1 I=1,J1 76 : JB=(I-1)*J1 77 : DO 1 J=1,J1 78 : IKO= (I-1)*I /2 +J 79 : IF( J.GT.I) IKO= (J-1)*J /2 + I 80 : MLREE1.PROG(JB+J)= PROG(IKO) 81 : 1 CONTINUE 82 : SEGDES MLREE1 83 : SEGDES MLREEL 84 : ILREEL(**) = MLREE1 85 : SEGDES,MTEMP4 86 : * 87 : IANTI = 0 87 : CALL MANUR2(LETYPE,IPELEM,MTMP3,0,MTMP4,IPRIGI,IANTI) 88 : * 89 : END 90 :
© Cast3M 2003 - All rights reserved.
Disclaimer