Download muchpo.eso

Back to the list

   1 : C MUCHPO    SOURCE    CHAT      05/01/13    01:54:25     5004           
   2 :       SUBROUTINE MUCHPO(IPO1,XFLOT,IRET,IEPS)                                   
   3 : C=======================================================================        
   4 : C                                                                               
   5 : C     MULTIPLIE UN CHPS PAR POINT PAR XFLO  SI IEPS=1                           
   6 : C     MULTIPLIE UN CHPS PAR POINT PAR 1/XFLO SI IEPS=-1                         
   7 : C     LE CHPS RESULTANT VOIT SON POINTEUR STOCKE DANS IRET                      
   8 : C     SI L OPERATION N EST PAS POSSIBLE IRET=0                                  
   9 : C        PAR EXAMPLE SI IEPS=-1 ET XFLOT=0.                                     
  10 : C  ENTREES                                                                      
  11 : C     IPO1=POINTEUR SUR LE CHAMPOINT                                            
  12 : C     XFLOT=SCALAIRE                                                            
  13 : C     IEPS=1 SI MULTIPLICATION -1 SI DIVISION                                   
  14 : C  SORTIES                                                                      
  15 : C     IRET=POINTEUR SUR LE CHAMPS*XFLOT**IEPS                                   
  16 : C         =0 SI L OPERATION EST IMPOSSSIBLE                                     
  17 : C                                                                               
  18 : C     CODE EBERSOLT JUIN 84                                                     
  19 : C     ATTENTION LES CHAMPS PAR ELEMENTS SONT EN DOUBLE PRECISION                
  20 : C     SI ON VOULAIT PASSER EN SIMPLE IL FAUT CHANGER VELCHA EN VELCHD           
  21 : C                                                                               
  22 : C=======================================================================        
  23 :       IMPLICIT INTEGER(I-N)
  24 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  25 : -INC SMCHPOI                                                                    
  26 : -INC CCOPTIO                                                                    
  27 :       IRET=0                                                                    
  28 :       IF(IEPS.EQ.-1.AND.XFLOT.EQ.0.) GOTO 666                                   
  29 :       IF(IEPS.EQ.1)  XFLOT1=XFLOT                                               
  30 :       IF(IEPS.EQ.-1) XFLOT1=1.D0/XFLOT                                          
  31 :       MCHPO1=IPO1                                                               
  32 :       SEGACT MCHPO1                                                             
  33 :       NSOUPO=MCHPO1.IPCHP(/1)   
  34 :       NAT=MCHPO1.JATTRI(/1)                                                
  35 :       SEGINI MCHPOI                                                             
  36 :       IRET=MCHPOI                                                               
  37 :       MTYPOI=MCHPO1.MTYPOI                                                      
  38 :       IFOPOI   =MCHPO1.IFOPOI                                                   
  39 :       MOCHDE=MCHPO1.MOCHDE 
  40 :       DO 50 IN = 1,NAT
  41 :       JATTRI(IN) = MCHPO1.JATTRI(IN)
  42 :   50  CONTINUE
  43 : *                                                     
  44 :       DO 72 IA=1,NSOUPO                                                         
  45 :         MSOUP1=MCHPO1.IPCHP(IA)                                                   
  46 :         SEGACT MSOUP1                                                             
  47 :         NC=MSOUP1.NOCOMP(/2)                                                      
  48 :         SEGINI MSOUPO                                                             
  49 :         IPCHP(IA)=MSOUPO                                                          
  50 :         IGEOC=MSOUP1.IGEOC  
  51 : *                                                      
  52 :         DO 73 IB=1,NC                                                             
  53 :           NOCOMP(IB)=MSOUP1.NOCOMP(IB)                                              
  54 :           NOHARM(IB)=MSOUP1.NOHARM(IB)                                              
  55 :   73    CONTINUE 
  56 : *                                                                 
  57 :         MPOVA1=MSOUP1.IPOVAL                                                      
  58 :         SEGACT MPOVA1                                                             
  59 :         N=MPOVA1.VPOCHA(/1)                                                       
  60 :         NC=MPOVA1.VPOCHA(/2)                                                      
  61 :         SEGINI MPOVAL                                                             
  62 :         IPOVAL=MPOVAL  
  63 : *                                                           
  64 :         DO 75 IB=1,N                                                              
  65 :           DO 75 IC=1,NC                                                             
  66 :              VPOCHA(IB,IC)=XFLOT1*MPOVA1.VPOCHA(IB,IC)                                 
  67 :   75    CONTINUE  
  68 : *                                                                
  69 :         SEGDES MPOVAL,MPOVA1                                                      
  70 :         SEGDES MSOUPO,MSOUP1                                                      
  71 :   72  CONTINUE                                                                  
  72 :       SEGDES MCHPOI,MCHPO1                                                      
  73 :   666 CONTINUE                                                                  
  74 :       RETURN                                                                    
  75 :       END                                                                       
  76 :  

© Cast3M 2003 - All rights reserved.
Disclaimer