Download prfal.eso

Back to the list

   1 : C PRFAL     SOURCE    CHAT      07/10/29    21:25:58     5940           
   2 :       SUBROUTINE PRFAL(FACOUR,
   3 :      $     IMPR,IRET)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 :       IMPLICIT INTEGER (I-N)
   6 : C***********************************************************************
   7 : C NOM         : PRFAL 
   8 : C PROJET      : Noyau linéaire NLIN
   9 : C DESCRIPTION : Imprime un segment décrivant une famille d'éléments
  10 : C               de référence.
  11 : C LANGAGE     : ESOPE
  12 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  13 : C               mél : gounand@semt2.smts.cea.fr
  14 : C***********************************************************************
  15 : C APPELES          : OOOETA (état d'un segment)
  16 : C APPELE PAR       : INFALS
  17 : C***********************************************************************
  18 : C ENTREES            : FACOUR (type FALRF) : famille d'éléments de
  19 : C                      référence. 
  20 : C ENTREES/SORTIES    : -
  21 : C SORTIES            : -
  22 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  23 : C***********************************************************************
  24 : C VERSION    : v1, 17/08/99, version initiale
  25 : C HISTORIQUE : v1, 17/08/99, création
  26 : C HISTORIQUE :
  27 : C HISTORIQUE :
  28 : C***********************************************************************
  29 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  30 : C en cas de modification de ce sous-programme afin de faciliter
  31 : C la maintenance !
  32 : C***********************************************************************
  33 : -INC CCOPTIO
  34 : -INC CCGEOME
  35 : CBEGININCLUDE SELREF
  36 :       SEGMENT ELREF
  37 :       CHARACTER*(LNNOM)  NOMLRF
  38 :       CHARACTER*(LNFORM) FORME 
  39 :       CHARACTER*(LNTYPL) TYPEL 
  40 :       CHARACTER*(LNESP)  ESPACE
  41 :       INTEGER DEGRE
  42 :       REAL*8 XCONOD(NDIMEL,NBNOD)
  43 :       INTEGER NPQUAF(NBDDL)
  44 :       INTEGER NUMCMP(NBDDL)
  45 :       INTEGER QUENOD(NBDDL)
  46 :       INTEGER ORDDER(NDIMEL,NBDDL)
  47 :       POINTEUR MBPOLY.POLYNS
  48 :       ENDSEGMENT
  49 :       SEGMENT ELREFS
  50 :       POINTEUR LISEL(0).ELREF
  51 :       ENDSEGMENT
  52 : CENDINCLUDE SELREF
  53 :       POINTEUR ELCOUR.ELREF
  54 : CBEGININCLUDE SFALRF
  55 :       SEGMENT FALRF
  56 :       CHARACTER*(LNNFA) NOMFA
  57 :       INTEGER NUQUAF(NBLRF)
  58 :       POINTEUR ELEMF(NBLRF).ELREF
  59 :       ENDSEGMENT
  60 :       SEGMENT FALRFS
  61 :       POINTEUR LISFA(0).FALRF
  62 :       ENDSEGMENT
  63 : CENDINCLUDE SFALRF
  64 :       POINTEUR FACOUR.FALRF
  65 : *
  66 :       INTEGER IMPR,IRET
  67 : *
  68 :       INTEGER IBLRF,NBLRF
  69 :       INTEGER FALETA
  70 : *     
  71 : * Executable statements
  72 : *
  73 : * On veut laisser FACOUR dans le même état (actif, inactif) qu'avant
  74 : * l'appel à PRFAL.
  74 :       CALL OOOETA(FACOUR,FALETA)
  75 :       IF (FALETA.NE.1) SEGACT FACOUR
  76 :       WRITE(IOIMP,*) 'Segment FALRF de pointeur',FACOUR
  77 :       IF (IMPR.GT.1) THEN 
  78 :          WRITE(IOIMP,*) 'Nom : ',FACOUR.NOMFA
  79 :          IF (IMPR.GT.2) THEN 
  80 :             NBLRF=FACOUR.NUQUAF(/1)
  81 :             SEGACT FACOUR.ELEMF(*)
  82 :             WRITE(IOIMP,4005) 'QUAF','Elément fini'
  83 :             DO 1 IBLRF=1,NBLRF
  84 :                ELCOUR=FACOUR.ELEMF(IBLRF)
  85 :                WRITE(IOIMP,4005) NOMS(FACOUR.NUQUAF(IBLRF)),
  86 :      $              ELCOUR.NOMLRF
  87 :  1          CONTINUE
  88 :             SEGDES FACOUR.ELEMF(*)
  89 :          ENDIF
  90 :       ENDIF
  91 :       IF (FALETA.NE.1) SEGDES FACOUR
  92 : C            NBLRF=FACOUR.NUQUAF(/1)
  93 : C            SEGACT FACOUR.ELEMF(*)
  94 : C            DO 1 IBLRF=1,NBLRF
  95 : C               ELCOUR=FACOUR.ELEMF(IBLRF)
  96 : C               WRITE(IOIMP,4004) FACOUR.NOMFA,
  97 : C     $              NOMS(FACOUR.NUQUAF(IBLRF)),
  98 : C     $              ELCOUR.NOMLRF
  99 : C 1          CONTINUE
 100 : C            SEGDES FACOUR.ELEMF(*)
 101 : *
 102 : * Normal termination
 103 : *
 104 :       IRET=0
 105 :       RETURN
 106 : *
 107 : * Format handling
 108 : *
 109 :  4004 FORMAT (A15,' ',A15,' ',A15) 
 110 :  4005 FORMAT (A14,' <-> ',A14)
 111 : *
 112 : * Error handling
 113 : *
 114 :  9999 CONTINUE
 115 :       IRET=1
 116 :       WRITE(IOIMP,*) 'An error was detected in subroutine prfal'
 117 :       RETURN
 118 : *
 119 : * End of subroutine prfal
 120 : *
 121 :       END
 122 : 
 123 : 
 124 :  
 125 :  

© Cast3M 2003 - All rights reserved.
Disclaimer