Download inlrfs.eso

Back to the list

   1 : C INLRFS    SOURCE    GOUNAND   05/12/21    21:33:09     5281           
   2 :       SUBROUTINE INLRFS(MYLRFS,IMPR,IRET)
   3 :       IMPLICIT REAL*8 (A-H,O-Z)
   4 :       IMPLICIT INTEGER (I-N)
   5 : C***********************************************************************
   6 : C NOM         : INLRFS
   7 : C PROJET      : Noyau linéaire NLIN
   8 : C DESCRIPTION : Initialise le segment contenant les informations sur
   9 : C               l'ensemble des éléments de référence.
  10 : C
  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          : INELSE, INELTR, INELQU, INELTE, INELPR, INELCU
  16 : C APPELES (E/S)    : PRLRF
  17 : C APPELE PAR       : KALPBG
  18 : C***********************************************************************
  19 : C ENTREES            : -
  20 : C SORTIES            : MYLRFS
  21 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  22 : C***********************************************************************
  23 : C VERSION    : v1, 20/07/99, version initiale
  24 : C HISTORIQUE : v1, 20/07/99, création
  25 : C HISTORIQUE : v2, 19/10/99, remaniement (chgt du segment ELREFS)
  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 : CBEGININCLUDE SELREF
  35 :       SEGMENT ELREF
  36 :       CHARACTER*(LNNOM)  NOMLRF
  37 :       CHARACTER*(LNFORM) FORME 
  38 :       CHARACTER*(LNTYPL) TYPEL 
  39 :       CHARACTER*(LNESP)  ESPACE
  40 :       INTEGER DEGRE
  41 :       REAL*8 XCONOD(NDIMEL,NBNOD)
  42 :       INTEGER NPQUAF(NBDDL)
  43 :       INTEGER NUMCMP(NBDDL)
  44 :       INTEGER QUENOD(NBDDL)
  45 :       INTEGER ORDDER(NDIMEL,NBDDL)
  46 :       POINTEUR MBPOLY.POLYNS
  47 :       ENDSEGMENT
  48 :       SEGMENT ELREFS
  49 :       POINTEUR LISEL(0).ELREF
  50 :       ENDSEGMENT
  51 : CENDINCLUDE SELREF
  52 :       POINTEUR MYLRFS.ELREFS
  53 :       POINTEUR ELCOUR.ELREF
  54 : *
  55 :       INTEGER IMPR,IRET
  56 : *
  57 :       INTEGER INBDEL,NBDEL
  58 : *     
  59 : * Executable statements
  60 : *
  61 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inlrfs'
  62 : *
  63 : * Initialisation du segment contenant tous les éléments de référence 
  64 : * L'ordre dans lequel ils ont initialisés à une importance car certains
  65 : * éléments sont générés à partir d'autres (ex: prisme = triangle *
  66 : * segment) 
  67 : *
  68 :       SEGINI MYLRFS
  69 : *
  70 : * On initialise les éléments de référence de dimension 1 (segments)
  71 : *
  71 :       CALL INELSE(MYLRFS,IMPR,IRET)
  72 :       IF (IRET.NE.0) GOTO 9999
  73 : *
  74 : * On initialise les éléments de référence de dimension 2
  75 : * de forme géométrique triangulaire.
  76 : *
  76 :       CALL INELTR(MYLRFS,IMPR,IRET)
  77 :       IF (IRET.NE.0) GOTO 9999
  78 : *
  79 : * On initialise les éléments de référence de dimension 2
  80 : * de forme géométrique carrée.
  81 : *
  81 :       CALL INELQU(MYLRFS,IMPR,IRET)
  82 :       IF (IRET.NE.0) GOTO 9999
  83 : *
  84 : * On initialise les éléments de référence de dimension 3
  85 : * de forme géométrique tétraèdrique.
  86 : *
  86 :       CALL INELTE(MYLRFS,IMPR,IRET)
  87 :       IF (IRET.NE.0) GOTO 9999
  88 : *
  89 : * On initialise les éléments de référence de dimension 3
  90 : * de forme géométrique pyramidale.
  91 : *
  91 :       CALL INELPY(MYLRFS,IMPR,IRET)
  92 :       IF (IRET.NE.0) GOTO 9999
  93 : *
  94 : * On initialise les éléments de référence de dimension 3
  95 : * de forme géométrique prismatique à base triangle.
  96 : *
  96 :       CALL INELPR(MYLRFS,IMPR,IRET)
  97 :       IF (IRET.NE.0) GOTO 9999
  98 : *
  99 : * On initialise les éléments de référence de dimension 3
 100 : * de forme géométrique cubique.
 101 : *
 101 :       CALL INELCU(MYLRFS,IMPR,IRET)
 102 :       IF (IRET.NE.0) GOTO 9999
 103 : *
 104 : * Impression finale
 105 : *     
 106 :       NBDEL=MYLRFS.LISEL(/1)
 107 :       IF (IMPR.GT.1) THEN
 108 : *!      WRITE(IOIMP,*) 'Nom, Forme, Continuité, degré, nb.ddl'
 109 :          SEGPRT,MYLRFS
 110 :          DO 3 INBDEL=1,NBDEL
 111 :             WRITE(IOIMP,*) 'Elément de référence ',INBDEL
 112 :             ELCOUR=MYLRFS.LISEL(INBDEL)
 112 :             CALL PRLRF(ELCOUR,IMPR,IRET)
 113 :             IF (IRET.NE.0) GOTO 9999
 114 :  3       CONTINUE
 115 :       ENDIF
 116 :       SEGDES MYLRFS
 117 : *
 118 : * Normal termination
 119 : *
 120 :       IRET=0
 121 :       RETURN
 122 : *
 123 : * Format handling
 124 : *
 125 : *
 126 : * Error handling
 127 : *
 128 :  9999 CONTINUE
 129 :       IRET=1
 130 :       WRITE(IOIMP,*) 'An error was detected in subroutine inlrfs'
 131 :       RETURN
 132 : *
 133 : * End of subroutine INLRFS
 134 : *
 135 :       END
 136 : 
 137 :  
 138 :  

© Cast3M 2003 - All rights reserved.
Disclaimer