Download cmct.eso

Back to the list

   1 : C CMCT      SOURCE    CHAT      09/10/09    21:16:26     6519           
   2 :       SUBROUTINE CMCT
   3 : *_______________________________________________________________________
   4 : c
   5 : c      chapeau de l'opérateur cmct
   6 : c
   7 : c      récupération des objets 
   8 : c      quelques tests sur les objets obtenus
   9 : c
  10 : C              ri2  = CMCT  mrigid  ri1
  11 : C                             mrigid   rigidite ( sans dependences) 
  12 : C                             ri1      rigidite de dependence
  13 : 
  14 : *_______________________________________________________________________
  15 :       IMPLICIT INTEGER(I-N)
  16 :       IMPLICIT REAL*8(A-H,O-Z)
  17 : *
  18 : -INC CCOPTIO
  19 : -INC SMRIGID
  20 : -INC SMELEME
  21 : 
  22 : *
  23 : *   lecture d'un  objet rigidité  
  24 : *
  24 :       CALL LIROBJ('RIGIDITE',IRIG,1,IRET)
  25 :       IF (IERR .NE.0) THEN
  26 :          RETURN
  27 :       ENDIF
  28 :      
  29 :       
  30 : *    lecture optionnelle du champ par point
  31 : *
  31 :       CALL LIROBJ('CHPOINT',ICHP,0,IRET) 
  32 :       IF (IERR .NE.0) THEN
  33 :          RETURN
  34 :       ENDIF
  35 :       
  36 :       if(iret.eq.0)  then 
  37 : C      lecture de la matrice a condenser       
  37 :       CALL LIROBJ('RIGIDITE',IRI1,1,IRET)
  38 :       IF (IERR .NE.0) THEN
  39 :          RETURN
  40 :       ENDIF 
  41 :       
  42 : *  on  verifie que la rigidité ne contient est bien 
  43 : *         de type dependance 
  44 :       mrigid = iri1 
  45 :       SEGACT , MRIGID 
  46 :       DO 1510 I=1,IRIGEL(/2)
  47 : C      write(6,*) ' irigel(/1) irigel(8,I)',irigel(/1),IRIGEL(8,I)
  48 :         if(irigel(/1).LT.8.or.IRIGEL(8,I).eq.0) then 
  48 :             CALL ERREUR(888)
  49 :             SEGDES MRIGID
  50 :             RETURN
  51 :         ENDIF
  52 : 1510   CONTINUE         
  53 :        segdes mrigid    
  53 :       call depen3(mrigid,ri6)
  53 :       call scnd2(irig,ri6,irig2)
  54 :       segsup ri6 
  55 :    
  56 :       else      
  57 : *
  58 : *   verification que la rigidité ne contient que des relation
  59 : *   c'est à dire n'est supportée que par des maillage de type22
  60 : *   
  61 :       MRIGID = IRIG 
  62 :       SEGACT, MRIGID*NOMOD
  63 :       DO 100 I=1,IRIGEL(/2)
  64 :         MELEME = IRIGEL(1,I)
  65 :         SEGACT , MELEME*NOMOD
  66 :         IF (ITYPEL.NE.22) THEN 
  66 :             CALL ERREUR(837)
  67 :             SEGDES MELEME
  68 :             SEGDES MRIGID
  69 :             RETURN
  70 :         ENDIF
  71 :  100  CONTINUE
  72 : *
  72 :       CALL CMCT1(ICHP,IRIG,IRIG2)
  73 : *
  74 :       IF ( IERR .NE. 0 ) THEN
  75 :          RETURN
  76 :       ENDIF
  77 :       
  78 :       endif 
  79 : *
  79 :       CALL ECROBJ('RIGIDITE',IRIG2)
  80 : *
  81 :       RETURN
  82 :       END
  83 : 
  84 : 
  85 : 
  86 :  
  87 :  
  88 :  
  89 :  
  90 :  
  91 :  
  92 :  

© Cast3M 2003 - All rights reserved.
Disclaimer