Download tcond5.eso

Back to the list

   1 : C TCOND5    SOURCE    CHAT      05/01/13    03:34:19     5004           
   2 : 
   3 : C=======================================================================
   4 : C=                            T C O N D 5                              =
   5 : C=                            -----------                              =
   6 : C=                                                                     =
   7 : C=  Fonction :                                                         =
   8 : C=  ----------                                                         =
   9 : C=   Calcul, au point de Gauss (iGau) considere, du jacobien (DJAC),   =
  10 : C=   des fonctions de forme et de leurs derivees (SHP), de la matrice  =
  11 : C=   gradient des fonctions de forme (derivation par rapport aux coor- =
  12 : C=   donnees reelles x,y,z ou r,theta,z)                               =
  13 : C=                                                                     =
  14 : C=  Parametres :  (E)=Entree  (S)=Sortie                               =
  15 : C=  ------------                                                       =
  16 : C=   iGau    (E)  Numero du point de Gauss considere                   =
  17 : C=   NBNN    (E)  Nombre de NOEUDS de l'element                        =
  18 : C=   NDIM    (E)  Nombre de lignes de la matrice GRADIENT              =
  19 : C=   XE      (E)  COORDONNEES des noeuds de l'element (repere GLOBAL)  =
  20 : C=   SHPTOT  (E)  Fonctions de FORME et leurs DERIVEES par rapport aux =
  21 : C=                coordonnees de REFERENCE (Qsi,Eta,Dzeta)             =
  22 : C=   SHP     (S)  Fonctions de FORME et leurs DERIVEES par rapport aux =
  23 : C=                coordonnees REELLES (X,Y,Z)                          =
  24 : C=   GRAD    (S)  Matrice GRADIENT par rapport aux coordonnees REELLES =
  25 : C=   DJAC    (S)  JACOBIEN au point de Gauss considere                 =
  26 : C=                                                                     =
  27 : C=  Denis ROBERT, le 7 janvier 1988.                                   =
  28 : C=======================================================================
  29 : 
  30 :       SUBROUTINE TCOND5 (iGau,NBNN,NDIM,XE,SHPTOT,SHP,GRAD,DJAC)
  31 : 
  32 :       IMPLICIT INTEGER(I-N)
  33 :       IMPLICIT REAL*8 (A-H,O-Z)
  34 : 
  35 : -INC CCOPTIO
  36 : -INC CCREEL
  37 : 
  38 : C= Quelques constantes (2.Pi et 4.Pi)
  39 :       PARAMETER (X2Pi=6.283185307179586476925286766559D0)
  40 :       PARAMETER (X4Pi=12.566370614359172953850573533118D0)
  41 : 
  42 :       REAL*8 XE(3,*),SHPTOT(6,NBNN,*),SHP(6,*),GRAD(NDIM,*)
  43 : 
  44 : C ====================
  45 : C  1 - Initialisation
  46 : C ====================
  46 : C*OF  CALL ZERO(GRAD,NDIM,NBNN)
  47 : 
  48 : C ============================================
  49 : C  2 - Cas des elements MASSIFS 2D PLAN ou 3D
  50 : C ============================================
  51 :       IF (IFOMOD.EQ.-1.OR.IFOMOD.EQ.2) THEN
  52 :         iFin=IDIM+1
  53 :         DO j=1,NBNN
  54 :           DO i=1,iFin
  55 :             SHP(i,j)=SHPTOT(i,j,iGau)
  56 :           ENDDO
  57 :         ENDDO
  57 :         CALL JACOBI(XE,SHP,IDIM,NBNN,DJAC)
  58 :         DO j=1,NBNN
  59 :           DO i=1,NDIM
  60 :             GRAD(i,j)=SHP(i+1,j)
  61 :           ENDDO
  62 :         ENDDO
  63 : C ================================================
  64 : C  3 - Cas des elements MASSIFS 2D AXISYMETRIQUES
  65 : C ================================================
  66 :       ELSE IF (IFOMOD.EQ.0) THEN
  67 :         DO j=1,NBNN
  68 :           SHP(1,j)=SHPTOT(1,j,iGau)
  69 :           SHP(2,j)=SHPTOT(2,j,iGau)
  70 :           SHP(3,j)=SHPTOT(3,j,iGau)
  71 :         ENDDO
  71 :         CALL JACOBI(XE,SHP,IDIM,NBNN,DJAC)
  71 :         CALL DISTRR(XE,SHP,NBNN,RR)
  72 :         DJAC=X2Pi*DJAC*RR
  73 :         DO j=1,NBNN
  74 :           GRAD(1,j)=SHP(2,j)
  75 :           GRAD(2,j)=SHP(3,j)
  76 :         ENDDO
  77 : C ==============================================
  78 : C  4 - Cas des elements MASSIFS en mode FOURIER
  79 : C ==============================================
  80 :       ELSE IF (IFOMOD.EQ.1) THEN
  81 :         DO j=1,NBNN
  82 :           SHP(1,j)=SHPTOT(1,j,iGau)
  83 :           SHP(2,j)=SHPTOT(2,j,iGau)
  84 :           SHP(3,j)=SHPTOT(3,j,iGau)
  85 :         ENDDO
  85 :         CALL JACOBI(XE,SHP,IDIM,NBNN,DJAC)
  85 :         CALL DISTRR(XE,SHP,NBNN,RR)
  86 :         IF (NIFOUR.EQ.0) THEN
  87 :           DJAC=X2Pi*DJAC*RR
  88 :         ELSE
  89 :           DJAC=XPi*DJAC*RR
  90 :         ENDIF
  91 :         DNN=NIFOUR/RR
  92 :         DO j=1,NBNN
  93 :           GRAD(1,j)=SHP(2,j)
  94 :           GRAD(2,j)=DNN*SHP(1,j)
  95 :           GRAD(3,j)=SHP(3,j)
  96 :         ENDDO
  97 : C =================================
  98 : C  5 - Cas des elements MASSIFS 1D
  99 : C =================================
 100 :       ELSE IF (IFOMOD.EQ.3.OR.IFOMOD.EQ.4.OR.IFOMOD.EQ.5) THEN
 101 :         DO j=1,NBNN
 102 :           SHP(1,j)=SHPTOT(1,j,iGau)
 103 :           SHP(2,j)=SHPTOT(2,j,iGau)
 104 :         ENDDO
 104 :         CALL JACOBI(XE,SHP,IDIM,NBNN,DJAC)
 105 : C= Traitement des modes axisymetriques et spherique 1D
 106 :         IF (IFOMOD.EQ.4) THEN
 106 :           CALL DISTRR(XE,SHP,NBNN,RR)
 107 :           DJAC=X2Pi*DJAC*RR
 108 :         ELSE IF (IFOMOD.EQ.5) THEN
 108 :           CALL DISTRR(XE,SHP,NBNN,RR)
 109 :           DJAC=X4Pi*DJAC*RR*RR
 110 :         ENDIF
 111 :         DO j=1,NBNN
 112 :           GRAD(1,j)=SHP(2,j)
 113 :         ENDDO
 114 :       ENDIF
 115 : 
 116 :       RETURN
 117 :       END
 118 : 
 119 :  
 120 :  

© Cast3M 2003 - All rights reserved.
Disclaimer