Download catmel.eso

Back to the list

   1 : C CATMEL    SOURCE    CHAT      05/01/12    21:49:37     5004           
   2 :       SUBROUTINE CATMEL(IPT1,IPT2)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C*****************************************************************************
   6 : C
   7 : C CE SOUS PROGRAMME CONCATENE L 'OBJET MAILLAGE IPT2 A L'OBJET MAILLAGE
   8 : C IPT1 SANS FUSIONNER SUR LES TYPES D ELEMENT
   9 : C SI IPT1=0 ON CREE L 'OBJET IPT1, ON NE RENVOIE PAS IPT1=IPT2
  10 : C
  11 : C*****************************************************************************
  12 : -INC SMELEME
  13 : 
  14 :       SEGACT IPT2
  15 :       NBS2=IPT2.LISOUS(/1)
  16 : 
  17 :       IF(IPT1.EQ.0)THEN
  18 : C CAS OU ON CREE IPT1
  19 : 
  20 :        IF(NBS2.EQ.0)THEN
  21 :         NBNN=IPT2.NUM(/1)
  22 :         NBELEM=IPT2.NUM(/2)
  23 :         NBREF=0
  24 :         NBSOUS=0
  25 :         SEGINI MELEME
  25 :         CALL RSETI(NUM,IPT2.NUM,NBNN*NBELEM)
  26 :         ITYPEL=IPT2.ITYPEL
  27 :         SEGDES MELEME
  28 :         IPT1=MELEME
  29 :         SEGDES IPT2
  30 :         RETURN
  31 :        ELSE
  32 :         NBNN=0
  33 :         NBELEM=0
  34 :         NBSOUS=NBS2
  35 :         NBREF=0
  36 :         SEGINI MELEME
  36 :         CALL RSETI(LISOUS,IPT2.LISOUS,NBSOUS)
  37 :         SEGDES MELEME
  38 :         IPT1=MELEME
  39 :         SEGDES IPT2
  40 :         RETURN
  41 :        ENDIF
  42 : 
  43 :       ELSE
  44 : C CAS OU IPT1 EXISTE
  45 : 
  46 :       SEGACT IPT1
  47 :       NBS1=IPT1.LISOUS(/1)
  48 :        IF(NBS1.EQ.0)THEN
  49 :        NBNN=0
  50 :        NBELEM=0
  51 :          IF(NBS2.EQ.0)THEN
  52 :           NBSOUS=2
  53 :          ELSE
  54 :           NBSOUS=1+NBS2
  55 :          ENDIF
  56 :        NBREF=0
  57 :        SEGINI MELEME
  58 :         LISOUS(1)=IPT1
  59 :          IF(NBS2.EQ.0)THEN
  60 :           LISOUS(2)=IPT2
  61 :          ELSE
  61 :           CALL RSETI(LISOUS(2),IPT2.LISOUS,NBS2)
  62 :          ENDIF
  63 :         SEGDES IPT1
  64 :         IPT1=MELEME
  65 :         SEGDES IPT1
  66 :         SEGDES IPT2
  67 :         RETURN
  68 : 
  69 :        ELSE
  70 :         NBNN=0
  71 :         NBELEM=0
  72 :         NBREF=0
  73 :          IF(NBS2.EQ.0)THEN
  74 :           NBSOUS=NBS1+1
  75 :           MELEME=IPT1
  76 :           SEGADJ MELEME
  77 :           NL=LISOUS(/1)
  78 :           LISOUS(NL)=IPT2
  79 :           SEGDES MELEME,IPT2
  80 :           IPT1=MELEME
  81 :           RETURN
  82 :          ELSE
  83 :           NBSOUS=NBS1+NBS2
  84 :           MELEME=IPT1
  85 :           SEGADJ MELEME
  85 :           CALL RSETI(LISOUS(NBS1+1),IPT2.LISOUS,NBS2)
  86 :           SEGDES MELEME,IPT2
  87 :           RETURN
  88 :          ENDIF
  89 :        ENDIF
  90 :       ENDIF
  91 : 
  92 :       END
  93 :  

© Cast3M 2003 - All rights reserved.
Disclaimer