Download reacti.eso

Back to the list

   1 : C REACTI    SOURCE    KICH      07/11/15    21:15:18     5970           
   2 :       SUBROUTINE REACTI                                                         
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : -INC CCOPTIO                                                                    
   6 :       LOGICAL L0,L1                                                             
   7 :       CHARACTER*8 TYPRET,CTYP,CHARRE                                                   
   8 :       PARAMETER (IUN=1)                                                         
   9 : *                                                                               
   9 :       CALL LIRTAB('LIAISONS_STATIQUES',ITBAS,0,IRET)
  10 : 
  10 :       CALL LIROBJ ('RIGIDITE',MRIGID,IUN,IRETOU)                                
  11 :       IF(IERR.NE.0) RETURN                                                      
  12 :       IF (IRET.NE.0) goto 1100
  13 : *                                                                               
  14 : *     lecture d'une TABLE ou d'un objet CHPOINT                                 
  15 : *                                                                               
  15 :       CALL QUETYP(CTYP,0  ,IRETOU)                                              
  16 :       IF(IRETOU.EQ.0) THEN                                                      
  16 :          CALL ERREUR(533)                                                       
  17 :          RETURN                                                                 
  18 :       ENDIF                                                                     
  19 :       IF (CTYP(1:8).EQ.'TABLE   ') THEN                                         
  19 :          CALL LIRTAB('BASE_MODALE',ITBAS,IUN,IRET)                              
  20 :          IF (IERR.NE.0) RETURN                                                  
  21 : *                                                                               
  22 : *        On r{cup}re la base des modes                                          
  23 : *                                                                               
  23 :          CALL ACCTAB(ITBAS,'MOT',I0,X0,'MODES',L0,IP0,                          
  24 :      &                   'TABLE',I1,X1,' ',L1,IBAS)                             
  25 :          IB = 0                                                                 
  26 :  10      CONTINUE                                                               
  27 :          TYPRET = ' '                                                           
  28 :          IB = IB + 1                                                            
  28 :          CALL ACCTAB(IBAS,'ENTIER',IB,X0,' ',L0,IP0,                            
  29 :      &                      TYPRET,I1,X1,CHARRE,L1,ITTBAS)                         
  30 :          IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE   ') THEN                       
  30 :             CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,            
  31 :      &                     'CHPOINT',I1,X1,' ',L1,MCHPOI)                       
  31 :             CALL REACT1(MRIGID,MCHPOI,MCHPO1)                                   
  32 :             IF(IERR.NE.0) RETURN                                                
  32 :             CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION_MODALE',L0,IP0,            
  33 :      &                     'CHPOINT',I1,X1,' ',L1,MCHPO1)                       
  34 :             GOTO 10                                                             
  35 :          ENDIF                                                                  
  36 : *                                                                               
  37 : *        On r{cup}re la base des pseudo-modes                                   
  38 : *                                                                               
  39 :          TYPRET = ' '                                                           
  39 :          CALL ACCTAB(ITBAS,'MOT',I0,X0,'PSEUDO_MODES',L0,IP0,                   
  40 :      &                    TYPRET,I1,X1,CHARRE,L1,ITPS)                             
  41 :          IF (ITPS.NE.0 .AND. TYPRET.EQ.'TABLE   ') THEN                         
  42 :             IB = 0                                                              
  43 :  20         CONTINUE                                                            
  44 :             TYPRET = ' '                                                        
  45 :             IB = IB + 1                                                         
  45 :             CALL ACCTAB(ITPS,'ENTIER',IB,X0,' ',L0,IP0,                         
  46 :      &                         TYPRET,I1,X1,CHARRE,L1,ITTBAS)                      
  47 :             IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE   ') THEN                    
  47 :                CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEPLACEMENT',L0,IP0,             
  48 :      &                        'CHPOINT',I1,X1,' ',L1,MCHPOI)                    
  48 :                CALL REACT1(MRIGID,MCHPOI,MCHPO1)                                
  49 :                IF(IERR.NE.0) RETURN                                             
  49 :                CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION',L0,IP0,                
  50 :      &                        'CHPOINT',I1,X1,' ',L1,MCHPO1)                    
  51 :                GOTO 20                                                          
  52 :             ENDIF                                                               
  53 :          ENDIF                                                                  
  53 :          CALL ECROBJ('TABLE   ',ITBAS)                                          
  54 :          RETURN                                                                 
  55 :       ENDIF                                                                     
  55 :       CALL LIROBJ ('CHPOINT ',MCHPOI,IUN,IRETOU)                                
  56 :       IF(IERR.NE.0) RETURN                                                      
  56 :       CALL REACT1(MRIGID,MCHPOI,MCHPO1)                                         
  57 :       IF(IERR.NE.0) RETURN                                                      
  57 :       CALL ECROBJ('CHPOINT ',MCHPO1)                                            
  58 :       RETURN
  59 : *
  60 :  1100 CONTINUE
  61 :             IB = 0                                                              
  62 :  1120    CONTINUE                                                            
  63 :             TYPRET = ' '                                                        
  64 :             IB = IB + 1                                                         
  64 :             CALL ACCTAB(ITBAS,'ENTIER',IB,X0,' ',L0,IP0,                         
  65 :      &                         TYPRET,I1,X1,CHARRE,L1,ITTBAS)                      
  66 :             IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE   ') THEN                    
  67 :               IF (MRIGID.GT.0) THEN                    
  67 :                CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEFORMEE',L0,IP0,             
  68 :      &                        'CHPOINT',I1,X1,' ',L1,MCHPOI)                    
  68 :                CALL REACT1(MRIGID,MCHPOI,MCHPO1)                                
  69 :                IF(IERR.NE.0) RETURN                                             
  69 :                CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION',L0,IP0,                
  70 :      &                        'CHPOINT',I1,X1,' ',L1,MCHPO1)
  71 :               ENDIF                    
  72 :                GOTO 1120 
  73 :             ENDIF                                                               
  74 :       
  74 :          CALL ECROBJ('TABLE   ',ITBAS)                                          
  75 :          RETURN                                                                 
  76 :       END                                                                       
  77 :  
  78 :  
  79 :  
  80 :  

© Cast3M 2003 - All rights reserved.
Disclaimer