Download devint.eso

Back to the list

   1 : C DEVINT    SOURCE    CHAT      05/01/12    22:46:10     5004           
   2 :       SUBROUTINE DEVINT(ICHATE,ICHAFO,KTNUM,KTRAV,REPRIS)                       
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : *--------------------------------------------------------------------*          
   6 : *                                                                    *          
   7 : *     Op{rateur DYNE : algorithme de Fu - de Vogelaere               *          
   8 : *     ________________________________________________               *          
   9 : *                                                                    *          
  10 : *     Interpolation d'un liste REEL.                                 *          
  11 : *     Remplissage du segment de travail KTRAV.                       *          
  12 : *                                                                    *          
  13 : *     Param}tres:                                                    *          
  14 : *                                                                    *          
  15 : * e   ICHATE  pointeur sur un LISTREEL, abscisse                     *          
  16 : * e   ICHAFO  pointeur sur un LISTREEL, ordonn{e                     *          
  17 : * e   KTNUM   segment contenant les param}tres num{riques            *          
  18 : * s   KTRAV   segment de travail                                     *          
  19 : * e   REPRIS  logique indiquant si le calcul est en reprise          *          
  20 : *                                                                    *          
  21 : *     Auteur, date de cr{ation:                                      *          
  22 : *                                                                    *          
  23 : *     Lionel VIVAN, le 17 avril 1990                                 *          
  24 : *                                                                    *          
  25 : *--------------------------------------------------------------------*          
  26 : *                                                                               
  27 : -INC CCOPTIO                                                                    
  28 : -INC SMLREEL                                                                    
  29 : *                                                                               
  30 :       SEGMENT,MTNUM                                                             
  31 :          REAL*8 XDT(NPC1),XTEMPS(NPC1)                                          
  32 :       ENDSEGMENT                                                                
  33 :       SEGMENT,MTRAV                                                             
  34 :          REAL*8 FTCHG(NPC2)                                                     
  35 :       ENDSEGMENT                                                                
  36 :       LOGICAL REPRIS                                                            
  37 : *                                                                               
  38 :       MTNUM = KTNUM                                                             
  39 : *                                                                               
  40 :       NPC1   = XDT(/1)                                                          
  41 :       PASTEM = XDT(1)                                                           
  42 :       PASTS2 = PASTEM * 0.5D0                                                   
  43 :       MLREE1 = ICHATE                                                           
  44 :       SEGACT MLREE1                                                             
  45 :       NF = MLREE1.PROG(/1)                                                      
  46 :       MLREE2 = ICHAFO                                                           
  47 :       SEGACT MLREE2                                                             
  48 :       NPC2 = 2 * NPC1                                                           
  49 :       SEGINI MTRAV                                                              
  50 :       KTRAV = MTRAV                                                             
  51 : *                                                                               
  52 : *     interpolation du chargement                                               
  53 : *                                                                               
  54 :       N1 = 1                                                                    
  55 :       N2 = 2                                                                    
  56 :       IF ( REPRIS ) THEN                                                        
  57 :          TEMP = XTEMPS(1)                                                       
  58 :          TES2 = TEMP - PASTS2                                                   
  58 :          CALL INTLIN(TES2,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)                    
  59 :          IF (IRET.EQ.0) THEN                                                    
  60 : *           temps en dehors de la liste                                         
  60 :             CALL ERREUR(208)                                                    
  61 :             RETURN                                                              
  62 :          ENDIF                                                                  
  63 :       ELSE                                                                      
  64 :          FTEM = 0.D0                                                            
  65 :       ENDIF                                                                     
  66 :       IT2 = 1                                                                   
  67 :       FTCHG(IT2) = FTEM                                                         
  68 :       NPC3 = NPC1 - 1                                                           
  69 :       DO 10 IT = 1,NPC3                                                         
  70 :          TEMP = XTEMPS(IT)                                                      
  70 :          CALL INTLIN(TEMP,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)                    
  71 :          IF (IRET.EQ.0) THEN                                                    
  72 : *           temps en dehors de la liste                                         
  72 :             CALL ERREUR(208)                                                    
  73 :             RETURN                                                              
  74 :          ENDIF                                                                  
  75 :          IT2 = IT2 + 1                                                          
  76 :          FTCHG(IT2) = FTEM                                                      
  77 :          TES2 = TEMP + PASTS2                                                   
  77 :          CALL INTLIN(TES2,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)                    
  78 :          IF (IRET.EQ.0) THEN                                                    
  79 : *           temps en dehors de la liste                                         
  79 :             CALL ERREUR(208)                                                    
  80 :             RETURN                                                              
  81 :          ENDIF                                                                  
  82 :          IT2 = IT2 + 1                                                          
  83 :          FTCHG(IT2) = FTEM                                                      
  84 :  10      CONTINUE                                                               
  85 : *     end do                                                                    
  86 :       TEMP = XTEMPS(NPC1)                                                       
  86 :       CALL INTLIN(TEMP,ICHATE,ICHAFO,NF,N1,N2, FTEM,IRET)                       
  87 :       IF (IRET.EQ.0) THEN                                                       
  88 : *        temps en dehors de la liste                                            
  88 :          CALL ERREUR(208)                                                       
  89 :          RETURN                                                                 
  90 :       ENDIF                                                                     
  91 :       IT2 = IT2 + 1                                                             
  92 :       FTCHG(IT2) = FTEM                                                         
  93 : *                                                                               
  94 :       SEGDES,MLREE1,MLREE2                                          
  95 : *                                                                               
  96 :       END                                                                       
  97 :  

© Cast3M 2003 - All rights reserved.
Disclaimer