Download dcogaf.eso

Back to the list

   1 : C DCOGAF    SOURCE    GOUNAND   06/08/04    21:15:17     5520           
   2 :       SUBROUTINE DCOGAF(JCOEFF,JDFFPG,SSFACT,NBELEF,
   3 :      $     JDCOFG,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : DCOGAF
   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    : v1, 03/10/03, version initiale
  27 : C HISTORIQUE : v1, 03/10/03, création
  28 : C HISTORIQUE :
  29 : C HISTORIQUE :
  30 : C***********************************************************************
  31 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  32 : C en cas de modification de ce sous-programme afin de faciliter
  33 : C la maintenance !
  34 : C***********************************************************************
  35 : -INC CCOPTIO
  36 : CBEGININCLUDE SFACTIV
  37 :       SEGMENT FACTIV
  38 :       POINTEUR IFACTI(NBSOUV).SFACTI
  39 :       ENDSEGMENT
  40 :       SEGMENT SFACTI
  41 :       POINTEUR ISFACT(NBSOFV).SSFACT
  42 :       ENDSEGMENT
  43 :       SEGMENT SSFACT
  44 :       LOGICAL LFACTI(NBELFV,NBELEV)
  45 :       ENDSEGMENT
  46 : CENDINCLUDE SFACTIV
  47 : CBEGININCLUDE SMCHAEL
  48 :       SEGMENT MCHAEL
  49 :       POINTEUR IMACHE(N1).MELEME
  50 :       POINTEUR ICHEVA(N1).MCHEVA
  51 :       ENDSEGMENT
  52 :       SEGMENT MCHEVA
  53 :       REAL*8 VELCHE(NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM)
  54 :       ENDSEGMENT
  55 :       SEGMENT LCHEVA
  56 :       POINTEUR LISCHE(NBCHE).MCHEVA
  57 :       ENDSEGMENT
  58 : CENDINCLUDE SMCHAEL
  59 :       INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM
  60 :       POINTEUR JCOEFF.MCHEVA
  61 :       POINTEUR JDCOFG.MCHEVA
  62 : * Valeurs des fns d'interpolation du coeff. aux points de Gauss
  63 :       POINTEUR JDFFPG.MCHEVA
  64 : *
  65 :       INTEGER IMPR,IRET
  66 : *     
  67 : * Executable statements
  68 : *
  69 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans dcogaf'
  70 :       IESREL=IDIM
  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 JDFFPG
  90 :       NDLIG =JDFFPG.VELCHE(/1)
  91 :       NDCOL =JDFFPG.VELCHE(/2)
  92 :       N2DLIG=JDFFPG.VELCHE(/3)
  93 :       N2DCOL=JDFFPG.VELCHE(/4)
  94 :       NDNOEU=JDFFPG.VELCHE(/5)
  95 :       NBELEM=JDFFPG.VELCHE(/6)
  96 :       IF (NDLIG.NE.1.OR.NDCOL.NE.NDDL
  97 :      $     .OR.N2DLIG.NE.1.OR.N2DCOL.NE.IESREL
  98 :      $     .OR.NBELEM.NE.NBELEF) THEN
  99 :          WRITE(IOIMP,*) 'Erreur dims JDFFPG'
 100 :          GOTO 9999
 101 :       ENDIF
 102 :       NBPOGO=NDNOEU
 103 : *
 104 : * Initialisations...
 105 : *
 106 :       NBLIG=1
 107 :       NBCOL=1
 108 :       N2LIG=1
 109 :       N2COL=IESREL
 110 :       NBPOI=NBPOGO
 111 :       NBELM=NBELEF
 112 :       SEGINI JDCOFG
 113 : *
 114 : * On effectue le calcul du coefficient aux points de Gauss
 115 : *
 115 :       CALL DCOGF1(NDDL,IESREL,NBPOGO,NBELEV,NBELFV,NBELEF,
 116 :      $     NLVCOF,
 117 :      $     JCOEFF.VELCHE,JDFFPG.VELCHE,SSFACT.LFACTI,
 118 :      $     JDCOFG.VELCHE,
 119 :      $     IMPR,IRET)
 120 :       IF (IRET.NE.0) GOTO 9999
 121 :       SEGDES JDCOFG
 122 :       SEGDES SSFACT
 123 :       SEGDES JCOEFF
 124 :       SEGDES JDFFPG
 125 : *
 126 : * Normal termination
 127 : *
 128 :       IRET=0
 129 :       RETURN
 130 : *
 131 : * Format handling
 132 : *
 133 : *
 134 : * Error handling
 135 : *
 136 :  9999 CONTINUE
 137 :       IRET=1
 138 :       WRITE(IOIMP,*) 'An error was detected in subroutine dcogaf'
 139 :       RETURN
 140 : *
 141 : * End of subroutine DCOGAF
 142 : *
 143 :       END
 144 : 
 145 :  

© Cast3M 2003 - All rights reserved.
Disclaimer