arpope
C ARPOPE SOURCE MB234859 26/08/26 21:15:06 12626 *********************************************************************** * * A R P O P E * * FONCTION: * --------- * * CONSTRUCTION DES OPERATEURS DE TRAVAIL POUR ARPACK * * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * * IPRIGI ENTIER (E) POINTEUR DE LA RIGIDITE * * IPMASS ENTIER (E) POINTEUR DE LA MASSE * * IPAMOR ENTIER (E) POINTEUR DE L'AMORTISSEMENT * * QUAD LOGIQUE (E) PROBLEME QUADRATIQUE OU NON * * SIGMA COMPLEXE DP (E) VALEUR DU SHIFT * * IPRTRA ENTIER (S) POINTEUR VERS LE SEGMENT DES OPERATEURS * * * SOUS-PROGRAMMES APPELES: * ------------------------ * * DECALE, TRIANG, LDMT1 * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL BOUDA 17 JUILLET 2015 * * LANGAGE: * -------- * * FORTRAN 77 & 90 * ************************************************************************ IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMRIGID -INC TARWORK -INC CCREEL INTEGER IPRIGI INTEGER IPMASS INTEGER IPAMOR LOGICAL QUAD INTEGER IPRTRA INTEGER IPBUFF INTEGER IPINT INTEGER IPCHO INTEGER NBR, NRG * Liste des operateurs construits * * K MATRICE DE RIGIDITE * M MATRICE DE MASSE * C MATRICE D'AMORTISSEMENT * RIGI(1)=K * RIGI(2)=M OU KSIGMA * RIGI(3)=C * RIGI(4)=K-RE(SIGMA)*M * RIGI(5)=C+RE(SIGMA)*M * RIGI(6)=K+RE(SIGMA)*(C+RE(SIGMA)*M) * SYME indique si l'operateur construit est symetrique *ou non xspetl = xspeti NB=6 SEGINI MRITRA ENDDO IF (.NOT. QUAD) THEN ELSE ENDIF *Triangularisation des operateurs de travail si necessaire SEGACT MRIGID IPCHO=ICHOLE NRG = IRIGEL(/1) NBR = IRIGEL(/2) SYME(i)=0 IF (NRG .GE. 7) THEN DO j=1,NBR IANTI=IRIGEL(7,j) IF (IANTI .GT. 0) THEN SYME(i)=1 ENDIF ENDDO ENDIF SEGDES MRIGID IF (IPCHO .EQ. 0) THEN INSYME=SYME(i) IF (IERR .NE. 0) RETURN ENDIF ENDIF ENDDO IPRTRA=MRITRA SEGDES MRITRA END
© Cast3M 2003 - Tous droits réservés.
Mentions légales