Télécharger cneqel.eso

Retour à la liste

Numérotation des lignes :

cneqel
  1. C CNEQEL SOURCE FANDEUR 10/12/17 21:16:08 6427
  2.  
  3. SUBROUTINE CNEQEL (IPMAIL,IVAFVO,IPMINT,NBPGAU,IVAFOR,NCOMP)
  4.  
  5. *----------------------------------------------------------------------*
  6. * CALCUL DES FLUX EXLECTRIQUES ("FORCES") NODAUX EQUIVALENTS *
  7. *----------------------------------------------------------------------*
  8. * ENTREES : *
  9. * ________ *
  10. * IPMAIL Pointeur sur un segment MELEME *
  11. * NBPGAU Nombre de points d'integration pour les contraintes *
  12. * IVAFVO pointeur sur un segment MPTVAL contenant les *
  13. * les melvals de FORCES VOLUMIQUES *
  14. * IPMINT Pointeur sur un segment MINTE *
  15. * IVACAR Pointeur sur un melval de caractéristiques *
  16. * NCOMP Nombre de composantes de forces *
  17. * *
  18. * SORTIES : *
  19. * ________ *
  20. * *
  21. * IVAFOR pointeur sur un segment MPTVAL contenant les *
  22. * les melvals de forces NODALES *
  23. *----------------------------------------------------------------------*
  24.  
  25. IMPLICIT INTEGER(I-N)
  26. IMPLICIT REAL*8(A-H,O-Z)
  27.  
  28.  
  29. -INC PPARAM
  30. -INC CCOPTIO
  31. -INC CCREEL
  32.  
  33. -INC SMCHAML
  34. -INC SMELEME
  35. -INC SMCOORD
  36. -INC SMINTE
  37.  
  38. SEGMENT MWKELT
  39. REAL*8 XFORC(NBNN),FOVOL(NCOMP),XEL(3,NBNN)
  40. REAL*8 SHPWRK(6,NBNN),XFORM(NBNN)
  41. ENDSEGMENT
  42.  
  43. SEGMENT MPTVAL
  44. INTEGER IPOS(NS) , NSOF(NS)
  45. INTEGER IVAL(NCOSOU)
  46. CHARACTER*16 TYVAL(NCOSOU)
  47. ENDSEGMENT
  48.  
  49. MELEME=IPMAIL
  50. NBNN =NUM(/1)
  51. NBELEM=NUM(/2)
  52.  
  53. MINTE=IPMINT
  54.  
  55. SEGINI,MWKELT
  56.  
  57. DO 3004 IEL = 1, NBELEM
  58.  
  59. C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IEL
  60. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XEL)
  61.  
  62. C MISE A ZERO DES FORCES NODALES
  63. DO j = 1, NBNN
  64. XFORC(j) = XZERO
  65. ENDDO
  66. C
  67. C ON RECUPERE LES FORCES VOLUMIQUES
  68. C
  69. MPTVAL = IVAFVO
  70. IF (IVAL(1).NE.0) THEN
  71. MELVAL = IVAL(1)
  72. IEMN = MIN(IEL ,VELCHE(/2))
  73.  
  74. C BOUCLE SUR LES POINTS DE GAUSS
  75. ISDJC=0
  76. DO 5004 IGAU=1,NBPGAU
  77.  
  78. CALL NELEC (NBNN,XEL,SHPTOT(1,1,IGAU), SHPWRK,XFORM,DJAC)
  79. IF (DJAC.EQ.XZERO) THEN
  80. INTERR(1) = IEL
  81. CALL ERREUR(259)
  82. GOTO 999
  83. ENDIF
  84. IF (DJAC.LT.XZERO) ISDJC=ISDJC+1
  85. DJAC = ABS(DJAC)*POIGAU(IGAU)
  86. *
  87. * CALCUL DES FORCES NODALES EQUIVALENTES
  88. *
  89. IGMN = MIN(IGAU,VELCHE(/1))
  90. FOVOL(1) = VELCHE(IGMN,IEMN)
  91. r_z = FOVOL(1)*DJAC
  92. DO j = 1, NBNN
  93. XFORC(j) = XFORC(j) + XFORM(j)*r_z
  94. ENDDO
  95. *
  96. 5004 CONTINUE
  97. *
  98. IF (ISDJC.NE.0.AND.ISDJC.NE.NBPGAU) THEN
  99. INTERR(1) = IEL
  100. CALL ERREUR(195)
  101. GOTO 999
  102. ENDIF
  103. C
  104. ENDIF
  105. C
  106. C ON RANGE XFORC DANS IVAFOR
  107. C
  108. MPTVAL=IVAFOR
  109. MELVAL=IVAL(1)
  110. DO j = 1, NBNN
  111. VELCHE(j,IEL) = XFORC(j)
  112. ENDDO
  113. 3004 CONTINUE
  114.  
  115. 999 CONTINUE
  116. SEGSUP,MWKELT
  117.  
  118. RETURN
  119. END
  120.  
  121.  
  122.  

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