ndkt
C NDKT SOURCE CHAT 05/01/13 01:56:26 5004 ************************************************************************ * * N D K T * ------- * * FONCTION: * --------- * * CALCUL DE LA MATRICE "N" EN UN POINT DE GAUSS DE L'ELEMENT "DKT", * POUR LE CALCUL DE LA MATRICE-MASSE = SOMME SUR L'ELEMENT DE "NT.N" * * FORME DE LA MATRICE "N": * * A1 00 E1 F1 G1 00 A2 00 E2 F2 G2 00 A3 00 E3 F3 G3 00 * 00 A1 H1 I1 J1 00 00 A2 H2 I2 J2 00 00 A3 H3 I3 J3 00 * 00 00 B1 C1 D1 00 00 00 B2 C2 D2 00 00 00 B3 C3 D3 00 * * LES TERMES "E" A "J" SONT NON NULS LORSQUE L'ELEMENT EST EXCENTRE. * * MODULES UTILISES: * ----------------- * IMPLICIT INTEGER(I-N) -INC CCREEL * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * IGAU (E) NUMERO DU POINT DE GAUSS. * XEL (E) COORDONNEES LOCALES DES NOEUDS DE L'ELEMENT * (1 NOEUD PAR COLONNE). * EXCENT (E) VALEUR D'EXCENTREMENT DE L'ELEMENT. * SHPTOT (E) FONCTIONS DE FORMES ET DERIVEES (DANS L'ORDRE USUEL). * SHP E/S TABLEAU DE TRAVAIL. * XGENE (S) MATRICE "N". * DJAC (S) JACOBIEN. * INTEGER IGAU REAL*8 EXCENT,DJAC REAL*8 XEL(3,3),SHPTOT(6,3,*),SHP(6,3),XGENE(3,18) * * CONSTANTES: * ----------- * * XX, YY = COORDONNEES DANS LE TRIANGLE DE REFERENCE DES POINTS DE * GAUSS. * REAL*8 XX(3),YY(3) * * VARIABLES: * ---------- * REAL*8 BB(18) * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 15 JUIN 1987 * * LANGAGE: * -------- * * FORTRAN77 + EXTENSION: DECLARATION "REAL*8". * ************************************************************************ * DATA XX/.5D0,.0D0,.5D0/ DATA YY/.0D0,.5D0,.5D0/ * * SHP(1,NPOI)=SHPTOT(1,NPOI,IGAU) SHP(2,NPOI)=SHPTOT(2,NPOI,IGAU) 127 SHP(3,NPOI)=SHPTOT(3,NPOI,IGAU) * RQ: A CE NIVEAU, SHP(2,*) ET SHP(3,*) CONTIENNENT LES DERIVEES * DANS L'ESPACE GEOMETRIQUE. K=1 XGENE(1,K )=SHP(1,NPOI) XGENE(2,K+1)=SHP(1,NPOI) 227 K=K+6 KK=3 IA=1 XGENE(3,KK )=BB(IA ) XGENE(3,KK+1)=BB(IA+1) XGENE(3,KK+2)=BB(IA+2) KK=KK+6 IA=IA+3 327 CONTINUE * IF (ABS(EXCENT) .GT. XPETIT) THEN KK=3 IA=1 * * CORRECTION P. MANIGOT : CHANGEMENT DE SIGNE DES EXCENTREMENTS * XGENE(1,KK )= EXCENT*BB(IA) XGENE(1,KK+1)= EXCENT*BB(IA+1) XGENE(1,KK+2)= EXCENT*BB(IA+2) XGENE(2,KK )= EXCENT*BB(IA+ 9) XGENE(2,KK+1)= EXCENT*BB(IA+10) XGENE(2,KK+2)= EXCENT*BB(IA+11) KK=KK+6 IA=IA+3 427 CONTINUE END IF * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales