matglo
C MATGLO SOURCE CHAT 05/01/13 01:34:06 5004 S NDIM,IDIM,INM,IFOMOD) C----------------------------------------------------------------------- C Transformation d'une matrice exprimée dans le repere local a l'element C au repere global dans le cas d'un materiau ...trope. C Cette matrice, issue du MCHAML materiau de sous type caracteristique, C caracterise le materiau : Conductibilité, Perméabilité ... C----------------------------------------------------------------------- C C--------------------------- C Parametres Entree/Sortie : C--------------------------- C C /S CMAT : Matrice caracterisant le materiau dans le repere global. C E/ TXR : Cosinus directeurs des axes locaux / repere global. C E/ VALMAT : Valeurs des coeff. de la matrice CMAT et des C cosinus directeurs des axes d'ortho. / repere local. C E/ NDIM : Taille de la matrice CMAT (=IDIM sauf en FOURIER=3) C E/ IDIM : Dimension de l'espace (2 en 2D et 3 en 3D) C E/ INM : Indique la Nature du Materiau (1/iso,2/ortho,3/aniso) C E/ IFOMOD : Vaut 1 si on utilise les elements massifs 2D de FOURIER. C C---------------------- C Tableaux de travail : C---------------------- C C CMAT1 : Matrice caracterisant le materiau dans le repere local. C CMAT2 : Matrice caracterisant le materiau dans le repere global. C XLOC : Cosinus directeurs des axes d'ortho. / repere local. C XGLOB : Cosinus directeurs des axes d'ortho. / repere global. C C----------------------------------------------------------------------- C C Langage : FORTRAN77 C C Auteurs : F.DABBENE 08/93 d'apres tnumac.eso de P. DOWLATYARI 10/90 C C----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C DIMENSION CMAT(NDIM,NDIM), CMAT1(IDIM,IDIM), CMAT2(IDIM,IDIM), S TXR (IDIM,IDIM), XLOC (IDIM,IDIM), XGLOB(IDIM,IDIM), S VALMAT(*) C C= Mise a zero des tableaux de travail C C C------------------------------------------------------------------ C RECUPERATION DE LA MATRICE DANS LE REPERE LOCAL ET CONSTRUCTION C DE LA MATRICE DE PASSAGE DU REPERE LOCAL AU REPERE GLOBAL C------------------------------------------------------------------ C IF (IDIM.EQ.2) THEN C C= ELEMENT MASSIF BIDIM C IF (INM.EQ.1) THEN C C- Materiau isotrope C CMAT(1,1) = VALMAT(1) CMAT(2,2) = VALMAT(1) RETURN ELSEIF (INM.EQ.2) THEN C C- Materiau orthotrope C CMAT1(1,1) = VALMAT(1) CMAT1(2,2) = VALMAT(2) C XLOC(1,1) = VALMAT(3) XLOC(2,1) = VALMAT(4) XLOC(1,2) =-VALMAT(4) XLOC(2,2) = VALMAT(3) ELSEIF (INM.EQ.3) THEN C C- Materiau anisotrope C CMAT1(1,1) = VALMAT(1) CMAT1(2,2) = VALMAT(2) CMAT1(2,1) = VALMAT(3) CMAT1(1,2) = CMAT1(2,1) C XLOC(1,1) = VALMAT(4) XLOC(2,1) = VALMAT(5) XLOC(1,2) =-VALMAT(5) XLOC(2,2) = VALMAT(4) ENDIF C C- Calcul des cos.directeurs des axes orth. /repere global C- XGLOB=TXR*XLOC C DO 10 K=1,IDIM DO 10 J=1,IDIM DO 10 I=1,IDIM XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J) 10 CONTINUE ELSE C C= ELEMENT MASSIF TRIDIM C IF (INM.EQ.1) THEN C C- Materiau isotrope C CMAT(1,1) = VALMAT(1) CMAT(2,2) = VALMAT(1) CMAT(3,3) = VALMAT(1) RETURN ELSEIF (INM.EQ.2) THEN C C- Materiau orthotrope C CMAT1(1,1) = VALMAT(1) CMAT1(2,2) = VALMAT(2) CMAT1(3,3) = VALMAT(3) C XLOC(1,1) = VALMAT(4) XLOC(2,1) = VALMAT(5) XLOC(3,1) = VALMAT(6) XLOC(1,2) = VALMAT(7) XLOC(2,2) = VALMAT(8) XLOC(3,2) = VALMAT(9) ELSEIF (INM.EQ.3) THEN C C- Materiau anisotrope C CMAT1(1,1) = VALMAT(1) CMAT1(2,2) = VALMAT(2) CMAT1(3,3) = VALMAT(3) CMAT1(2,1) = VALMAT(4) CMAT1(1,2) = CMAT1(2,1) CMAT1(3,1) = VALMAT(5) CMAT1(1,3) = CMAT1(3,1) CMAT1(3,2) = VALMAT(6) CMAT1(2,3) = CMAT1(3,2) C XLOC(1,1) = VALMAT(7) XLOC(2,1) = VALMAT(8) XLOC(3,1) = VALMAT(9) XLOC(1,2) = VALMAT(10) XLOC(2,2) = VALMAT(11) XLOC(3,2) = VALMAT(12) ENDIF C C- Calcul du vecteur 3 C C C- Calcul des cos.directeurs des axes orth. /repere global C- XGLOB=TXR*XLOC C DO 20 K=1,IDIM DO 20 J=1,IDIM DO 20 I=1,IDIM XGLOB(K,J) = TXR(J,I)*XLOC(I,K) + XGLOB(K,J) 20 CONTINUE ENDIF C C---------------------------------------------------------- C TRANSFORMATION DE LA MATRICE CMAT1 DANS LE REPERE GLOBAL C---------------------------------------------------------- C IF (IFOMOD.EQ.1) THEN C C- Element massif bidim de FOURIER C CMAT(1,1)=CMAT2(1,1) IF (INM.EQ.2) THEN CMAT(2,2) = VALMAT(5) ELSE CMAT(2,2) = VALMAT(6) ENDIF CMAT(1,3) = CMAT2(1,2) CMAT(3,1) = CMAT (1,3) CMAT(3,3) = CMAT2(2,2) ELSE C C- Element MASSIF : CMAT = transpose(XGLOB)*CMAT1*XGLOB C ENDIF C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales