Télécharger capdif.eso

Retour à la liste

Numérotation des lignes :

  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
  64. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  65. C -
  66. IEMN = MIN(IEL,NELMAT)
  67. C-- -- -- -- -- -- -- -- --
  68. C - Boucle sur les points de Gauss
  69. C-- -- -- -- -- -- -- -- --
  70. ISDJC = 0
  71. DO IGAU = 1, NBPGAU
  72. C -- Calcul de la matrice Bdif et du jacobien au point de Gauss IGAU
  73. CALL NDIFF(NBNN,XEL,SHPTOT(1,1,IGAU), XDSHP,XFORM,DJAC)
  74. IF (DJAC.EQ.0.) THEN
  75. INTERR(1) = IEL
  76. CALL ERREUR(259)
  77. GOTO 999
  78. ENDIF
  79. IF (DJAC.LT.0.) ISDJC = ISDJC+1
  80. C -- Recuperation de la capacite 'CDIF' (IGAU)
  81. IGMN = MIN(IGAU,NPGMAT)
  82. CDIFF = VELCHE(IGMN,IEMN)
  83. C -- Contribution a la matrice de capacite elementaire (IGAU - IEL)
  84. DJAC = ABS(DJAC) * POIGAU(IGAU) * CDIFF
  85. CALL NTNST(XFORM,DJAC,NBNN,1,RE(1,1,IEL))
  86. C-- -- -- -- -- -- -- -- --
  87. ENDDO
  88. C-- -- -- -- -- -- -- -- --
  89. IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN
  90. INTERR(1) = IEL
  91. CALL ERREUR(195)
  92. GOTO 999
  93. ENDIF
  94. C-------------------------
  95. ENDDO
  96. C-------------------------
  97.  
  98. 999 CONTINUE
  99. SEGSUP,MWKELT
  100.  
  101. RETURN
  102. END
  103.  
  104.  
  105.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales