C MANRIG SOURCE CHAT 05/01/13 01:28:19 5004 SUBROUTINE MANRIG (LETYPE,IPELEM,IPCOMP,IPMATR, IPRIGI) ************************************************************************ * * M A N R I G * ----------- * * FONCTION: * --------- * * EQUIVAUT A L'OPERATEUR "MANUEL" AVEC L'OPTION "RIGIDITE", SANS * LECTURE-ECRITURE ET LIMITE A: * - DES OBJETS 'MAILLAGE' NE CONTENANT QU'UN TYPE D'ELEMENT * GEOMETRIQUE, * - DES POINTS AYANT TOUS MEMES COMPOSANTES, * * MODE D'APPEL: * ------------- * * CALL MANRIG (LETYPE,IPELEM,IPCOMP,IPMATR, IPRIGI) * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * LETYPE ENTIER (E) VOIR LE SOUS-PROGRAMME "MANURI". * IPELEM ENTIER (E) VOIR LE SOUS-PROGRAMME "MANURI". * IPCOMP ENTIER (E) POINTEUR SUR UN 'LISTMOTS' CONTENANT LA * LISTE DES COMPOSANTES DES POINTS DE * L'ELEMENT. * IPMATR ENTIER (E) POINTEUR SUR UN 'LISTREEL' CONTENANT LES * VALEURS D'UNE MATRICE ELEMENTAIRE DE * RIGIDITE (VOIR LE SOUS-PROGRAMME "MANURI" * POUR LES DETAILS). * ON N'A PAS LA POSSIBILITE DE FOURNIR 1 * 'LISTREEL' PAR LIGNE. * IPRIGI ENTIER (E) OBJET 'RIGIDITE' CREE. * * SOUS-PROGRAMMES APPELES: * ------------------------ * * MANUR2 * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 26 AVRIL 1985 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS. * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC SMLREEL CHARACTER*(*) LETYPE * SEGMENT/MTEMP3/ (ILMOTS(0)),MTEM3.MTEMP3 SEGMENT/MTEMP4/ (ILREEL(0)) * SEGINI,MTEMP3 MTMP3 = MTEMP3 ILMOTS(**) = IPCOMP SEGDES,MTEMP3 * SEGINI,MTEMP4 MTMP4 = MTEMP4 MLREEL=IPMATR SEGACT MLREEL L=PROG(/1) J1=INT( SQRT(2. * L)) JG = J1 *J1 SEGINI MLREE1 JA=0 DO 1 I=1,J1 JB=(I-1)*J1 DO 1 J=1,J1 IKO= (I-1)*I /2 +J IF( J.GT.I) IKO= (J-1)*J /2 + I MLREE1.PROG(JB+J)= PROG(IKO) 1 CONTINUE SEGDES MLREE1 SEGDES MLREEL ILREEL(**) = MLREE1 SEGDES,MTEMP4 * IANTI = 0 CALL MANUR2(LETYPE,IPELEM,MTMP3,0,MTMP4,IPRIGI,IANTI) * END