Download prcmct.eso

Back to the list

   1 : C PRCMCT    SOURCE    GOUNAND   11/05/25    21:15:27     6980           
   2 :       SUBROUTINE PRCMCT()
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C***********************************************************************
   6 : C NOM         : PRCMCT
   7 : C DESCRIPTION : Préparation du calcul de CD-1Bt, on effectue les boucles
   8 : C               sur les matrices élémentaires.  
   9 : C     
  10 : C LANGAGE     : ESOPE
  11 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  12 : C               mél : gounand@semt2.smts.cea.fr
  13 : C***********************************************************************
  14 : C APPELES          : PROMAT
  15 : C APPELES (E/S)    : LIROBJ, ECROBJ
  16 : C APPELES (STAT)   : INMSTA, PRMSTA, SUMSTA
  17 : C APPELE PAR       : RYO2V
  18 : C***********************************************************************
  19 : C SYNTAXE GIBIANE    : MATCDB = 'KOPS' 'CMCT' MATC MATB CHPOD
  20 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  21 : C***********************************************************************
  22 : C VERSION    : v1, 28/01/2000, version initiale réécrite
  23 : C HISTORIQUE : v1, 28/01/2000, création
  24 : C HISTORIQUE :
  25 : C HISTORIQUE :
  26 : C***********************************************************************
  27 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  28 : C en cas de modification de ce sous-programme afin de faciliter
  29 : C la maintenance !
  30 : C***********************************************************************
  31 : -INC CCOPTIO
  32 : *     
  33 :       INTEGER IMPR,IRET
  34 :       CHARACTER*8 MONTYP
  35 : *
  36 : * Executable statements
  37 : *     
  38 :       IMPR=IIMPI
  39 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans prcmct'
  40 : *     
  41 : * Lecture des arguments
  42 : *     
  42 :       CALL QUETYP(MONTYP,0    ,IRETOU)                                          
  43 :       IF (IRETOU.EQ.0) THEN                                                     
  43 :          CALL ERREUR(533)                                                       
  44 :          RETURN                                                                 
  45 :       ENDIF       
  46 : * Deux matrices : C et B
  47 : *
  48 : * Avec des MATRIK
  49 : *
  50 :       IF (MONTYP.EQ.'MATRIK  ') THEN
  50 :          CALL LIROBJ('MATRIK  ',MATC,1,IRETOU)
  51 :          IF (IERR.NE.0) RETURN
  51 :          CALL LIROBJ('MATRIK  ',MATB,1,IRET)
  52 :          IF (IERR.NE.0) RETURN
  53 : * Le chpoint matrice-masse diagonale D
  53 :          CALL LIROBJ('CHPOINT ',ICHP,0,IRET)
  54 :          IF (IRET.EQ.0) THEN
  55 :             ICHP=0
  56 :          ENDIF
  57 : *
  57 :          CALL PRCMCK(MATC,MATB,ICHP,MATCDB,IMPR,IRET)
  58 :          IF (IRET.NE.0) GOTO 9999
  59 : *     
  59 :          CALL ECROBJ('MATRIK  ',MATCDB)
  60 : *
  61 : * Avec des RIGIDITE
  62 : *
  63 :       ELSEIF (MONTYP.EQ.'RIGIDITE') THEN
  63 :          CALL LIROBJ('RIGIDITE',IRIGC,1,IRET)
  64 :          IF (IERR.NE.0) RETURN
  64 :          CALL LIROBJ('RIGIDITE',IRIGB,1,IRET)
  65 :          IF (IERR.NE.0) RETURN
  66 : * Le chpoint matrice-masse diagonale D
  66 :          CALL LIROBJ('CHPOINT ',ICHP,0,IRET)
  67 :          IF (IRET.EQ.0) THEN
  68 :             ICHP=0
  69 :          ENDIF
  69 :          CALL CMCT3(ICHP,IRIGC,IRIGB,IRIG2)
  70 :          IF (IERR.NE.0) RETURN
  71 : *
  71 :          CALL ECROBJ('RIGIDITE',IRIG2)
  72 :       ELSE
  73 :          MOTERR(1:8)=MONTYP
  73 :          CALL ERREUR(39)
  74 :       ENDIF
  75 : *     
  76 : * Normal termination
  77 : *     
  78 : *      IRET=0
  79 :       RETURN
  80 : *     
  81 : * Format handling
  82 : *     
  83 : *     
  84 : * Error handling
  85 : *     
  86 :  9999 CONTINUE
  87 : *     IRET=1
  88 :       WRITE(IOIMP,*) 'An error was detected in subroutine prcmct'
  88 :       CALL ERREUR(5)
  89 :       RETURN
  90 : *     
  91 : * End of subroutine PRCMCT
  92 : *     
  93 :       END
  94 : 
  95 :  
  96 :  
  97 :  
  98 :  

© Cast3M 2003 - All rights reserved.
Disclaimer