Download jcbien.eso

Back to the list

   1 : C JCBIEN    SOURCE    CHAT      05/01/13    00:49:21     5004           
   2 :       SUBROUTINE JCBIEN(XREF,ITYP,NDIM,NOEL1,XJAC,DET,IZSH)
   3 : *******************************************************************
   4 : *** SP 'JCBIEN' : calcul du jacobien pour le passage entre l'element
   5 : *** de reference et l'element reel.
   6 : ***
   7 : *** APPELES 1 = 'SHAPE'
   8 : *** APPELES 2 = aucun
   9 : ***
  10 : *** E = 'XREF' coordonnees de reference du pt de calcul                  
  11 : ***     'ITYP' entier caracterisant le type de l'element
  12 : ***     'NDIM' dimension de l'espace
  13 : ***     'NOEL1' nbre de noeuds de l'element
  14 : ***
  15 : *** S = 'XJAC' matrice Jacobienne au pt de calcul
  16 : ***     'DET' valeur du Jacobien au pt de calcul
  17 : ***
  18 : *** E/S = 'IZSH' segment content parametres utilises suivants :
  19 : ***     'XYZL' coord reelles des noeuds de l'element (E)
  20 : ***     'SHP(1,I)' fcts forme au pt calcul de reference (S)
  21 : ***     'SHP(2,I)' derivee fcts forme / xsi au pt calcul reference (S)
  22 : ***     'SHP(3,I)' derivee fcts forme / eta au pt calcul reference (S)
  23 : ***     'SHP(4,I)' derivee fcts forme / dzeta au pt calcul reference (S)
  24 : ***
  25 : ***    Auteur  Patrick Meyniel
  26 : ********************************************************************          
  27 : 
  28 :       IMPLICIT INTEGER(I-N)
  29 :       IMPLICIT REAL*8 (A-H,O-Z)
  30 :       SEGMENT IZSH
  31 :           REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  32 :       ENDSEGMENT                                             
  33 :       DIMENSION XREF(*),XJAC(3,*)
  34 : ***   calcul des fonctions de forme et de leur derivees                   
  34 :       CALL SHAPE(XREF(1),XREF(2),XREF(3),ITYP,SHP,IRET)
  35 : ***   initialisation des coefficients de la matrice jacobienne
  36 :       DET=0.D0
  37 :       DO 10 I=1,3
  38 :          DO 20 J=1,3
  39 :             XJAC(I,J)=0.D0
  40 :  20      CONTINUE
  41 :  10   CONTINUE
  42 : ***   calcul des coefficients de derivation de la matrice jacobienne                                                
  43 :       IF (NDIM.EQ.2) THEN
  44 : ***      cas 2D                                                                     
  45 :          DO 30 I=1,NOEL1                                                           
  46 :             XJAC(1,1)=XJAC(1,1)+SHP(2,I)*XYZL(1,I)
  47 :             XJAC(1,2)=XJAC(1,2)+SHP(3,I)*XYZL(1,I)
  48 :             XJAC(2,1)=XJAC(2,1)+SHP(2,I)*XYZL(2,I)
  49 :             XJAC(2,2)=XJAC(2,2)+SHP(3,I)*XYZL(2,I)
  50 :  30      CONTINUE 
  51 :          DET=XJAC(1,1)*XJAC(2,2)-XJAC(1,2)*XJAC(2,1)
  52 :       ELSE
  53 : ***      cas 3D
  54 :          DO 40 I=1,NOEL1                                                           
  55 :             XJAC(1,1)=XJAC(1,1)+SHP(2,I)*XYZL(1,I)
  56 :             XJAC(1,2)=XJAC(1,2)+SHP(3,I)*XYZL(1,I)
  57 :             XJAC(1,3)=XJAC(1,3)+SHP(4,I)*XYZL(1,I)
  58 :             XJAC(2,1)=XJAC(2,1)+SHP(2,I)*XYZL(2,I)
  59 :             XJAC(2,2)=XJAC(2,2)+SHP(3,I)*XYZL(2,I)
  60 :             XJAC(2,3)=XJAC(2,3)+SHP(4,I)*XYZL(2,I)
  61 :             XJAC(3,1)=XJAC(3,1)+SHP(2,I)*XYZL(3,I)
  62 :             XJAC(3,2)=XJAC(3,2)+SHP(3,I)*XYZL(3,I)
  63 :             XJAC(3,3)=XJAC(3,3)+SHP(4,I)*XYZL(3,I)
  64 :  40     CONTINUE
  65 :          DET=XJAC(1,1)*(XJAC(2,2)*XJAC(3,3)-XJAC(3,2)*XJAC(2,3))
  66 :      $       +XJAC(1,2)*(XJAC(3,1)*XJAC(2,3)-XJAC(2,1)*XJAC(3,3))
  67 :      $       +XJAC(1,3)*(XJAC(2,1)*XJAC(3,2)-XJAC(2,2)*XJAC(3,1)) 
  68 :       ENDIF
  69 :       RETURN
  70 :       END          
  71 : 
  72 :  
  73 :  

© Cast3M 2003 - All rights reserved.
Disclaimer