Download matjac.eso

Back to the list

   1 : C MATJAC    SOURCE    CHAT      05/01/13    01:34:28     5004           
   2 :       SUBROUTINE MATJAC(XEL,SHP,IDIM,NBNO,ZJAC,DJAC)
   3 : C-----------------------------------------------------------------------
   4 : C Calcul la matrice jacobienne (et son determinant) de la fonction
   5 : C transformant l'element de reference en l'element reel.
   6 : C-----------------------------------------------------------------------
   7 : C
   8 : C---------------------------
   9 : C Parametres Entree/Sortie :
  10 : C---------------------------
  11 : C
  12 : C E/  XEL     : Coordonnees locales des noeuds de l'element.
  13 : C E/  SHP     : Fonction de forme et derivees des fonctions de forme.
  14 : C E/  IDIM    : Dimension de l'espace (2 en 2D et 3 en 3D).
  15 : C E/  NBNO    : Nombre de noeuds.
  16 : C  /S ZJAC    : Matrice jacobienne au noeud ou au pt gauss selon le
  17 : C               support des fonctions de forme SHP.
  18 : C  /S DJAC    : Determinant de la matrice jacobienne (0=non inversible).
  19 : C
  20 : C-----------------------------------------------------------------------
  21 : C
  22 : C Langage : FORTRAN77
  23 : C
  24 : C Auteurs : F.DABBENE 08/93 d'apres jacobi.eso
  25 : C
  26 : C Remarque: La matrice jacobienne construite est la transposée de la
  27 : C           matrice jacobienne utilisée pour le passage des dérivées
  28 : C           du repere local au repere global.
  29 : C
  30 : C-----------------------------------------------------------------------
  31 :       IMPLICIT INTEGER(I-N)
  32 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  33 : C
  34 :       DIMENSION XEL(3,NBNO),SHP(6,NBNO)
  35 :       DIMENSION ZJAC(IDIM,IDIM)
  36 :       DATA XZER /0.D0/
  37 : C
  38 : C= Mise a zero des variables de travail
  39 : C
  40 :       DJAC = XZER
  40 :       CALL ZERO(ZJAC,IDIM,IDIM)
  41 : C                                                                               
  42 :       IF (IDIM.EQ.1) THEN
  43 : C--------
  44 : C CAS 1D
  45 : C--------
  46 :          DO 10 I=1,NBNO
  47 :             ZJAC(1,1) = ZJAC(1,1) + SHP(2,I)*XEL(1,I)
  48 :   10     CONTINUE
  49 :          DJAC = ZJAC(1,1)
  50 :       ELSEIF (IDIM.EQ.2) THEN
  51 : C--------
  52 : C CAS 2D
  53 : C--------
  54 :          DO 20 I=1,NBNO
  55 :             ZJAC(1,1) = ZJAC(1,1) + SHP(2,I)*XEL(1,I)
  56 :             ZJAC(1,2) = ZJAC(1,2) + SHP(3,I)*XEL(1,I)
  57 :             ZJAC(2,1) = ZJAC(2,1) + SHP(2,I)*XEL(2,I)
  58 :             ZJAC(2,2) = ZJAC(2,2) + SHP(3,I)*XEL(2,I)
  59 :   20     CONTINUE
  60 :          DJAC = ZJAC(1,1)*ZJAC(2,2) - ZJAC(1,2)*ZJAC(2,1)
  61 :       ELSEIF (IDIM.EQ.3) THEN
  62 : C--------
  63 : C CAS 3D
  64 : C--------
  65 :          DO 30 I=1,NBNO
  66 :             ZJAC(1,1) = ZJAC(1,1) + SHP(2,I)*XEL(1,I)
  67 :             ZJAC(1,2) = ZJAC(1,2) + SHP(3,I)*XEL(1,I)
  68 :             ZJAC(1,3) = ZJAC(1,3) + SHP(4,I)*XEL(1,I)
  69 :             ZJAC(2,1) = ZJAC(2,1) + SHP(2,I)*XEL(2,I)
  70 :             ZJAC(2,2) = ZJAC(2,2) + SHP(3,I)*XEL(2,I)
  71 :             ZJAC(2,3) = ZJAC(2,3) + SHP(4,I)*XEL(2,I)
  72 :             ZJAC(3,1) = ZJAC(3,1) + SHP(2,I)*XEL(3,I)
  73 :             ZJAC(3,2) = ZJAC(3,2) + SHP(3,I)*XEL(3,I)
  74 :             ZJAC(3,3) = ZJAC(3,3) + SHP(4,I)*XEL(3,I)
  75 :   30     CONTINUE
  76 :          DET11 = ZJAC(2,2)*ZJAC(3,3) - ZJAC(2,3)*ZJAC(3,2)
  77 :          DET12 =-ZJAC(1,2)*ZJAC(3,3) + ZJAC(3,2)*ZJAC(1,3)
  78 :          DET13 = ZJAC(1,2)*ZJAC(2,3) - ZJAC(2,2)*ZJAC(1,3)
  79 :          DJAC  = ZJAC(1,1)*DET11 + ZJAC(2,1)*DET12 + ZJAC(3,1)*DET13
  80 :       ENDIF
  81 : C
  82 :       RETURN                                                                    
  83 :       END                                                                       
  84 :  

© Cast3M 2003 - All rights reserved.
Disclaimer