Télécharger capdif.eso

Retour à la liste

Numérotation des lignes :

capdif
  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.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. -INC CCREEL
  28.  
  29. -INC SMCHAML
  30. -INC SMCOORD
  31. -INC SMELEME
  32. -INC SMINTE
  33. -INC SMRIGID
  34.  
  35. SEGMENT MPTVAL
  36. INTEGER IPOS(NS),NSOF(NS)
  37. INTEGER IVAL(NCOSOU)
  38. CHARACTER*16 TYVAL(NCOSOU)
  39. ENDSEGMENT
  40.  
  41. SEGMENT MWKELT
  42. REAL*8 XEL(3,NBNN),XDSHP(6,NBNN),XFORM(NBNN)
  43. ENDSEGMENT
  44.  
  45. MELEME = IPMAIL
  46. NBNN = NUM(/1)
  47. NBELEM = NUM(/2)
  48.  
  49. MINTE = IPMINT
  50. NBPGAU = POIGAU(/1)
  51.  
  52. MPTVAL = IVAMAT
  53. MELVAL = IVAL(1)
  54. NELMAT = VELCHE(/2)
  55. NPGMAT = VELCHE(/1)
  56.  
  57. XMATRI = IPMATR
  58.  
  59. SEGINI,MWKELT
  60.  
  61. C-------------------------
  62. C Boucle sur les elements
  63. C-------------------------
  64. DO IEL = 1,NBELEM
  65. C - Recuperation des coordonnees des noeuds de l element IEL
  66. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  67. C -
  68. IEMN = MIN(IEL,NELMAT)
  69. C-- -- -- -- -- -- -- -- --
  70. C - Boucle sur les points de Gauss
  71. C-- -- -- -- -- -- -- -- --
  72. ISDJC = 0
  73. DO IGAU = 1, NBPGAU
  74. C -- Calcul de la matrice Bdif et du jacobien au point de Gauss IGAU
  75. CALL NDIFF(NBNN,XEL,SHPTOT(1,1,IGAU), XDSHP,XFORM,DJAC)
  76. IF (DJAC.EQ.0.) THEN
  77. INTERR(1) = IEL
  78. CALL ERREUR(259)
  79. GOTO 999
  80. ENDIF
  81. IF (DJAC.LT.0.) ISDJC = ISDJC+1
  82. C -- Recuperation de la capacite 'CDIF' (IGAU)
  83. IGMN = MIN(IGAU,NPGMAT)
  84. CDIFF = VELCHE(IGMN,IEMN)
  85. C -- Contribution a la matrice de capacite elementaire (IGAU - IEL)
  86. DJAC = ABS(DJAC) * POIGAU(IGAU) * CDIFF
  87. CALL NTNST(XFORM,DJAC,NBNN,1,RE(1,1,IEL))
  88. C-- -- -- -- -- -- -- -- --
  89. ENDDO
  90. C-- -- -- -- -- -- -- -- --
  91. IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN
  92. INTERR(1) = IEL
  93. CALL ERREUR(195)
  94. GOTO 999
  95. ENDIF
  96. C-------------------------
  97. ENDDO
  98. C-------------------------
  99.  
  100. 999 CONTINUE
  101. SEGSUP,MWKELT
  102.  
  103. RETURN
  104. END
  105.  
  106.  
  107.  

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