Télécharger frig22.eso

Retour à la liste

Numérotation des lignes :

frig22
  1. C FRIG22 SOURCE OF166741 25/02/21 21:16:47 12166
  2.  
  3. SUBROUTINE FRIG22(MELE,IPMAIL,MINTE,NBPTEL,
  4. 1 IVAMAT,IVACAR,NMATT,NCARR,
  5. 2 CRIGI,CMASS)
  6. ***********************************************************************
  7. * CALCUL DES COMPOSANTES DE LA RIGIDITE (HOOK) ELASTIQUE
  8. * CALCUL DES COMPOSANTES DE LA MATRICE (HOOK) DE MASSE
  9. * .... AU SIGNE PRES
  10. * BOUCLE SUR LES SS-ZONES DU MODELE DE SECTION
  11. **********************************************************************
  12. * ENTREES :
  13. *
  14. * MELE = NUMERO ELEMENT FINI
  15. * IPMAIL = POINTEUR DU MAILLAGE
  16. * NBPTEL =NOMBRE DE POINTS PAR ELEMENT
  17. * IVAMAT =POINTEUR SUR UN SEGMENT MPTVAL DE MATERIAU
  18. * IVACAR =POINTEUR SUR UN SEGMENT MPTVAL DE CARACT. GEOMETRIQUES
  19. * NVARI =NOMBRE DE COMPOSANTES DE VARIABLES INTERNES
  20. * NMATT =NOMBRE DE COMPOSNATES DE PROPRIETES DE MATERIAU
  21. * NCARR =NOMBRE DE COMPOSNATES DE CARACTERISTIQUES GEOMETRIQUES
  22. *
  23. * SORTIES :
  24. * CRIGI(12) RIGIDITE SUR LA FIBRE MOYENNE
  25. * CMASS(12) MASSE SUR LA FIBRE MOYENNE
  26. *
  27. * D'APRES FRIGI2 DC 98
  28. ************************************************************************
  29. IMPLICIT INTEGER(I-N)
  30. IMPLICIT REAL*8(A-H,O-Z)
  31.  
  32. -INC PPARAM
  33. -INC CCOPTIO
  34. -INC CCHAMP
  35.  
  36. -INC SMCHAML
  37. -INC SMELEME
  38. -INC SMCOORD
  39. -INC SMMODEL
  40. -INC SMINTE
  41.  
  42. -INC TMPTVAL
  43.  
  44. SEGMENT WRK0
  45. REAL*8 XMAT(NCXMAT),XCAR(NCXCAR)
  46. ENDSEGMENT
  47. *
  48. SEGMENT WRK2
  49. REAL*8 XE(3,NBBB),SHP(6,NBBB)
  50. ENDSEGMENT
  51. *
  52. DIMENSION CRIGI(12),CMASS(12)
  53. *
  54. C
  55. MFR =NUMMFR(MELE)
  56. MELEME=IPMAIL
  57. NBNN=NUM(/1)
  58. NBELEM=NUM(/2)
  59. *
  60. * SEGMENT D'INTEGRATION
  61. *
  62. SEGACT,MINTE
  63. *
  64. * INITIALISATION DES SEGMENTS DE TRAVAIL
  65. *
  66. NCXMAT=NMATT
  67. NCXCAR=NCARR
  68. NBBB=NBNN
  69. SEGINI WRK0,WRK2
  70. *
  71. * BOUCLE SUR LES ELEMENTS
  72. *
  73. DO 1000 IB=1,NBELEM
  74. *
  75. * ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB
  76. *
  77. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IB,XE)
  78. *
  79. * BOUCLE SUR LES POINTS DE GAUSS
  80. *
  81. DO 1100 IGAU=1,NBPTEL
  82. *
  83. * ON CHERCHE LA POSITION DU POINT DE LA SECTION (X->Y) (Y->Z)
  84. *
  85. YY=0.D0
  86. ZZ=0.D0
  87. DO IE1=1,NBNN
  88. CGAUSS=SHPTOT(1,IE1,IGAU)
  89. YY=YY+XE(1,IE1)*CGAUSS
  90. END DO
  91. YY2=YY*YY
  92. *
  93. * ON REMPLIT LES SHP ET ON CALCUL LE JACOBIEN
  94. *
  95. DO IE1=1,6
  96. DO IE2=1,NBNN
  97. SHP(IE1,IE2)=SHPTOT(IE1,IE2,IGAU)
  98. END DO
  99. END DO
  100. C PPf CALL JACOBI(XE,SHP,2,NBNN,DJAC)
  101. *
  102. * ON RECUPERE LES CONSTANTES DU MATERIAU
  103. *
  104. MPTVAL=IVAMAT
  105. DO IC=1,NMATT
  106. MELVAL=IVAL(IC)
  107. IF(IC.LT.3)THEN
  108. IIC=IC
  109. ELSEIF(IC.LT.(NMATT-4))THEN
  110. IIC=IC+3
  111. ELSEIF(IC.LE.(NMATT-2))THEN
  112. IIC=5+IC-NMATT+2
  113. ELSE
  114. IIC=IC
  115. ENDIF
  116. IF(MELVAL.NE.0)THEN
  117. IF(TYVAL(IC)(1:8).NE.'POINTEUR')THEN
  118. IBMN=MIN(IB,VELCHE(/2))
  119. IGMN=MIN(IGAU,VELCHE(/1))
  120. XMAT(IIC)=VELCHE(IGMN,IBMN)
  121. ELSE
  122. IBMN=MIN(IB,IELCHE(/2))
  123. IGMN=MIN(IGAU,IELCHE(/1))
  124. XMAT(IIC)=IELCHE(IGMN,IBMN)
  125. ENDIF
  126. ELSE
  127. XMAT(IIC)=0.D0
  128. IF(TYVAL(IC)(1:8).EQ.'POINTEUR') THEN
  129. XMAT(IIC)=0.D0
  130. END IF
  131. ENDIF
  132. END DO
  133. *
  134. * ON RECUPERE LES CARACTERISTIQUES GEOMETRIQUES
  135. *
  136. MPTVAL=IVACAR
  137. DO IC=1,NCARR
  138. MELVAL=IVAL(IC)
  139. IBMN=MIN(IB,VELCHE(/2))
  140. IGMN=MIN(IGAU,VELCHE(/1))
  141. XCAR(IC)=VELCHE(IGMN,IBMN)
  142. END DO
  143. C+PPf
  144. C
  145. C TRAITEMENT PARTICULIER DES ELEMENTS SEGS(166) ET POJS(167)
  146. C
  147. IF(MELE.EQ.167)THEN
  148. DJAC=XCAR(2)
  149. ELSEIF(MELE.EQ.166)THEN
  150. C+DC on utilise le cas joi3
  151. CALL JACOBI(XE,SHP,86,NBNN,DJAC)
  152. DJAC=DJAC*XCAR(2)
  153. ELSE
  154. CALL JACOBI(XE,SHP,2,NBNN,DJAC)
  155. ENDIF
  156. C+PPf
  157. *
  158. * CONTRIBUTION A CRIGI
  159. *
  160. PGAUSS=POIGAU(IGAU)*ABS(DJAC)
  161. *
  162. YOUNG=XMAT(1)
  163. GAMMA=XMAT(1)/(2.D0*(1.D0+XMAT(2)))
  164. ALPH1=XCAR(1)
  165. CRIGI( 1)=CRIGI( 1)+YOUNG*PGAUSS
  166. CRIGI( 2)=CRIGI( 2)+YOUNG*YY*PGAUSS
  167. CRIGI( 3)=CRIGI( 3)+YOUNG*YY2*PGAUSS
  168. *
  169. CRIGI( 4)=CRIGI( 4)+ALPH1*GAMMA*PGAUSS
  170. *
  171. * CONTRIBUTION A CMASS
  172. *
  173. RHO=XMAT(3)
  174. C
  175. C
  176. CMASS( 1)=CMASS( 1)+RHO*PGAUSS
  177. CMASS( 2)=CMASS( 2)+RHO*YY*PGAUSS
  178. CMASS( 3)=CMASS( 3)+RHO*YY2*PGAUSS
  179. *
  180. CMASS( 4)=CMASS( 4)+RHO*PGAUSS
  181. C
  182. C FIN DE LA BOUCLE SUR LES POINTS DE GAUSS
  183. C
  184. 1100 CONTINUE
  185. C
  186. C FIN DE LA BOUCLE SUR LES ELEMENTS
  187. C
  188. 1000 CONTINUE
  189. *
  190. SEGDES,MINTE
  191. SEGSUP WRK0,WRK2
  192. *
  193. RETURN
  194. END
  195.  
  196.  
  197.  

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