mfdkt2
C MFDKT2 SOURCE PV 07/11/23 21:17:52 5978 ************************************************************************ * * M F D K T 2 * ----------- * * FONCTION: * --------- * * CALCUL EN 1 POINT DE L'ELEMENT "DKT" DES DERIVEES SELON "X" ET "Y" * DE LA FONCTION DE FORME DE LA DEFLEXION. * (UTILE EN CAS D'EXCENTREMENT DE L'ELEMENT, POUR LE CALCUL DE LA * MATRICE-MASSE DUE A LA FLEXION) * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * X, Y (E) COORDONNEES REDUITES DU POINT DE L'ELEMENT. * XEL (E) COORDONNEES LOCALES DES NOEUDS DE L'ELEMENT * (1 NOEUD PAR COLONNE). * HDXY (S) DERIVEES DE LA FONCTION DE FORME DE LA DEFLEXION * (RANGEMENT "Z1", "TETAX1", "TETAY1", "Z2", ...). * HDXY(1..9) = DERIVEE PAR RAPPORT A "X", * HDXY(10..18) = DERIVEE PAR RAPPORT A "Y". * IMPLICIT INTEGER(I-N) IMPLICIT REAL *8 (a-h,o-z) REAL*8 X,Y,XEL(3,3),HDXY(18) * * VARIABLES: * ---------- * REAL*8 Z,A,C * * CONSTANTES: * ----------- * REAL*8 O1,O2,O3,O6 PARAMETER (O1=1.D0, O2=2.D0, O3=3.D0, O6=6.D0) * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 11 JUIN 1987 * P.M. 14/02/90: RECTIFICATION ET REMISE EN FORME DU PASSAGE DANS * LE REPERE GEOMETRIQUE LOCAL X-Y. * * LANGAGE: * -------- * * FORTRAN77 + EXTENSION: DECLARATION "REAL*8". * ************************************************************************ * Z = O1-X-Y * * DERIVEES PAR RAPPORT A "X": * A = Y*(Z-X) HDXY(1) = O6*Z*(Z-O1) + O2*A HDXY(2) = Z*(Z-O2*X) + A/O2 HDXY(3) = -O2*Z*Y + A/O2 HDXY(4) = O6*X*(O1-X) + O2*A HDXY(5) = O3*(X**2) - O2*X - A HDXY(6) = O2*X*Y + A/O2 HDXY(7) = O2*A HDXY(8) = Y**2 + A/O2 HDXY(9) = -A * * DERIVEES PAR RAPPORT A "Y": * A = X*(Z-Y) HDXY(10) = O6*Z*(Z-O1) + O2*A HDXY(11) = -O2*Z*X + A/O2 HDXY(12) = Z*(Z-O2*Y) + A/O2 HDXY(13) = O2*A HDXY(14) = - A HDXY(15) = X**2 + A/O2 HDXY(16) = O6*Y*(O1-Y) + O2*A HDXY(17) = O2*X*Y + A/O2 HDXY(18) = O3*(Y**2) - O2*Y - A * * PASSAGE DANS LE REPERE X,Y (DIRECTION "X" = COTE 1-2). * X21=XEL(1,2)-XEL(1,1) X31=XEL(1,3)-XEL(1,1) Y31=XEL(2,3)-XEL(2,1) X31Y31 = X31 / Y31 X31X21 = X31 / X21 X21Y31 = X21 / Y31 * DO 100 IDX=0,6,3 IDY = 9 + IDX HDXY(IDY+1) = HDXY(IDY+1)/Y31 - HDXY(IDX+1)*X31Y31/X21 HDXY(IDX+1) = HDXY(IDX+1)/X21 C = HDXY(IDX+2)*X31Y31 + HDXY(IDX+3)*X31X21*X31Y31 & - HDXY(IDY+2)*X21Y31 - HDXY(IDY+3)*X31Y31 HDXY(IDY+2) = HDXY(IDY+3) - HDXY(IDX+3)*X31X21 HDXY(IDY+3) = C C = HDXY(IDX+3)/X21Y31 HDXY(IDX+3) = - HDXY(IDX+2) - HDXY(IDX+3)*X31X21 HDXY(IDX+2) = C 100 CONTINUE * END DO * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales