Télécharger fplisp.eso

Retour à la liste

Numérotation des lignes :

  1. C FPLISP SOURCE PV 09/03/12 21:23:12 6325
  2. SUBROUTINE FPLISP(IPTVPR,IPTGEO,IPTINT,IVACAR,IVAFOR)
  3. C_____________________________________________________________________
  4. C
  5. C CALCULE LES FORCES DE PRESSION DANS LE LINESPRING
  6. C
  7. C ENTREES :
  8. C ---------
  9. C
  10. C IPTVPR POINTEUR SUR LE MELVAL CONTENANT LES PRESSIONS
  11. C IPTGEO POINTEUR SUR LE MAILLAGE
  12. C IPTINT POINTEUR SUR MINTE
  13. C IVACAR POINTEUR SUR MPTVAL DE CARACTERISTIQUE
  14. C IVAFOR POINTEUR SUR MPTVAL DE FORCE
  15. C
  16. C EBERSOLT MAI 85 J UTILISE DFLOAT ET SQRT
  17. C PASSAGE AUX NOUVEAUX 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. -INC SMINTE
  24. -INC SMCHAML
  25. -INC SMELEME
  26. -INC SMCOORD
  27. -INC CCOPTIO
  28. C
  29. SEGMENT MPTVAL
  30. INTEGER IPOS(NS) ,NSOF(NS)
  31. INTEGER IVAL(NCOSOU)
  32. CHARACTER*16 TYVAL(NCOSOU)
  33. ENDSEGMENT
  34. C
  35. DIMENSION BPSS(3,3),XE(3,4),XEL(3,3),V1(3),V2(3),H1(3),H2(3)
  36. C
  37. DATA X774/.774596669241483D0/
  38. DATA UN,UNDEMI,ZERO/1.D0,.5D0,0.D0/
  39. C
  40. C ON INITIALISE LES FONCTIONS DE FORME
  41. C
  42. H1(1) =(UN-X774)*UNDEMI
  43. H1(2) = UNDEMI
  44. H1(3) =(UN+X774)*UNDEMI
  45. H2(1) = H1(3)
  46. H2(2) = UNDEMI
  47. H2(3) = H1(1)
  48. C
  49. MELVA1=IPTVPR
  50. C
  51. MELEME=IPTGEO
  52. NBNN =NUM(/1)
  53. NBELEM=NUM(/2)
  54. C
  55. MINTE =IPTINT
  56. SEGACT MINTE
  57. NBNO =SHPTOT(/2)
  58. NBPGAU=SHPTOT(/3)
  59. C
  60. C BOUCLE SUR LES ELEMENTS
  61. C
  62. DO 100 IA=1,NBELEM
  63. C
  64. C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB
  65. C
  66. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IA,XE)
  67. C
  68. C ON RECUPERE LES VECTEURS ORIENTANT LE LINESPRING
  69. C AINSI QUE LA LONGUEUR DU LINESPRING
  70. C
  71. XLONG= ZERO
  72. MPTVAL=IVACAR
  73. DO 110 IB=1,3
  74. MELVAL=IVAL(2+IB)
  75. IBMN=MIN(IA,VELCHE(/2))
  76. V1(IB)=VELCHE(1,IBMN)
  77. V2(IB)=VELCHE(1,IBMN)
  78. XLONG =XLONG +(XE(IB,1)-XE(IB,2))*(XE(IB,1)-XE(IB,2))
  79. 110 CONTINUE
  80. XLONG = SQRT(XLONG)
  81. C
  82. C AINSI QUE L EPAISSEUR
  83. C
  84. EPAISS=ZERO
  85. DO 120 IB=1,NBPGAU
  86. MELVAL=IVAL(1)
  87. IGMN=MIN(IB,VELCHE(/1))
  88. IBMN=MIN(IA,VELCHE(/2))
  89. EPAISS=VELCHE(IGMN,IBMN)+EPAISS
  90. 120 CONTINUE
  91. EPAISS=EPAISS/DBLE(NBPGAU)
  92. C
  93. C EXTRACTION DE LA MATRICE DE PASSAGE
  94. C
  95. DO 130 IB=1,3
  96. XEL(IB,1)=XE(IB,1)
  97. XEL(IB,2)=XE(IB,2)
  98. XEL(IB,3)=XE(IB,1)+(V1(IB)+V2(IB))*UNDEMI
  99. 130 CONTINUE
  100. DO 97 II=1,3
  101. DO 97 JJ=1,3
  102. 97 CONTINUE
  103. CALL VPAST(XEL,BPSS)
  104. C
  105. C ON INTEGRE LES FORCES DU A LA PRESSION DANS LA FISSURE
  106. C
  107. FZ1= ZERO
  108. CX1= ZERO
  109. CX2= ZERO
  110. C
  111. C BOUCLE SUR LES POINTS DE GAUSS
  112. C
  113. MPTVAL=IVACAR
  114. DO 200 IB=1,NBPGAU
  115. MELVAL=IVAL(2)
  116. IGMN=MIN(IB,VELCHE(/1))
  117. IBMN=MIN(IA,VELCHE(/2))
  118. FISS=VELCHE(IGMN,IBMN)
  119. IGMN=MIN(IB,MELVA1.VELCHE(/1))
  120. IBMN=MIN(IA,MELVA1.VELCHE(/2))
  121. PRES=MELVA1.VELCHE(IGMN,IBMN)
  122. XX=FISS*PRES*POIGAU(IB)*XLONG*UNDEMI
  123. FZ1= FZ1+ XX*H1(IB)
  124. CX1= CX1+ XX*(EPAISS-FISS)*H1(IB)*UNDEMI
  125. FZ2= FZ2+ XX*H2(IB)
  126. CX2= CX2+ XX*(EPAISS-FISS)*H2(IB)*UNDEMI
  127. 200 CONTINUE
  128. C
  129. C CHANGEMENT DE REPERE
  130. C
  131. MPTVAL=IVAFOR
  132. MELVAL=IVAL(1)
  133. VELCHE(1,IA)=FZ1*BPSS(3,1)
  134. VELCHE(2,IA)=FZ2*BPSS(3,1)
  135. C
  136. MELVAL=IVAL(2)
  137. VELCHE(1,IA)=FZ1*BPSS(3,2)
  138. VELCHE(2,IA)=FZ2*BPSS(3,2)
  139. C
  140. MELVAL=IVAL(3)
  141. VELCHE(1,IA)=FZ1*BPSS(3,3)
  142. VELCHE(2,IA)=FZ2*BPSS(3,3)
  143. C
  144. MELVAL=IVAL(4)
  145. VELCHE(1,IA)=CX1*BPSS(1,1)
  146. VELCHE(2,IA)=CX2*BPSS(1,1)
  147. C
  148. MELVAL=IVAL(5)
  149. VELCHE(1,IA)=CX1*BPSS(1,2)
  150. VELCHE(2,IA)=CX2*BPSS(1,2)
  151. C
  152. MELVAL=IVAL(6)
  153. VELCHE(1,IA)=CX1*BPSS(1,3)
  154. VELCHE(2,IA)=CX2*BPSS(1,3)
  155. C
  156. MPTVAL=IVAFOR
  157. DO 300 IB=1,6
  158. MELVAL=IVAL(IB)
  159. VELCHE(3,IA)=-VELCHE(2,IA)
  160. VELCHE(4,IA)=-VELCHE(1,IA)
  161. 300 CONTINUE
  162. C
  163. 100 CONTINUE
  164. C
  165. 666 CONTINUE
  166. SEGDES MINTE
  167. RETURN
  168. END
  169.  
  170.  
  171.  
  172.  

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