Download cogauf.eso

Back to the list

   1 : C COGAUF    SOURCE    GOUNAND   06/08/04    21:15:10     5520           
   2 :       SUBROUTINE COGAUF(JCOEFF,FFPG,SSFACT,NBELEF,
   3 :      $     JCOEFG,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : COGAUF
   9 : C PROJET      : Noyau linéaire NLIN
  10 : C DESCRIPTION : 
  11 : C
  12 : C
  13 : C LANGAGE     : ESOPE
  14 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  15 : C               mél : gounand@semt2.smts.cea.fr
  16 : C***********************************************************************
  17 : C APPELES          :
  18 : C APPELE PAR       :
  19 : C***********************************************************************
  20 : C ENTREES            :
  21 : C
  22 : C ENTREES/SORTIES    : -
  23 : C SORTIES            :
  24 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  25 : C***********************************************************************
  26 : C VERSION    : v2, 03/10/03, refonte complète (modif SMPOUET)
  27 : C VERSION    : v1, 17/01/03, version initiale
  28 : C HISTORIQUE : v1, 17/01/03, création
  29 : C HISTORIQUE :
  30 : C HISTORIQUE :
  31 : C***********************************************************************
  32 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  33 : C en cas de modification de ce sous-programme afin de faciliter
  34 : C la maintenance !
  35 : C***********************************************************************
  36 : -INC CCOPTIO
  37 : CBEGININCLUDE SFACTIV
  38 :       SEGMENT FACTIV
  39 :       POINTEUR IFACTI(NBSOUV).SFACTI
  40 :       ENDSEGMENT
  41 :       SEGMENT SFACTI
  42 :       POINTEUR ISFACT(NBSOFV).SSFACT
  43 :       ENDSEGMENT
  44 :       SEGMENT SSFACT
  45 :       LOGICAL LFACTI(NBELFV,NBELEV)
  46 :       ENDSEGMENT
  47 : CENDINCLUDE SFACTIV
  48 : CBEGININCLUDE SMCHAEL
  49 :       SEGMENT MCHAEL
  50 :       POINTEUR IMACHE(N1).MELEME
  51 :       POINTEUR ICHEVA(N1).MCHEVA
  52 :       ENDSEGMENT
  53 :       SEGMENT MCHEVA
  54 :       REAL*8 VELCHE(NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM)
  55 :       ENDSEGMENT
  56 :       SEGMENT LCHEVA
  57 :       POINTEUR LISCHE(NBCHE).MCHEVA
  58 :       ENDSEGMENT
  59 : CENDINCLUDE SMCHAEL
  60 :       INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM
  61 :       POINTEUR JCOEFF.MCHEVA
  62 :       POINTEUR JCOEFG.MCHEVA
  63 : * Valeurs des fns d'interpolation du coeff. aux points de Gauss
  64 :       POINTEUR FFPG.MCHEVA
  65 : *
  66 :       INTEGER IMPR,IRET
  67 : *     
  68 : * Executable statements
  69 : *
  70 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans cogauf'
  71 :       SEGACT SSFACT
  72 :       NBELFV=SSFACT.LFACTI(/1)
  73 :       NBELEV=SSFACT.LFACTI(/2)
  74 :       SEGACT JCOEFF
  75 :       NDLIG =JCOEFF.VELCHE(/1)
  76 :       NDCOL =JCOEFF.VELCHE(/2)
  77 :       N2DLIG=JCOEFF.VELCHE(/3)
  78 :       N2DCOL=JCOEFF.VELCHE(/4)
  79 :       NDNOEU=JCOEFF.VELCHE(/5)
  80 :       NBELEM=JCOEFF.VELCHE(/6)
  81 :       IF (NDLIG.NE.1.OR.N2DLIG.NE.1.OR.N2DCOL.NE.1
  82 :      $     .OR.NDNOEU.NE.1
  83 :      $     .OR.(NBELEM.NE.1.AND.NBELEM.NE.NBELEV)) THEN
  84 :          WRITE(IOIMP,*) 'Erreur dims JCOEFF'
  85 :          GOTO 9999
  86 :       ENDIF
  87 :       NDDL=NDCOL
  88 :       NLVCOF=NBELEM
  89 :       SEGACT FFPG
  90 :       NDLIG =FFPG.VELCHE(/1)
  91 :       NDCOL =FFPG.VELCHE(/2)
  92 :       N2DLIG=FFPG.VELCHE(/3)
  93 :       N2DCOL=FFPG.VELCHE(/4)
  94 :       NDNOEU=FFPG.VELCHE(/5)
  95 :       NBELEM=FFPG.VELCHE(/6)
  96 :       IF (NDLIG.NE.1.OR.NDCOL.NE.NDDL
  97 :      $     .OR.N2DLIG.NE.1.OR.N2DCOL.NE.1
  98 :      $     .OR.(NBELEM.NE.1.AND.NBELEM.NE.NBELFV)) THEN
  99 :          WRITE(IOIMP,*) 'Erreur dims FFPG'
 100 :          GOTO 9999
 101 :       ENDIF
 102 :       NBPOGO=NDNOEU
 103 :       NLFVFF=NBELEM
 104 :       IF (NLVCOF.EQ.1.AND.NLFVFF.EQ.1) THEN
 105 :          NLFCOG=1
 106 :       ELSE
 107 :          NLFCOG=NBELEF
 108 :       ENDIF
 109 : *
 110 : * Initialisations...
 111 : *
 112 :       NBLIG=1
 113 :       NBCOL=1
 114 :       N2LIG=1
 115 :       N2COL=1
 116 :       NBPOI=NBPOGO
 117 :       NBELM=NLFCOG
 118 :       SEGINI JCOEFG
 119 : *
 120 : * On effectue le calcul du coefficient aux points de Gauss
 121 : *
 121 :       CALL COGAF1(NDDL,NBPOGO,NBELEV,NBELFV,NBELEF,
 122 :      $     NLVCOF,NLFVFF,NLFCOG,
 123 :      $     JCOEFF.VELCHE,FFPG.VELCHE,SSFACT.LFACTI,
 124 :      $     JCOEFG.VELCHE,
 125 :      $     IMPR,IRET)
 126 :       IF (IRET.NE.0) GOTO 9999
 127 :       SEGDES JCOEFG
 128 :       SEGDES SSFACT
 129 :       SEGDES JCOEFF
 130 :       SEGDES FFPG
 131 : *
 132 : * Normal termination
 133 : *
 134 :       IRET=0
 135 :       RETURN
 136 : *
 137 : * Format handling
 138 : *
 139 : *
 140 : * Error handling
 141 : *
 142 :  9999 CONTINUE
 143 :       IRET=1
 144 :       WRITE(IOIMP,*) 'An error was detected in subroutine cogauf'
 145 :       RETURN
 146 : *
 147 : * End of subroutine COGAUF
 148 : *
 149 :       END
 150 : 
 151 :  

© Cast3M 2003 - All rights reserved.
Disclaimer