Télécharger fpco3d.eso

Retour à la liste

Numérotation des lignes :

fpco3d
  1. C FPCO3D SOURCE PV 09/03/12 21:23:03 6325
  2. SUBROUTINE FPCO3D(IPTVPR,IPMAIL,IVAFOR)
  3. C____________________________________________________________________
  4. C
  5. C CALCULE LES FORCES DE PRESSIONS SUR LES COQUES 3D
  6. C
  7. C
  8. C ENTREES :
  9. C ---------
  10. C
  11. C IPTVPR MELVAL CONTENANT LES PRESSIONS APPLIQUEES (ACTIF)
  12. C IPMAIL OBJET GEOMETRIQUE (ACTIF)
  13. C IVAFOR POINTEUR SUR UN MPTVAL ET MELVALS ASSOCIEES AUX FORCES
  14. C NODALE RESULTANTES
  15. C
  16. C JACQUELINE BROCHARD AVRIL 85
  17. C PASSAGE AUX NOUVEAU CHAMELEM PAR JM CAMPENON LE 21 09 90
  18. C
  19. C____________________________________________________________________
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. C
  24. -INC SMCHAML
  25. -INC SMELEME
  26. -INC SMCOORD
  27.  
  28. -INC PPARAM
  29. -INC CCOPTIO
  30. C
  31. SEGMENT MPTVAL
  32. INTEGER IPOS(NS) ,NSOF(NS)
  33. INTEGER IVAL(NCOSOU)
  34. CHARACTER*16 TYVAL(NCOSOU)
  35. ENDSEGMENT
  36. C
  37. DIMENSION XE(3,3),XEL(3,3),BPSS(3,3),BB(9),FT(18),F(6)
  38. DIMENSION XX(3),YY(3)
  39. C
  40. DATA XX/0.5D0,0.5D0,0.0D0/
  41. DATA YY/0.0D0,0.5D0,0.5D0/
  42. DATA UNTIER/.33333333333333333D0/
  43. C
  44. MELVA1=IPTVPR
  45. IGMN=MIN(3,MELVA1.VELCHE(/1))
  46. C
  47. MELEME=IPMAIL
  48. NBELEM=NUM(/2)
  49. C
  50. C BOUCLE SUR LES ELEMENTS
  51. C
  52. DO 1000 IB=1,NBELEM
  53. IBMN=MIN(IB,MELVA1.VELCHE(/2))
  54. IF (IGMN.EQ.1) THEN
  55. *
  56. * Champ constant
  57. *
  58. P=MELVA1.VELCHE(1,IBMN)
  59. ELSE
  60. *
  61. * P moyen sur l'element
  62. *
  63. P=0.D0
  64. DO 11 IGAU=1,3
  65. P=MELVA1.VELCHE(IGAU,IBMN)+P
  66. 11 CONTINUE
  67. P=P/3
  68. ENDIF
  69. CALL DOXE(XCOOR,IDIM,3,NUM,IB,XE)
  70. C
  71. C MATRICE DE PASSAGE
  72. C
  73. CALL VPAST(XE,BPSS)
  74. C
  75. C COORDONNEES LOCALES
  76. C
  77. CALL VCORLC(XE,XEL,BPSS)
  78. C
  79. C MISE A 0 DU VECTEUR FORCE
  80. C
  81. DO 100 I=1,18
  82. 100 FT(I)=0.D0
  83. X21=XEL(1,2)-XEL(1,1)
  84. Y31=XEL(2,3)-XEL(2,1)
  85. SURF=X21*Y31*.5D0
  86. C
  87. C INTEGRATION NUMERIQUE : IGAU NUMERO DU POINT DE GAUSS
  88. C IA NUMERO D UN NOEUD
  89. C
  90. DO 200 IGAU=1,3
  91. CALL MFDKT(XX(IGAU),YY(IGAU),XEL,BB)
  92. DO 210 IA=1,3
  93. IP=(IA-1)*6+2
  94. IK=(IA-1)*3
  95. DO 220 ID=1,3
  96. FT(IP+ID)=FT(IP+ID)+UNTIER*BB(IK+ID)
  97. 220 CONTINUE
  98. 210 CONTINUE
  99. 200 CONTINUE
  100. C
  101. C MULTIPLICATION PAR P*SURF
  102. C
  103. DO 300 I=1,18
  104. FT(I)=FT(I)*SURF*P
  105. 300 CONTINUE
  106. C
  107. C CHANGEMENT DE REPERE
  108. C
  109. DO 400 I=1,3
  110. KP=6*(I-1)
  111. MP=KP+3
  112. DO 401 II=1,6
  113. 401 F(II)=0.D0
  114. DO 402 J=1,3
  115. LP=J
  116. NP=LP+3
  117. DO 403 JP=1,3
  118. F(LP)=F(LP)+BPSS(JP,J)*FT(JP+KP)
  119. F(NP)=F(NP)+BPSS(JP,J)*FT(JP+MP)
  120. 403 CONTINUE
  121. 402 CONTINUE
  122. MPTVAL=IVAFOR
  123. DO 410 K=1,6
  124. MELVAL=IVAL(K)
  125. VELCHE(I,IB)=F(K)
  126. 410 CONTINUE
  127. 400 CONTINUE
  128. 1000 CONTINUE
  129. RETURN
  130. END
  131.  
  132.  
  133.  
  134.  
  135.  

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