Download atiso.eso

Back to the list

   1 : C ATISO     SOURCE    PV        09/03/12    21:15:30     6325           
   2 : C
   3 :       SUBROUTINE ATISO(MELEME,ICPR,XPROJ,VCPCHA,VCHC,IVU,PTI,NISO,MCOUP,
   4 :      >   mcham )
   5 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
   6 : C                                                                     C
   7 : C   APPEL DU TRACE DES ISOVALEURS D UN OBJET DE TYPE CHAMPOINT        C
   8 : C     ==>EN DIMENSION 2 ET 3                                          C
   9 : C     ==>AVEC VERIFICATIOM SI ICACHE=1 SI LES FACES SONT VISIBLES OU  C
  10 : C        NON                                                          C
  11 : C                                                                     C
  12 : C     AOUT 85                                                         C
  13 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  14 : C
  15 :       IMPLICIT INTEGER(I-N)
  16 :       SEGMENT ICPR(0)
  17 :       SEGMENT VCPCHA(XCOOR(/1)/(IDIM+1))
  18 :       SEGMENT XPROJ(3,ICPR(/1))
  19 :       SEGMENT IVU(ICPR(/1))
  20 :       REAL VCHC
  21 :       DIMENSION VCHC(*)
  22 :       DIMENSION XX(4),YY(4),ZZ(4),VV(4)
  23 : -INC CCOPTIO
  24 : -INC CCGEOME
  25 : -INC SMELEME
  26 : -INC SMCHPOI
  27 : -INC SMCOORD
  28 : -INC SMLREEL
  29 : -INC SMCHAML
  30 : C
  31 : C
  32 : C  ON FAIT LE TRACER DES ISOVALEURS D UN CHAMPOINT ou d'un chamelem
  33 : C  SI ON EST EN OPTION ISOV SURF ON VA APPELE FACED2
  34 : C
  35 :       IF (ISOTYP.GT.0) THEN
  35 :       CALL FACED2(MELEME,XPROJ,ICPR,VCHC,VCPCHA,PTI,NISO,IVU,MCOUP,
  36 :      >  mcham )
  37 :       RETURN
  38 :       ENDIF
  39 :       SEGACT ICPR
  40 :       NELEM=0
  41 :       IPT1=MELEME
  42 :       SEGACT MELEME
  43 :       DO 3101 IOB=1,MAX(1,LISOUS(/1))
  44 :          IF (LISOUS(/1).NE.0) THEN
  45 :           IPT1=LISOUS(IOB)
  46 :           SEGACT IPT1
  47 :          ENDIF
  48 :          NELEM=NELEM+IPT1.NUM(/2)
  49 : 3101  CONTINUE
  50 : C
  51 : C  ON TRAVAILLE PAR OBJET ELEMENTAIRE
  52 : C
  53 :       IPT1=MELEME
  54 :       DO 20100 IOB=1,MAX(1,LISOUS(/1))
  55 :         IF (LISOUS(/1).NE.0) IPT1=LISOUS(IOB)
  56 :         if (mcham.ne.0) melval=lisref(iob)
  57 :         IF (KSURF(IPT1.ITYPEL).EQ.0) GOTO 20150
  58 :         NBELEM=IPT1.NUM(/2)
  59 :         NBFAC=LTEL(1,IPT1.ITYPEL)
  60 :         IAD=LTEL(2,IPT1.ITYPEL)-1
  61 :         IF (NBFAC.EQ.0) GOTO 20150
  62 :         DO 20200 IFAC=1,NBFAC
  63 :           ITYP=LDEL(1,IAD+IFAC)
  64 :           JAD=LDEL(2,IAD+IFAC)-1
  65 :           IDEP=KDFAC(2,ITYP)
  66 :           IFEP=IDEP+3*(KDFAC(3,ITYP)-1)
  67 :           IF (ITYP.EQ.1.OR.ITYP.EQ.3) THEN
  68 :           DO 20225 ITRIAN=IDEP,IFEP,3
  69 :             IAFA=LFAC(JAD+KFAC(ITRIAN))
  70 :             IBFA=LFAC(JAD+KFAC(ITRIAN+1))
  71 :             ICFA=LFAC(JAD+KFAC(ITRIAN+2))
  72 :             if(mcham.ne.0) then
  73 :               iafam=min(iafa,velche(/1))
  74 :               ibfam=min(ibfa,velche(/1))
  75 :               icfam=min(icfa,velche(/1))
  76 :             endif
  77 :             DO 20225 IEL=1,NBELEM
  78 :               ielm=iel
  79 :               if(mcham.ne.0) then
  80 :                 ielm=min(iel,velche(/2))
  81 :               endif
  82 :               IA=ICPR(IPT1.NUM(IAFA,IEL))
  83 :               IB=ICPR(IPT1.NUM(IBFA,IEL))
  84 :               IC=ICPR(IPT1.NUM(ICFA,IEL))
  85 :       IF (IVU(IA).EQ.1.AND.IVU(IB).EQ.1.AND.IVU(IC).EQ.1) THEN
  86 :               XX(1)=XPROJ(1,IA)
  87 :               XX(2)=XPROJ(1,IB)
  88 :               XX(3)=XPROJ(1,IC)
  89 :               YY(1)=XPROJ(2,IA)
  90 :               YY(2)=XPROJ(2,IB)
  91 :               YY(3)=XPROJ(2,IC)
  92 :               ZZ(1)=XPROJ(3,IA)
  93 :               ZZ(2)=XPROJ(3,IB)
  94 :               ZZ(3)=XPROJ(3,IC)
  95 : 
  96 :       if (mcham.eq.0) then
  97 :               VV(1)=VCPCHA(IPT1.NUM(IAFA,IEL))
  98 :               VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
  99 :               VV(3)=VCPCHA(IPT1.NUM(ICFA,IEL))
 100 :       else
 101 :               VV(1)=velche(IAFAm,IELm)
 102 :               VV(2)=velche(IBFAm,IELm)
 103 :               VV(3)=velche(ICFAm,IELm)
 104 :       endif
 104 :               CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 105 :             ENDIF
 106 : 20225      CONTINUE
 107 :         ELSEIF (ITYP.EQ.2) THEN
 108 : *  cas des quadrangles on rajoute un point au milieu
 109 :          DO 20235 IEL=1,NBELEM
 110 :            IAFA=LFAC(JAD+1)
 111 :            IBFA=LFAC(JAD+2)
 112 :            ICFA=LFAC(JAD+3)
 113 :            IDFA=LFAC(JAD+4)
 114 :            if(mcham.ne.0) then
 115 :              ielm=min(iel,velche(/2))
 116 :              iafam=min(iafa,velche(/1))
 117 :              ibfam=min(ibfa,velche(/1))
 118 :              icfam=min(icfa,velche(/1))
 119 :              idfam=min(idfa,velche(/1))
 120 :            endif
 121 :            ia=icpr(ipt1.num(iafa,iel))
 122 :            ib=icpr(ipt1.num(ibfa,iel))
 123 :            ic=icpr(ipt1.num(icfa,iel))
 124 :            id=icpr(ipt1.num(idfa,iel))
 125 :        IF (IVU(IA).EQ.1.AND.IVU(IB).EQ.1.AND.IVU(IC).EQ.1.and.
 126 :      * IVU(Id).EQ.1) THEN
 127 :       xxm=(XPROJ(1,IA)+XPROJ(1,IB)+XPROJ(1,IC)+XPROJ(1,ID))/4.
 128 :       yym=(XPROJ(2,IA)+XPROJ(2,IB)+XPROJ(2,IC)+XPROJ(2,ID))/4.
 129 :       if (mcham.eq.0) then
 130 :       vvm=(VCPCHA(ipt1.num(iafa,iel))+VCPCHA(ipt1.num(ibfa,iel))+
 131 :      *     VCPCHA(ipt1.num(icfa,iel))+VCPCHA(ipt1.num(idfa,iel)))/4.
 132 :       else
 133 :       vvm=(velche(iafam,ielm)+velche(ibfam,ielm)+
 134 :      *     velche(icfam,ielm)+velche(idfam,ielm))/4.
 135 :       endif
 136 :                XX(1)=XPROJ(1,IA)
 137 :                XX(2)=XPROJ(1,IB)
 138 :                YY(1)=XPROJ(2,IA)
 139 :                YY(2)=XPROJ(2,IB)
 140 :                ZZ(1)=XPROJ(3,IA)
 141 :                ZZ(2)=XPROJ(3,IB)
 142 :       if (mcham.eq.0) then
 143 :                VV(1)=VCPCHA(IPT1.NUM(IAFA,IEL))
 144 :                VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
 145 :       else
 146 :                VV(1)=velche(IAFAm,IELm)
 147 :                VV(2)=velche(IBFAm,IELm)
 148 :       endif
 149 :                XX(3)=XXM
 150 :                YY(3)=YYM
 151 :                ZZ(3)=ZZM
 152 :                VV(3)=VVM
 152 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 153 :                XX(2)=XPROJ(1,ID)
 154 :                YY(2)=XPROJ(2,ID)
 155 :                ZZ(2)=XPROJ(3,ID)
 156 :       if (mcham.eq.0) then
 157 :                VV(2)=VCPCHA(IPT1.NUM(IDFA,IEL))
 158 :       else
 159 :                VV(2)=velche(IDFAm,IELm)
 160 :       endif
 160 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 161 :                XX(1)=XPROJ(1,IC)
 162 :                YY(1)=XPROJ(2,IC)
 163 :                ZZ(1)=XPROJ(3,IC)
 164 :       if (mcham.eq.0) then
 165 :                VV(1)=VCPCHA(IPT1.NUM(ICFA,IEL))
 166 :       else
 167 :                VV(1)=velche(ICFAm,IELm)
 168 :       endif
 168 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 169 :                XX(2)=XPROJ(1,IB)
 170 :                YY(2)=XPROJ(2,IB)
 171 :                ZZ(2)=XPROJ(3,IB)
 172 :       if (mcham.eq.0) then
 173 :                VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
 174 :       else
 175 :                VV(2)=velche(IBFAm,IELm)
 176 :       endif
 176 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 177 :        ENDIF
 178 : 20235     CONTINUE
 179 :          ELSEIF (ITYP.EQ.4) THEN
 180 : *  cas des quadrangles a 8 noeuds on decoupe en 4 triangles et un
 181 : *  quadrangle.
 182 :           DO 20237 IEL=1,NBELEM
 183 :            IAFA=LFAC(JAD+1)
 184 :            IBFA=LFAC(JAD+2)
 185 :            ICFA=LFAC(JAD+3)
 186 :            IDFA=LFAC(JAD+4)
 187 :            IEFA=LFAC(JAD+5)
 188 :            IFFA=LFAC(JAD+6)
 189 :            IGFA=LFAC(JAD+7)
 190 :            IHFA=LFAC(JAD+8)
 191 :            if(mcham.ne.0) then
 192 :              ielm=min(iel,velche(/2))
 193 :              iafam=min(iafa,velche(/1))
 194 :              ibfam=min(ibfa,velche(/1))
 195 :              icfam=min(icfa,velche(/1))
 196 :              idfam=min(idfa,velche(/1))
 197 :              iefam=min(iefa,velche(/1))
 198 :              iffam=min(iffa,velche(/1))
 199 :              igfam=min(igfa,velche(/1))
 200 :              ihfam=min(ihfa,velche(/1))
 201 :            endif
 202 :            ia=icpr(ipt1.num(iafa,iel))
 203 :            ib=icpr(ipt1.num(ibfa,iel))
 204 :            ic=icpr(ipt1.num(icfa,iel))
 205 :            id=icpr(ipt1.num(idfa,iel))
 206 :            ie=icpr(ipt1.num(iefa,iel))
 207 :            if=icpr(ipt1.num(iffa,iel))
 208 :            ig=icpr(ipt1.num(igfa,iel))
 209 :            ih=icpr(ipt1.num(ihfa,iel))
 210 :            IF (IVU(IA).EQ.1.AND.IVU(IB).EQ.1.AND.IVU(IH).EQ.1) then
 211 :                XX(1)=XPROJ(1,IA)
 212 :                XX(2)=XPROJ(1,IB)
 213 :                XX(3)=XPROJ(1,IH)
 214 :                YY(1)=XPROJ(2,IA)
 215 :                YY(2)=XPROJ(2,IB)
 216 :                YY(3)=XPROJ(2,IH)
 217 :                ZZ(1)=XPROJ(3,IA)
 218 :                ZZ(2)=XPROJ(3,IB)
 219 :                ZZ(3)=XPROJ(3,IH)
 220 :       if (mcham.eq.0) then
 221 :                VV(1)=VCPCHA(IPT1.NUM(IAFA,IEL))
 222 :                VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
 223 :                VV(3)=VCPCHA(IPT1.NUM(IHFA,IEL))
 224 :       else
 225 :                VV(1)=velche(IAFAm,IELm)
 226 :                VV(2)=velche(IBFAm,IELm)
 227 :                VV(3)=velche(IHFAm,IELm)
 228 :       endif
 228 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 229 :            ENDIF
 230 :            IF (IVU(IB).EQ.1.AND.IVU(IC).EQ.1.AND.IVU(ID).EQ.1) then
 231 :                XX(1)=XPROJ(1,IB)
 232 :                XX(2)=XPROJ(1,IC)
 233 :                XX(3)=XPROJ(1,ID)
 234 :                YY(1)=XPROJ(2,IB)
 235 :                YY(2)=XPROJ(2,IC)
 236 :                YY(3)=XPROJ(2,ID)
 237 :                ZZ(1)=XPROJ(3,IB)
 238 :                ZZ(2)=XPROJ(3,IC)
 239 :                ZZ(3)=XPROJ(3,ID)
 240 :       if (mcham.eq.0) then
 241 :                VV(1)=VCPCHA(IPT1.NUM(IBFA,IEL))
 242 :                VV(2)=VCPCHA(IPT1.NUM(ICFA,IEL))
 243 :                VV(3)=VCPCHA(IPT1.NUM(IDFA,IEL))
 244 :       else
 245 :                VV(1)=velche(IBFAm,IELm)
 246 :                VV(2)=velche(ICFAm,IELm)
 247 :                VV(3)=velche(IDFAm,IELm)
 248 :       endif
 248 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 249 :            ENDIF
 250 :            IF (IVU(ID).EQ.1.AND.IVU(IE).EQ.1.AND.IVU(IF).EQ.1) then
 251 :                XX(1)=XPROJ(1,ID)
 252 :                XX(2)=XPROJ(1,IE)
 253 :                XX(3)=XPROJ(1,IF)
 254 :                YY(1)=XPROJ(2,ID)
 255 :                YY(2)=XPROJ(2,IE)
 256 :                YY(3)=XPROJ(2,IF)
 257 :                ZZ(1)=XPROJ(3,ID)
 258 :                ZZ(2)=XPROJ(3,IE)
 259 :                ZZ(3)=XPROJ(3,IF)
 260 :       if (mcham.eq.0) then
 261 :                VV(1)=VCPCHA(IPT1.NUM(IDFA,IEL))
 262 :                VV(2)=VCPCHA(IPT1.NUM(IEFA,IEL))
 263 :                VV(3)=VCPCHA(IPT1.NUM(IFFA,IEL))
 264 :       else
 265 :                VV(1)=velche(IDFAm,IELm)
 266 :                VV(2)=velche(IEFAm,IELm)
 267 :                VV(3)=velche(IFFAm,IELm)
 268 :       endif
 268 :                CALL TRISO(VCHC,XX,YY,VV,ZZ,3,NISO)
 269 :            ENDIF
 270 :            IF (IVU(IF).EQ.1.AND.IVU(IG).EQ.1.AND.IVU(IH).EQ.1) then
 271 :                XX(1)=XPROJ(1,IF)
 272 :                XX(2)=XPROJ(1,IG)
 273 :                XX(3)=XPROJ(1,IH)
 274 :                YY(1)=XPROJ(2,IF)
 275 :                YY(2)=XPROJ(2,IG)
 276 :                YY(3)=XPROJ(2,IH)
 277 :                ZZ(1)=XPROJ(3,IF)
 278 :                ZZ(2)=XPROJ(3,IG)
 279 :                ZZ(3)=XPROJ(3,IH)
 280 :       if (mcham.eq.0) then
 281 :                VV(1)=VCPCHA(IPT1.NUM(IFFA,IEL))
 282 :                VV(2)=VCPCHA(IPT1.NUM(IGFA,IEL))
 283 :                VV(3)=VCPCHA(IPT1.NUM(IHFA,IEL))
 284 :       else
 285 :                VV(1)=velche(IFFAm,IELm)
 286 :                VV(2)=velche(IGFAm,IELm)
 287 :                VV(3)=velche(IHFAm,IELm)
 288 :       endif
 288 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 289 :            ENDIF
 290 : *  cas du quadrangle on rajoute un point central
 291 :       xxm=-0.25*XPROJ(1,IA)+0.5*XPROJ(1,IB)
 292 :      *    -0.25*XPROJ(1,IC)+0.5*XPROJ(1,ID)
 293 :      *    -0.25*XPROJ(1,IE)+0.5*XPROJ(1,IF)
 294 :      *    -0.25*XPROJ(1,IG)+0.5*XPROJ(1,IH)
 295 :       yym=-0.25*XPROJ(2,IA)+0.5*XPROJ(2,IB)
 296 :      *    -0.25*XPROJ(2,IC)+0.5*XPROJ(2,ID)
 297 :      *    -0.25*XPROJ(2,IE)+0.5*XPROJ(2,IF)
 298 :      *    -0.25*XPROJ(2,IG)+0.5*XPROJ(2,IH)
 299 :       zzm=-0.25*XPROJ(3,IA)+0.5*XPROJ(3,IB)
 300 :      *    -0.25*XPROJ(3,IC)+0.5*XPROJ(3,ID)
 301 :      *    -0.25*XPROJ(3,IE)+0.5*XPROJ(3,IF)
 302 :      *    -0.25*XPROJ(3,IG)+0.5*XPROJ(3,IH)
 303 : 
 304 :       if (mcham.eq.0) then
 305 :       vvm=
 306 :      * -0.25*VCPCHA(ipt1.num(iafa,iel))+0.5*VCPCHA(ipt1.num(ibfa,iel))
 307 :      * -0.25*VCPCHA(ipt1.num(icfa,iel))+0.5*VCPCHA(ipt1.num(idfa,iel))
 308 :      * -0.25*VCPCHA(ipt1.num(iefa,iel))+0.5*VCPCHA(ipt1.num(iffa,iel))
 309 :      * -0.25*VCPCHA(ipt1.num(igfa,iel))+0.5*VCPCHA(ipt1.num(ihfa,iel))
 310 :       else
 311 :       vvm=
 312 :      * -0.25*velche(iafam,ielm)+0.5*velche(ibfam,ielm)
 313 :      * -0.25*velche(icfam,ielm)+0.5*velche(idfam,ielm)
 314 :      * -0.25*velche(iefam,ielm)+0.5*velche(iffam,ielm)
 315 :      * -0.25*velche(igfam,ielm)+0.5*velche(ihfam,ielm)
 316 :       endif
 317 :            IAFA=LFAC(JAD+2)
 318 :            IBFA=LFAC(JAD+4)
 319 :            ICFA=LFAC(JAD+6)
 320 :            IDFA=LFAC(JAD+8)
 321 :            ia=icpr(ipt1.num(iafa,iel))
 322 :            ib=icpr(ipt1.num(ibfa,iel))
 323 :            ic=icpr(ipt1.num(icfa,iel))
 324 :            id=icpr(ipt1.num(idfa,iel))
 325 :        IF (IVU(IA).EQ.1.AND.IVU(IB).EQ.1.AND.IVU(IC).EQ.1.and.
 326 :      * IVU(Id).EQ.1) THEN
 327 :                XX(1)=XPROJ(1,IA)
 328 :                XX(2)=XPROJ(1,IB)
 329 :                YY(1)=XPROJ(2,IA)
 330 :                YY(2)=XPROJ(2,IB)
 331 :                ZZ(1)=XPROJ(3,IA)
 332 :                ZZ(2)=XPROJ(3,IB)
 333 :       if (mcham.eq.0) then
 334 :                VV(1)=VCPCHA(IPT1.NUM(IAFA,IEL))
 335 :                VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
 336 :       else
 337 :                VV(1)=velche(IAFAm,IELm)
 338 :                VV(2)=velche(IBFAm,IELm)
 339 :       endif
 340 :                XX(3)=XXM
 341 :                YY(3)=YYM
 342 :                ZZ(3)=ZZM
 343 :                VV(3)=VVM
 343 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 344 :                XX(2)=XPROJ(1,ID)
 345 :                YY(2)=XPROJ(2,ID)
 346 :                ZZ(2)=XPROJ(3,ID)
 347 :       if (mcham.eq.0) then
 348 :                VV(2)=VCPCHA(IPT1.NUM(IDFA,IEL))
 349 :       else
 350 :                VV(2)=velche(IDFAm,IELm)
 351 :       endif
 351 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 352 :                XX(1)=XPROJ(1,IC)
 353 :                YY(1)=XPROJ(2,IC)
 354 :                ZZ(1)=XPROJ(3,IC)
 355 :       if (mcham.eq.0) then
 356 :                VV(1)=VCPCHA(IPT1.NUM(ICFA,IEL))
 357 :       else
 358 :                VV(1)=velche(ICFAm,IELm)
 359 :       endif
 359 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 360 :                XX(2)=XPROJ(1,IB)
 361 :                YY(2)=XPROJ(2,IB)
 362 :                ZZ(2)=XPROJ(3,IB)
 363 :       if (mcham.eq.0) then
 364 :                VV(2)=VCPCHA(IPT1.NUM(IBFA,IEL))
 365 :       else
 366 :                VV(2)=velche(IBFAm,IELm)
 367 :       endif
 367 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 368 :        ENDIF
 369 : 20237    CONTINUE
 370 :         ELSEIF (ITYP .EQ. 6) THEN
 371 : *
 372 : *         Element polygone
 373 : *
 374 :           NBCOT = IPT1.NUM(/1)
 375 :           DO 20300 IEL=1,NBELEM
 376 : *
 377 : *          Recherche des coordonnees et valeurs au centre du polygone
 378 : *
 379 :            XXM = 0.
 380 :            YYM = 0.
 381 :            ZZM = 0.
 382 :            VVM = 0.
 383 :            IVUE = 1
 384 :            DO 20330 ICT = 1, NBCOT
 385 : *
 386 :              NUPT = IPT1.NUM(ICT, IEL)
 387 :              IDPT = ICPR(NUPT)
 388 :              XXM = XPROJ(1,IDPT) + XXM
 389 :              YYM = XPROJ(2,IDPT) + YYM
 390 :              ZZM = XPROJ(3,IDPT) + ZZM
 391 :              IF (MCHAM.EQ.0) THEN
 392 :                VVM = VCPCHA(NUPT) + VVM
 393 :              ELSE
 394 :                VVM = VELCHE(ICT, IEL) + VVM
 395 :              ENDIF
 396 :              IF (IVU(IDPT).NE.1)  IVUE = 0
 397 : *
 398 : 20330      CONTINUE
 399 : *
 400 :            IF (IVUE.EQ.1) THEN
 401 : *
 402 :              XX(3)=XXM/NBCOT
 403 :              YY(3)=YYM/NBCOT
 404 :              ZZ(3)=ZZM/NBCOT
 405 :              VV(3)=VVM/NBCOT
 406 : *
 407 :              NUPT2 = IPT1.NUM(NBCOT, IEL)
 408 :              ID2 = ICPR(NUPT2)
 409 :              XX(2)=XPROJ(1,ID2)
 410 :              YY(2)=XPROJ(2,ID2)
 411 :              ZZ(2)=XPROJ(3,ID2)
 412 :              IF (MCHAM.EQ.0) THEN
 413 :                VV(2) = VCPCHA(NUPT2)
 414 :              ELSE
 415 : C## MC               VV(2) = VELCHE(ICT2, IEL)
 416 :                VV(2) = VELCHE(NBCOT, IEL)
 417 :              ENDIF
 418 : *
 419 : *            Boucle sur tous les triangles
 420 : *
 421 :              DO 20360 , ICT = 1, NBCOT
 422 : *
 423 :                NUPT1 = IPT1.NUM(ICT, IEL)
 424 :                ID1 = ICPR(NUPT1)
 425 : *
 426 :                XX(1)=XPROJ(1,ID1)              
 427 :                YY(1)=XPROJ(2,ID1)
 428 :                ZZ(1)=XPROJ(3,ID1)
 429 :                IF (MCHAM.EQ.0) THEN
 430 :                  VV(1)= VCPCHA(NUPT1)
 431 :                ELSE
 432 :                  VV(1) = VELCHE(ICT, IEL)
 433 :                ENDIF
 433 :                CALL TRISO(VCHC,XX,YY,ZZ,VV,3,NISO)
 434 :                XX(2)= XX(1)             
 435 :                YY(2)= YY(1)
 436 :                ZZ(2)= ZZ(1)
 437 :                VV(2)= VV(1)
 438 : *
 439 : 20360        CONTINUE
 440 : *
 441 :             ENDIF
 442 : *
 443 : 20300     CONTINUE
 444 :         ENDIF
 445 : 20200    CONTINUE
 446 : 20150    CONTINUE
 447 :          IF (LISOUS(/1).NE.0) SEGDES IPT1
 448 : 20100 CONTINUE
 449 : *  METTRE LES LABELS SUR LES ISO QUI COUPENT LE CONTOUR
 449 :       CALL TRCISO(MELEME,VCPCHA,ICPR,XPROJ,NISO,VCHC,IVU)
 450 :       SEGDES MELEME
 451 :       SEGDES ICPR
 452 :       RETURN
 453 :       END
 454 : 
 455 : 
 456 :  
 457 :  
 458 :  
 459 :  
 460 :  
 461 :  
 462 :  
 463 :  
 464 :  
 465 :  
 466 :  
 467 :  
 468 :  

© Cast3M 2003 - All rights reserved.
Disclaimer