Download devso2.eso

Back to the list

   1 : C DEVSO2    SOURCE    CHAT      05/01/12    22:47:25     5004           
   2 :       SUBROUTINE DEVSO2(ITRES)                                                  
   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 : *     Remplissage des CHPOINTs resultats.                            *          
  11 : *     Sauvegarde des variables necessaires a une reprise de calcul   *          
  12 : *                                                                    *          
  13 : *     Parametres:                                                    *          
  14 : *                                                                    *          
  15 : * es  ITRES   Segment de sauvegarde des resultats                    *          
  16 : *                                                                    *          
  17 : *     Auteur, date de creation:                                      *          
  18 : *                                                                    *          
  19 : *     Denis ROBERT-MOUGIN, le 1er juin 1989.                         *          
  20 : *                                                                    *          
  21 : *--------------------------------------------------------------------*          
  22 : -INC CCOPTIO                                                                    
  23 : -INC SMCOORD                                                                    
  24 : -INC SMCHPOI                                                                    
  25 : *                                                                               
  26 :       SEGMENT,MTRES                                                             
  27 :          REAL*8 XRES(NRES,NCRES,NPRES),XREP(NREP,NCRES)                         
  28 :          REAL*8 XRESLA(NLSA,NPRES,NVALA),XRESLB(NLSB,NPRES,NVALB)               
  29 :          REAL*8 XMREP(NLIAB,4,IDIMB)                                          
  30 :          INTEGER ICHRES(NVES),IPORES(NRES,NPRES),IPOREP(NREP)                   
  31 :          INTEGER IPOLA(NLSA),INULA(NLSA),IPLRLA(NLSA,NVALA)                     
  32 :          INTEGER IPOLB(NLSB),INULB(NLSB),IPLRLB(NLSB,NVALB)                     
  33 :          INTEGER ILIREA(NLSA,NTVAR),ILIREB(NLSB,NTVAR)                          
  34 :          INTEGER ILIRNA(NLSA,NTVAR),ILIRNB(NLSB,NTVAR)                          
  35 :          INTEGER IPOLR(1),IMREP(NLIAB,2),IPPREP(NLIAB,4)  
  36 :          INTEGER ILPOLA(NLIAA,2)                     
  37 :       ENDSEGMENT                                                                
  38 : *                                                                               
  39 :       MTRES = ITRES                                                             
  40 :       NRES  = XRES(/1)                                                          
  41 :       NREP  = XREP(/1)                                                          
  42 :       NCRES = XRES(/2)                                                          
  43 :       NPRES = XRES(/3)                                                          
  44 :       NLIAB = XMREP(/1)                                                         
  45 :       IDIMB = XMREP(/3)                                                         
  46 : *                                                                               
  47 : *     Boucle sur les variables demandees, pour tous les pas                     
  48 : *     de sortie:                                                                
  49 : *                                                                               
  50 :       IRE2 = 0                                                                  
  51 :       DO 10 IRES=1,8                                                            
  52 :          IF (ICHRES(IRES).NE.0) THEN                                            
  53 :             IRE2 = IRE2 + 1                                                     
  54 :             DO 20 IPAS=1,NPRES                                                  
  55 :                   MCHPOI = IPORES(IRE2,IPAS)                                    
  56 :                   NSOUPO = IPCHP(/1)                                            
  57 :                   DO 30 ISOUPO=1,NSOUPO                                         
  58 :                      MSOUPO = IPCHP(ISOUPO)                                     
  59 :                      MPOVAL = IPOVAL                                            
  60 :                      N1 = VPOCHA(/1)                                            
  61 :                      NC = VPOCHA(/2)                                            
  62 :                      INCO = 0                                                   
  63 :                      DO 40 J=1,N1                                               
  64 :                         DO 50 I=1,NC                                            
  65 :                            INCO = INCO + 1                                      
  66 :                            VPOCHA(J,I) = XRES(IRE2,INCO,IPAS)                   
  67 :  50                        CONTINUE                                             
  68 : *                       end do                                                  
  69 :  40                     CONTINUE                                                
  70 : *                    end do                                                     
  71 :                      SEGDES,MPOVAL,MSOUPO                                       
  72 :  30                  CONTINUE                                                   
  73 : *                 end do                                                        
  74 :                   SEGDES,MCHPOI                                                 
  75 :  20            CONTINUE                                                         
  76 : *           end do                                                              
  77 :          ENDIF                                                                  
  78 :  10      CONTINUE                                                               
  79 : *     end do                                                                    
  80 : *                                                                               
  81 : *     Cas des CHPOINTs destines a la reprise de calcul:                          
  82 : *                                                                               
  83 :       DO 100 IREP=1,NREP                                                        
  84 :          MCHPOI = IPOREP(IREP)                                                  
  85 :          NSOUPO = IPCHP(/1)                                                     
  86 :          DO 110 ISOUPO=1,NSOUPO                                                 
  87 :             MSOUPO = IPCHP(ISOUPO)                                              
  88 :             MPOVAL = IPOVAL                                                     
  89 :             N1 = VPOCHA(/1)                                                     
  90 :             NC = VPOCHA(/2)                                                     
  91 :             INCO = 0                                                            
  92 :             DO 120 J=1,N1                                                       
  93 :                DO 130 I=1,NC                                                    
  94 :                   INCO = INCO + 1                                               
  95 :                   VPOCHA(J,I) = XREP(IREP,INCO)                                 
  96 :  130              CONTINUE                                                      
  97 : *              end do                                                           
  98 :  120           CONTINUE                                                         
  99 : *           end do                                                              
 100 :             SEGDES,MPOVAL,MSOUPO                                                
 101 :  110        CONTINUE                                                            
 102 : *        end do                                                                 
 103 :          SEGDES,MCHPOI                                                          
 104 :  100     CONTINUE                                                               
 105 : *     end do                                                                    
 106 : *                                                                               
 107 : *     Cas des variables de liaison necessaires a la reprise de calcul           
 108 : *                                                                               
 109 :       IF (NLIAB.NE.0) THEN                                                      
 110 :          IDIM1 = IDIM + 1                                                       
 111 :          DO 200 I = 1,NLIAB                                                     
 112 :             ITYP = IMREP(I,1)                                                   
 113 :             IF (ITYP.EQ.3  .OR. ITYP.EQ.4  .OR. ITYP.EQ.5  .OR.                 
 114 :      &          ITYP.EQ.6  .OR.                  
 115 :      &          ITYP.EQ.13 .or. ityp.eq.-13 .or. ityp.eq.113
 116 :      &         .OR. ITYP.EQ.14 .OR. ITYP.EQ.23 .OR. 
 117 :      &          ITYP.EQ.24 .OR. ITYP.EQ.33 .OR. ITYP.EQ.34) THEN                                
 118 :                DO 210 II = 1,3                                                  
 119 :                   NUMPO = IPPREP(I,II)                                          
 120 :                   XCOOR(NUMPO * IDIM1) = 0.D0                                   
 121 :                   DO 210 ID = 1,IDIM                                            
 122 :                      XCOOR((NUMPO - 1) * IDIM1 + ID) = XMREP(I,II,ID)           
 123 :  210                 CONTINUE                                                   
 124 : *              end do                                                           
 125 :             ELSE IF (ITYP.EQ.7) THEN                                            
 126 :                DO 220 II = 1,3                                                  
 127 :                   NUMPO = IPPREP(I,II)                                          
 128 :                   XCOOR(NUMPO * IDIM1) = 0.D0                                   
 129 :                   XCOOR((NUMPO - 1) * IDIM1 + 1) = XMREP(I,II,1)                
 130 :  220              CONTINUE                                                      
 131 : *              end do                                                           
 132 :             ELSE IF (ITYP.EQ.25 .OR. ITYP.EQ.26) THEN                                            
 133 :                DO 230 II = 1,4                                                  
 134 :                   NUMPO = IPPREP(I,II)                                          
 135 :                   XCOOR(NUMPO * IDIM1) = 0.D0                                   
 136 :                   DO 230 ID = 1,IDIM                                            
 137 :                      XCOOR((NUMPO - 1) * IDIM1 + ID) = XMREP(I,II,ID)           
 138 :  230                 CONTINUE                                                   
 139 : *              end do                                                           
 140 : 
 141 :             ENDIF                                                               
 142 :  200        CONTINUE                                                            
 143 : *        end do                                                                 
 144 :       ENDIF                                                                     
 145 : *                                                                               
 146 :       END                                                                       
 147 :  
 148 :  
 149 :  
 150 :  
 151 :  

© Cast3M 2003 - All rights reserved.
Disclaimer