Download cotrai.eso

Back to the list

   1 : C COTRAI    SOURCE    PV        11/03/07    21:16:05     6885           
   2 :       SUBROUTINE COTRAI(WRK0,WRK2,NUCO,IPOS,NSUP, NPOINT,KERRE)
   3 : C-----------------------------------------------------------------
   4 : C
   5 : C     RECUPERAGE DE COURBE (RELATIVEMENT GENERAL)
   6 : C
   7 : C     NUCO   : COMPOSANTE DE XMAT DONNANT L'EVOLUTION
   8 : C     IPOS   : DEBUT DE STOCKAGE DE LA COURBE DANS TRAC
   9 : C     NSUP   : NOMBRE DE POINT A SUPPRIMER
  10 : C     NPOINT : NOMBRE DE POINT STOCKE
  11 : C
  12 : C-----------------------------------------------------------------
  13 :       IMPLICIT INTEGER(I-N)
  14 :       IMPLICIT REAL*8(A-H,O-Z)
  15 : -INC SMEVOLL
  16 : -INC SMLREEL
  17 :       SEGMENT WRK0
  18 :         REAL*8 XMAT(NCOMAT)
  19 :       ENDSEGMENT
  20 :       SEGMENT WRK2
  21 :         REAL*8 TRAC(LTRAC)
  22 :       ENDSEGMENT
  23 : *
  24 : *     QUELQUES INITIALISATIONS A 0
  25 : *
  26 :       KERRE=0
  27 :       NCOURB=0
  28 :       LTRAC=TRAC(/1)
  28 :       CALL ZDANUL(TRAC(IPOS),LTRAC-IPOS+1)
  29 : *
  30 : *     LOIS 
  31 : *
  32 :       MEVOLL=nint(XMAT(NUCO))
  33 :       IF(MEVOLL.EQ.0) THEN
  34 :         KERRE=37
  35 :         RETURN
  36 :       ENDIF
  37 :       SEGACT MEVOLL
  38 :       IF(IEVOLL(/1).NE.1) THEN
  39 :         KERRE=31
  40 :         SEGDES MEVOLL
  41 :         RETURN
  42 :       ENDIF
  43 : *
  44 : *     COURBE  ( SELON Y )
  45 : *
  46 :       KEVOLL=IEVOLL(1)
  47 :       SEGACT KEVOLL
  48 :       MLREEL=IPROGX
  49 :       MLREE1=IPROGY
  50 :       SEGDES KEVOLL
  51 :       SEGACT MLREEL,MLREE1
  52 :       NBPOIX=PROG(/1)
  53 :       NBPOIY=MLREE1.PROG(/1)
  54 :       IF(NBPOIX.NE.NBPOIY) KERRE=31
  55 :       IF(2*(NBPOIX-NSUP).GT.LTRAC-IPOS+1) KERRE=31
  56 : *
  57 : *   ERREUR
  58 : *
  59 :       IF(KERRE.NE.0) THEN
  60 :         SEGDES MLREEL,MLREE1
  61 :         SEGDES MEVOLL
  62 :         RETURN
  63 :       ENDIF
  64 : *
  65 :       IF(NSUP.GT.0)THEN
  66 :         PSUP=PROG(NSUP+1)
  67 :       ELSE
  68 :         PSUP=0.D0
  69 :       ENDIF
  70 :       DO 10 I=NSUP+1,NBPOIX
  71 :         PEPS=PROG(I)-PSUP
  72 :         PSIG=MLREE1.PROG(I)
  73 :         NCOURB=NCOURB+1
  74 :         TRAC(IPOS+2*NCOURB-2)=PEPS
  75 :         TRAC(IPOS+2*NCOURB-1)=PSIG
  76 :   10  CONTINUE
  77 :       NPOINT=2*NCOURB
  78 : C
  79 :       SEGDES MLREEL,MLREE1
  80 :       SEGDES MEVOLL
  81 :       RETURN
  82 :       END
  83 :  
  84 :  
  85 :  

© Cast3M 2003 - All rights reserved.
Disclaimer