Download masse.eso

Back to the list

   1 : C MASSE     SOURCE    PV        09/03/26    21:15:30     6346           
   2 :       SUBROUTINE MASSE(ILUMP)
   3 : *
   4 : *_______________________________________________________________________
   5 : *
   6 : *            operateurs masse et lump
   7 : *
   8 : *
   9 : *           ILUMP : =1 indique si il s'agit de l'opérateur LUMP
  10 : *
  11 : *
  12 : *_______________________________________________________________________
  13 :       IMPLICIT INTEGER(I-N)
  14 :       IMPLICIT REAL*8(A-H,O-Z)
  15 : *
  16 : -INC CCOPTIO
  17 : -INC SMCHAML
  18 : -INC CCHAMP
  19 : c
  20 :       CHARACTER*4  CMOT
  21 :       
  22 : C     Lump d une matrice deja constituée ( formule initiale )
  22 :       CALL LIROBJ('RIGIDITE',IRIG,0,IR1)                                        
  23 :       IF (IR1.NE.0) THEN 
  24 :       LMOT=0                                                                    
  24 :       CALL LIROBJ('LISTMOTS',LMOT,0,IR2)                                        
  25 :       IF (IERR.NE.0) RETURN       
  26 :       if (ir2.eq.0.and.ilump.eq.0) then 
  26 :        call ecrobj('RIGIDITE',IRIG)
  27 :        goto 10
  28 :       endif
  29 :                    
  30 : *                                                                               
  30 :       CALL LUMPIN(IRIG,LMOT,ILUM)                                               
  31 :       IF (IERR.NE.0) RETURN                                                     
  32 : *                                                                               
  32 :       CALL ECROBJ('RIGIDITE',ILUM)                                              
  33 :       RETURN                             
  34 :       END IF        
  35 : c
  36 : c     lecture du modele
  37 : c     
  38 :  10   IPCHE1=0
  39 : c
  39 :       CALL LIROBJ('MMODEL',IPMODL,0,IRT1)
  40 : c
  41 :       IF(IRT1.NE.0) THEN
  42 : c
  43 : c        Cas de la matrice masse sur base element finis
  44 : c        lecture du 1 ier mchaml
  45 : c
  45 :           CALL LIROBJ('MCHAML',IPCHE1,1,IRT2)
  46 : c
  47 : c         si absent erreur
  48 : c
  49 :           IF (IRT2.EQ.0) THEN 
  50 :                MOTERR(1:16) ='CARACTERISTIQUE' 
  50 :                CALL ERREUR(565)
  51 :                RETURN
  52 :           ENDIF
  52 :       call reduaf(ipche1,ipmodl,ipch,0,ir,ker)
  52 :       if (ir.ne.1) call erreur(ker)
  53 :       IF (IERR.NE.0) RETURN
  54 :       ipche1=ipch
  55 : c
  56 : c     calcul de la masse
  57 : c
  58 : 
  58 :           CALL MASSE1 (IPMODL,IPCHE1,IPMASS,IRET,ILUMP)
  59 : c
  60 : c     ecriture du resultat
  61 : c
  61 :           CALL ECROBJ('RIGIDITE',IPMASS)
  62 : 
  63 :       ELSE 
  64 :         IF (ILUMP .EQ. 0) THEN
  65 : c 
  66 : c   cas des masses additionnelles
  67 : c
  67 :           CALL LIRCHA(CMOT,0,IRT1)
  68 :           IF (IRT1.NE.0) THEN
  68 :             CALL REFUS
  68 :             CALL APPUI(2)
  69 :           ELSE 
  70 : c
  71 : c   cas de la masse sur base modale
  72 : c
  72 :             CALL MASSMO
  73 :           ENDIF
  74 :         ELSE
  74 :           CALL ERREUR(26)
  75 :         ENDIF
  76 :       ENDIF
  77 : c
  78 : c
  79 : c
  80 :       RETURN
  81 :       END
  82 :  
  83 :  
  84 :  
  85 :  
  86 :  
  87 :  
  88 :  
  89 :  
  90 :  
  91 :  
  92 :  

© Cast3M 2003 - All rights reserved.
Disclaimer