Download matglo.eso

Back to the list

   1 : C MATGLO    SOURCE    CHAT      05/01/13    01:34:06     5004           
   2 :       SUBROUTINE MATGLO(CMAT,CMAT1,CMAT2,TXR,XLOC,XGLOB,VALMAT,
   3 :      S                  NDIM,IDIM,INM,IFOMOD)
   4 : C-----------------------------------------------------------------------
   5 : C Transformation d'une matrice exprimée dans le repere local a l'element
   6 : C au repere global dans le cas d'un materiau ...trope.
   7 : C Cette matrice, issue du MCHAML materiau de sous type caracteristique,
   8 : C caracterise le materiau : Conductibilité, Perméabilité ...
   9 : C-----------------------------------------------------------------------
  10 : C
  11 : C---------------------------
  12 : C Parametres Entree/Sortie :
  13 : C---------------------------
  14 : C
  15 : C  /S CMAT    : Matrice caracterisant le materiau dans le repere global.
  16 : C E/  TXR     : Cosinus directeurs des axes locaux / repere global.
  17 : C E/  VALMAT  : Valeurs des coeff. de la matrice CMAT et des
  18 : C               cosinus directeurs des axes d'ortho. / repere local.
  19 : C E/  NDIM    : Taille de la matrice CMAT (=IDIM sauf en FOURIER=3)
  20 : C E/  IDIM    : Dimension de l'espace (2 en 2D et 3 en 3D)
  21 : C E/  INM     : Indique la Nature du Materiau (1/iso,2/ortho,3/aniso)
  22 : C E/  IFOMOD  : Vaut 1 si on utilise les elements massifs 2D de FOURIER.
  23 : C
  24 : C----------------------
  25 : C Tableaux de travail :
  26 : C----------------------
  27 : C
  28 : C     CMAT1   : Matrice caracterisant le materiau dans le repere local.
  29 : C     CMAT2   : Matrice caracterisant le materiau dans le repere global.
  30 : C     XLOC    : Cosinus directeurs des axes d'ortho. / repere local.
  31 : C     XGLOB   : Cosinus directeurs des axes d'ortho. / repere global.
  32 : C
  33 : C-----------------------------------------------------------------------
  34 : C
  35 : C Langage : FORTRAN77
  36 : C
  37 : C Auteurs : F.DABBENE 08/93 d'apres tnumac.eso de P. DOWLATYARI 10/90
  38 : C
  39 : C-----------------------------------------------------------------------
  40 :       IMPLICIT INTEGER(I-N)
  41 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  42 : C
  43 :       DIMENSION CMAT(NDIM,NDIM), CMAT1(IDIM,IDIM), CMAT2(IDIM,IDIM),
  44 :      S          TXR (IDIM,IDIM), XLOC (IDIM,IDIM), XGLOB(IDIM,IDIM),
  45 :      S          VALMAT(*)
  46 : C
  47 : C= Mise a zero des tableaux de travail
  48 : C
  48 :       CALL ZERO(CMAT,NDIM,NDIM)
  48 :       CALL ZERO(CMAT1,IDIM,IDIM)
  48 :       CALL ZERO(CMAT2,IDIM,IDIM)
  48 :       CALL ZERO(XGLOB,IDIM,IDIM)
  49 : C
  50 : C------------------------------------------------------------------
  51 : C RECUPERATION DE LA MATRICE DANS LE REPERE LOCAL ET CONSTRUCTION
  52 : C    DE LA MATRICE DE PASSAGE DU REPERE LOCAL AU REPERE GLOBAL
  53 : C------------------------------------------------------------------
  54 : C
  55 :       IF (IDIM.EQ.2) THEN
  56 : C
  57 : C= ELEMENT MASSIF BIDIM
  58 : C
  59 :          IF (INM.EQ.1) THEN
  60 : C
  61 : C- Materiau isotrope
  62 : C
  63 :             CMAT(1,1) = VALMAT(1)
  64 :             CMAT(2,2) = VALMAT(1)
  65 :             RETURN
  66 :          ELSEIF (INM.EQ.2) THEN
  67 : C
  68 : C- Materiau orthotrope
  69 : C
  70 :             CMAT1(1,1) = VALMAT(1)
  71 :             CMAT1(2,2) = VALMAT(2)
  72 : C
  73 :             XLOC(1,1) = VALMAT(3)
  74 :             XLOC(2,1) = VALMAT(4)
  75 :             XLOC(1,2) =-VALMAT(4)
  76 :             XLOC(2,2) = VALMAT(3)
  77 :          ELSEIF (INM.EQ.3) THEN
  78 : C
  79 : C- Materiau anisotrope
  80 : C
  81 :             CMAT1(1,1) = VALMAT(1)
  82 :             CMAT1(2,2) = VALMAT(2)
  83 :             CMAT1(2,1) = VALMAT(3)
  84 :             CMAT1(1,2) = CMAT1(2,1)
  85 : C
  86 :             XLOC(1,1) = VALMAT(4)
  87 :             XLOC(2,1) = VALMAT(5)
  88 :             XLOC(1,2) =-VALMAT(5)
  89 :             XLOC(2,2) = VALMAT(4)
  90 :          ENDIF
  91 : C
  92 : C- Calcul des cos.directeurs des axes orth. /repere global
  93 : C-                     XGLOB=TXR*XLOC
  94 : C
  95 :          DO 10 K=1,IDIM
  96 :             DO 10 J=1,IDIM
  97 :                DO 10 I=1,IDIM
  98 :                   XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J)
  99 :   10     CONTINUE
 100 :       ELSE
 101 : C
 102 : C= ELEMENT MASSIF TRIDIM
 103 : C
 104 :          IF (INM.EQ.1) THEN
 105 : C
 106 : C- Materiau isotrope
 107 : C
 108 :             CMAT(1,1) = VALMAT(1)
 109 :             CMAT(2,2) = VALMAT(1)
 110 :             CMAT(3,3) = VALMAT(1)
 111 :             RETURN
 112 :          ELSEIF (INM.EQ.2) THEN
 113 : C
 114 : C- Materiau orthotrope
 115 : C
 116 :             CMAT1(1,1) = VALMAT(1)
 117 :             CMAT1(2,2) = VALMAT(2)
 118 :             CMAT1(3,3) = VALMAT(3)
 119 : C
 120 :             XLOC(1,1) = VALMAT(4)
 121 :             XLOC(2,1) = VALMAT(5)
 122 :             XLOC(3,1) = VALMAT(6)
 123 :             XLOC(1,2) = VALMAT(7)
 124 :             XLOC(2,2) = VALMAT(8)
 125 :             XLOC(3,2) = VALMAT(9)
 126 :          ELSEIF (INM.EQ.3) THEN
 127 : C
 128 : C- Materiau anisotrope
 129 : C
 130 :             CMAT1(1,1) = VALMAT(1)
 131 :             CMAT1(2,2) = VALMAT(2)
 132 :             CMAT1(3,3) = VALMAT(3)
 133 :             CMAT1(2,1) = VALMAT(4)
 134 :             CMAT1(1,2) = CMAT1(2,1)
 135 :             CMAT1(3,1) = VALMAT(5)
 136 :             CMAT1(1,3) = CMAT1(3,1)
 137 :             CMAT1(3,2) = VALMAT(6)
 138 :             CMAT1(2,3) = CMAT1(3,2)
 139 : C
 140 :             XLOC(1,1) = VALMAT(7)
 141 :             XLOC(2,1) = VALMAT(8)
 142 :             XLOC(3,1) = VALMAT(9)
 143 :             XLOC(1,2) = VALMAT(10)
 144 :             XLOC(2,2) = VALMAT(11)
 145 :             XLOC(3,2) = VALMAT(12)
 146 :          ENDIF
 147 : C
 148 : C- Calcul du vecteur 3
 149 : C
 149 :          CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)
 150 : C
 151 : C- Calcul des cos.directeurs des axes orth. /repere global
 152 : C-                     XGLOB=TXR*XLOC
 153 : C
 154 :          DO 20 K=1,IDIM
 155 :             DO 20 J=1,IDIM
 156 :                DO 20 I=1,IDIM
 157 :                   XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J)
 158 :   20     CONTINUE
 159 :       ENDIF
 160 : C
 161 : C----------------------------------------------------------
 162 : C TRANSFORMATION DE LA MATRICE CMAT1 DANS LE REPERE GLOBAL
 163 : C----------------------------------------------------------
 164 : C
 165 :       IF (IFOMOD.EQ.1) THEN
 166 : C
 167 : C- Element massif bidim de FOURIER
 168 : C
 168 :          CALL PRODT(CMAT2,CMAT1,XGLOB,IDIM,IDIM)                             
 169 :          CMAT(1,1)=CMAT2(1,1)
 170 :          IF (INM.EQ.2) THEN
 171 :             CMAT(2,2) = VALMAT(5)
 172 :          ELSE
 173 :             CMAT(2,2) = VALMAT(6)
 174 :          ENDIF
 175 :          CMAT(1,3) = CMAT2(1,2)
 176 :          CMAT(3,1) = CMAT (1,3)
 177 :          CMAT(3,3) = CMAT2(2,2)
 178 :       ELSE
 179 : C
 180 : C- Element MASSIF : CMAT = transpose(XGLOB)*CMAT1*XGLOB
 181 : C
 181 :          CALL PRODT(CMAT,CMAT1,XGLOB,IDIM,IDIM)
 182 :       ENDIF
 183 : C
 184 :       RETURN                                                                    
 185 :       END                                                                       
 186 :  

© Cast3M 2003 - All rights reserved.
Disclaimer