Download invers.eso

Back to the list

   1 : C INVERS    SOURCE    FANDEUR   06/02/01    21:15:16     5301           
   2 : 
   3 : C   INVERSE UN OBJET MAILLAGE ELEMENTAIRE
   4 : 
   5 : C   IPT1     (E)   MAILLAGE A INVERSER (segment ACTIF)
   6 : C   MELEME   (S)   MAILLAGE INVERSE    (segment ACTIF)
   7 : 
   8 :       SUBROUTINE INVERS(IPT1,MELEME)
   9 : 
  10 :       IMPLICIT INTEGER(I-N)
  11 :       IMPLICIT REAL*8(A-H,O-Z)
  12 : 
  13 : -INC SMELEME
  14 : 
  15 : C 1) Les elements "inversables" sont les suivants :
  16 : C    SEG2 (2) , SEG3 (3) , TRI3 (4), QUA4 (8) , TRI3 (6) , TRI6 (10)
  17 : C 2) ICLE=1 (ou =2) indique que l'on inverse aussi (ou non) l'ordre des
  18 : C    elements dans le maillage. Ceci est indispensable pour les lignes.
  19 : C 3) Si le type de l'element n'est pas "inversable", on retourne le 
  20 : C    maillage d'entree tel quel.
  21 : 
  22 :       ITYP=IPT1.ITYPEL
  23 :       IF (ITYP.EQ.2 .OR. ITYP.EQ.3) THEN
  24 :         ICLE=1
  25 :       ELSE IF (ITYP.EQ.4 .OR. ITYP.EQ.8 .OR.
  26 :      &         ITYP.EQ.6 .OR. ITYP.EQ.10) THEN
  27 :         ICLE=2
  28 :       ELSE
  29 :         MELEME=IPT1
  30 :         RETURN
  31 :       ENDIF
  32 : 
  33 : C On choisit d'oublier le contour suite a l'inversion.
  34 :       NBREF=IPT1.LISREF(/1)
  35 :       IF (NBREF.EQ.1) NBREF=0
  36 :       NBSOUS=0
  37 :       NBNN=IPT1.NUM(/1)
  38 :       NBELEM=IPT1.NUM(/2)
  39 :       SEGINI MELEME
  40 :       ITYPEL=IPT1.ITYPEL
  41 :       IF (NBREF.NE.0) THEN
  42 :         DO I=1,NBREF
  43 :           LISREF(I)=IPT1.LISREF(I)
  44 :         ENDDO
  45 :       ENDIF
  46 :       IF (ICLE.EQ.1) THEN
  47 :         DO J=1,NBELEM
  48 :           K=NBELEM+1-J
  49 :           DO I=1,NBNN
  50 :             NUM(I,J)=IPT1.NUM(NBNN+1-I,K)
  51 :           ENDDO
  52 :           ICOLOR(J)=IPT1.ICOLOR(K)
  53 :         ENDDO
  54 :       ELSE
  55 :         DO I=1,NBNN
  56 :           K=MOD(NBNN+1-I,NBNN)+1
  57 :           DO J=1,NBELEM
  58 :             NUM(K,J)=IPT1.NUM(I,J)
  59 :           ENDDO
  60 :         ENDDO
  61 :         DO J=1,NBELEM
  62 :           ICOLOR(J)=IPT1.ICOLOR(J)
  63 :         ENDDO
  64 :       ENDIF
  65 : 
  66 :       RETURN
  67 :       END
  68 :  

© Cast3M 2003 - All rights reserved.
Disclaimer