Download capdif.eso

Back to the list

   1 : C CAPDIF    SOURCE    FANDEUR   10/12/17    21:15:55     6427           
   2 : 
   3 :       SUBROUTINE CAPDIF (MELE,IPMAIL,IPMINT,IVAMAT,NVMAT, IPMATR)
   4 : 
   5 : *----------------------------------------------------------------------*
   6 : *     CALCUL DE LA CAPACITE POUR LA FORMULATION 'DIFFUSION'            *
   7 : *----------------------------------------------------------------------*
   8 : *   ENTREES :                                                          *
   9 : *   ________                                                           *
  10 : *     MELE     Numero de l'element fini                                *
  11 : *     IPMAIL   Segment MELEME actif                                    *
  12 : *     IPMINT   Segment MINTE actif                                     *
  13 : *     IVAMAT   Segment MPTVAL actif des proprietes materielles         *
  14 : *     NVMAT    Nombre de proprietes materielles (ici =1)               *
  15 : *                                                                      *
  16 : *   SORTIES :                                                          *
  17 : *   ________                                                           *
  18 : *     IPMATR   Segment MRIGID actif contenant la CAPACITE              *
  19 : *----------------------------------------------------------------------*
  20 : 
  21 :       IMPLICIT INTEGER(I-N)
  22 :       IMPLICIT REAL*8(A-H,O-Z)
  23 : 
  24 : -INC CCOPTIO
  25 : -INC CCREEL
  26 : 
  27 : -INC SMCHAML
  28 : -INC SMCOORD
  29 : -INC SMELEME
  30 : -INC SMINTE
  31 : -INC SMRIGID
  32 : 
  33 :       SEGMENT MPTVAL
  34 :         INTEGER IPOS(NS),NSOF(NS)
  35 :         INTEGER IVAL(NCOSOU)
  36 :         CHARACTER*16 TYVAL(NCOSOU)
  37 :       ENDSEGMENT
  38 : 
  39 :       SEGMENT MWKELT
  40 :         REAL*8 XEL(3,NBNN),XDSHP(6,NBNN),XFORM(NBNN)
  41 :       ENDSEGMENT
  42 : 
  43 :       MELEME = IPMAIL
  44 :       NBNN   = NUM(/1)
  45 :       NBELEM = NUM(/2) 
  46 : 
  47 :       MINTE  = IPMINT
  48 :       NBPGAU = POIGAU(/1)
  49 : 
  50 :       MPTVAL = IVAMAT
  51 :       MELVAL = IVAL(1)
  52 :       NELMAT = VELCHE(/2)
  53 :       NPGMAT = VELCHE(/1)
  54 : 
  55 :       XMATRI = IPMATR
  56 : 
  57 :       SEGINI,MWKELT
  58 : 
  59 : C-------------------------
  60 : C Boucle sur les elements
  61 : C-------------------------
  62 :       DO IEL = 1,NBELEM
  63 : C - Recuperation des coordonnees des noeuds de l element IEL
  63 :         CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  64 : C - 
  65 :         IEMN = MIN(IEL,NELMAT)
  66 : C--  --  --  --  --  --  --  --  --
  67 : C - Boucle sur les points de Gauss
  68 : C--  --  --  --  --  --  --  --  --
  69 :         ISDJC = 0
  70 :         DO IGAU = 1, NBPGAU
  71 : C -- Calcul de la matrice Bdif et du jacobien au point de Gauss IGAU
  71 :           CALL NDIFF(NBNN,XEL,SHPTOT(1,1,IGAU), XDSHP,XFORM,DJAC)
  72 :           IF (DJAC.EQ.0.) THEN
  73 :             INTERR(1) = IEL
  73 :             CALL ERREUR(259)
  74 :             GOTO 999
  75 :           ENDIF
  76 :           IF (DJAC.LT.0.) ISDJC = ISDJC+1
  77 : C -- Recuperation de la capacite 'CDIF' (IGAU)
  78 :           IGMN = MIN(IGAU,NPGMAT)
  79 :           CDIFF = VELCHE(IGMN,IEMN)
  80 : C -- Contribution a la matrice de capacite elementaire (IGAU - IEL)
  81 :           DJAC = ABS(DJAC) * POIGAU(IGAU) * CDIFF
  81 :           CALL NTNST(XFORM,DJAC,NBNN,1,RE(1,1,IEL))
  82 : C--  --  --  --  --  --  --  --  --
  83 :         ENDDO
  84 : C--  --  --  --  --  --  --  --  --
  85 :         IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN
  86 :           INTERR(1) = IEL
  86 :           CALL ERREUR(195)
  87 :           GOTO 999
  88 :         ENDIF
  89 : C-------------------------
  90 :       ENDDO
  91 : C-------------------------
  92 : 
  93 :  999  CONTINUE
  94 :       SEGSUP,MWKELT
  95 : 
  96 :       RETURN
  97 :       END
  98 : 
  99 :  

© Cast3M 2003 - All rights reserved.
Disclaimer