Download dyne21.eso

Back to the list

   1 : C DYNE21    SOURCE    CHAT      05/01/12    23:15:23     5004           
   2 :       SUBROUTINE DYNE21(ITLA,PDT,MTRA,NLIAA,NXPALA,NPLAA,NIPALA)                        
   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 : *     D{termination des param}tres de liaison pour la base A.        *          
  11 : *                                                                    *          
  12 : *     Param}tres:                                                    *          
  13 : *                                                                    *          
  14 : * e   ITLA    Table rassemblant la description des liaisons          *
  15 : * e   PDT     Valeur du pas de temps                                 *
  16 : * es  MTRA    Segment de travail temporaire (indique si liaison POL) *        
  17 : * s   NLIAA   Nombre total de liaisons.                              *          
  18 : * s   NXPALA  Maxi du nombre de param}tres d{finissant une liaison.  *          
  19 : * s   NPLAA   Maxi du nombre de points intervenant dans une liaison. *          
  20 : * s   NIPALA  Maxi du nombre de param}tres d{finissant une liaison.  *          
  21 : *                                                                    *          
  22 : *     Auteur, date de cr{ation:                                      *          
  23 : *                                                                    *          
  24 : *     Lionel VIVAN, le 24 aout 1989.                                 *          
  25 : *                                                                    *          
  26 : *--------------------------------------------------------------------*          
  27 : -INC CCOPTIO 
  28 : -INC SMTABLE                                                                   
  29 : *               
  30 :       SEGMENT,MTRA
  31 :          INTEGER IPLA(NTRA)
  32 :       ENDSEGMENT
  33 : *                                                                
  34 :       LOGICAL L0,L1                                                             
  35 :       CHARACTER*8  TYPRET,CHARRE                                                       
  36 :       CHARACTER*40 CMOT                                                         
  37 : *                                                                               
  38 : *     Boucle sur le nombre de liaisons                                          
  39 : *                                                                               
  40 :       NXPALA = 0                                                                
  41 :       NIPALA = 20
  42 :       NPLAA  = 0                                                                
  43 :       NLIAA  = 0                                                                
  44 :       IL = 0                                                                    
  45 :  10   CONTINUE                                                                  
  46 :       IL = IL + 1                                                               
  47 :       TYPRET = ' '                                                              
  47 :       CALL ACCTAB(ITLA,'ENTIER',IL,X0,'  ',L0,IP0,                              
  48 :      &                   TYPRET,I0,X0,CHARRE,L1,ITLIAI)                           
  49 :       IF (IERR.NE.0) RETURN                                                     
  50 :       IF (ITLIAI.NE.0) THEN                                                     
  51 :          NLIAA = NLIAA + 1                                                
  51 :          CALL ACCTAB(ITLIAI,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,                  
  52 :      &                      'MOT',I1,X0,CMOT,L1,IP1)                            
  53 :          IF (IERR.NE.0) RETURN                                                  
  54 : *                                                                               
  55 : * ------ liaison {l{mentaire POINT_PLAN_FLUIDE                                  
  56 : *                                                                               
  57 :          IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
  58 :             IPLA(IL) = 0                            
  59 :             KIPALA = 3                                                          
  60 :             KXPALA = 6                                                          
  61 :             KPLAA  = 1                                                          
  62 :             NXPALA = MAX(NXPALA,KXPALA)                                         
  63 :             NIPALA = MAX(NIPALA,KIPALA)                                         
  64 :             NPLAA  = MAX(NPLAA,KPLAA)                                           
  65 : *                                                                               
  66 : * ------ liaison {l{mentaire POINT_PLAN                                         
  67 : *                                                                               
  68 :          ELSE IF (CMOT(1:10).EQ.'POINT_PLAN') THEN 
  69 :             IPLA(IL) = 0                             
  70 :             TYPRET = ' '                                                        
  70 :             CALL ACCTAB(ITLIAI,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0,              
  71 :      &                        TYPRET,I1,XAMO,CHARRE,L1,IP1)                        
  72 :             IF (IERR.NE.0) RETURN                                               
  73 :             IF (TYPRET.EQ.'FLOTTANT') THEN                                      
  74 :                KXPALA = 3                                                       
  75 :             ELSE                                                                
  76 :                KXPALA = 2                                                       
  77 :             ENDIF                                                               
  78 :             KIPALA = 3                                                          
  79 :             KPLAA  = 1                                                          
  80 :             NXPALA = MAX(NXPALA,KXPALA)                                         
  81 :             NIPALA = MAX(NIPALA,KIPALA)                                         
  82 :             NPLAA  = MAX(NPLAA,KPLAA)                                           
  83 : *                                                                               
  84 : * ------ liaison {l{mentaire de couplage en vitesse                             
  85 : *                                                                               
  86 :          ELSE IF (CMOT(1:16).EQ.'COUPLAGE_VITESSE') THEN 
  87 :             IPLA(IL) = 0                       
  88 :             KXPALA = 1                                                          
  89 :             KPLAA  = 2                                                          
  90 :             KIPALA = 3                                                          
  91 :             NXPALA = MAX(NXPALA,KXPALA)                                         
  92 :             NIPALA = MAX(NIPALA,KIPALA)                                         
  93 :             NPLAA  = MAX(NPLAA,KPLAA)                                           
  94 : *                                                                               
  95 : * ------ liaison {l{mentaire de couplage en d{placement                         
  96 : *                                                                               
  97 :          ELSE IF (CMOT(1:20).EQ.'COUPLAGE_DEPLACEMENT') THEN   
  98 :             IPLA(IL) = 0                 
  99 :             KXPALA = 1                                                          
 100 :             KPLAA  = 2                                                          
 101 :             KIPALA = 3                                                          
 102 :             NXPALA = MAX(NXPALA,KXPALA)                                         
 103 :             NIPALA = MAX(NIPALA,KIPALA)                                         
 104 :             NPLAA  = MAX(NPLAA,KPLAA) 
 105 : *+*
 106 : * ------ liaison elementaire POLYNOMIALE
 107 : *         
 108 :          ELSE IF (CMOT(1:11).EQ.'POLYNOMIALE') THEN
 109 :             IPLA(IL) = 1
 109 :             CALL DYPOL0(ITLIAI,PDT,NX,NI)
 110 :             IF (IERR.NE.0) RETURN
 111 :             KXPALA = NX
 112 :             KPLAA  = NI
 113 :             KIPALA = 3
 114 :             NXPALA = MAX(NXPALA,KXPALA)
 115 :             NIPALA = MAX(NIPALA,KIPALA)
 116 :             NPLAA  = MAX(NPLAA,KPLAA)
 117 : *                                                                               
 118 : * ------ liaison {l{mentaire ...                                                
 119 : *                                                                               
 120 : *        ELSE IF (CMOT(1:  ).EQ.'                ') THEN   
 121 : *           IPLA(IL) = 0                     
 122 : *           KXPALA = ...                                                        
 123 : *           KIPALA = ...                                                        
 124 : *           KPLAA  = ...                                                        
 125 : *           NXPALA = MAX(NXPALA,KXPALA)                                         
 126 : *           NIPALA = MAX(NIPALA,KIPALA)                                         
 127 : *           NPLAA  = MAX(NPLAA,KPLAA)                                           
 128 :          ELSE                                                                   
 128 :             CALL ERREUR(490)                                                    
 129 :             RETURN                                                              
 130 :          ENDIF                                                                  
 131 :          GOTO 10                                                                
 132 :       ENDIF                                                                     
 133 : *                                                                               
 134 :       END                                                                       
 135 :  
 136 :  

© Cast3M 2003 - All rights reserved.
Disclaimer