Télécharger kcent3.eso

Retour à la liste

Numérotation des lignes :

kcent3
  1. C KCENT3 SOURCE CB215821 24/04/12 21:16:30 11897
  2. SUBROUTINE KCENT3(IPMAIL,NDDL,LRE,NBPGAU,IPMINT,
  3. &MELE,MFR,IVAMAT,IVACAR,NMATT,IPMATR,VROT,IIPDPG)
  4. *---------------------------------------------------------------------*
  5. * _______________________________________________ *
  6. * | | *
  7. * | calcul de la matrice de raideur centrifuge | *
  8. * |_____________________________________________| *
  9. * *
  10. * massif *
  11. * *
  12. *---------------------------------------------------------------------*
  13. * *
  14. * entrees : *
  15. * ________ *
  16. * *
  17. * ipmail pointeur sur un segment meleme *
  18. * nddl nombre de degre de liberte /noeud *
  19. * lre nombre de ddl dans la matrice de masse *
  20. * nbpgau nombre de point d'integration pour la masse *
  21. * ipmint pointeur sur un segment minte *
  22. * ipmin1 pointeur sur un segment minte (aux noeuds) *
  23. * mele numero de l'element fini *
  24. * mfr numero de la formulation * *
  25. * ivamat pointeur sur un segment mptval pour le materiau ou *
  26. * pour une matrice de hooke *
  27. * ivacar pointeur sur un segment mptval pour les *
  28. * caracteristiques *
  29. * nmatt nombre de composante de materiau (imat=1) *
  30. * iprota pointeur sur un point (vecteur vitesse de rotation) *
  31. * *
  32. * sorties : *
  33. * ________ *
  34. * *
  35. * ipmatr pointeur sur la matrice de masse de la sous-zone *
  36. * *
  37. * Didier COMBESCURE mars 2003 *
  38. *---------------------------------------------------------------------*
  39. IMPLICIT INTEGER(I-N)
  40. IMPLICIT REAL*8(A-H,O-Z)
  41.  
  42. -INC PPARAM
  43. -INC CCOPTIO
  44. -INC CCHAMP
  45. -INC CCREEL
  46. -INC SMRIGID
  47. -INC SMCHAML
  48. -INC SMELEME
  49. -INC SMCOORD
  50. -INC SMINTE
  51. -INC SMMODEL
  52. c
  53. SEGMENT WRK1
  54. REAL*8 REL(LRE,LRE),XE(3,NBBB)
  55. ENDSEGMENT
  56. c
  57. SEGMENT WRK2
  58. REAL*8 SHPWRK(6,NBNO),BGENE(NDDL,LRE)
  59. ENDSEGMENT
  60. c
  61. SEGMENT WRK5
  62. REAL*8 BLX(NDDL,LRE),BLY(NDDL,LRE),BLZ(NDDL,LRE)
  63. REAL*8 BLT(NDDL,LRE)
  64. ENDSEGMENT
  65. c
  66. c
  67. SEGMENT MVELCH
  68. REAL*8 VALMAT(NV1)
  69. ENDSEGMENT
  70. c
  71. c
  72. SEGMENT MPTVAL
  73. INTEGER IPOS(NS),NSOF(NS)
  74. INTEGER IVAL(NCOSOU)
  75. CHARACTER*16 TYVAL(NCOSOU)
  76. ENDSEGMENT
  77. c
  78. DIMENSION VROT(*)
  79. DIMENSION ROME(3,3)
  80. C ,RELB(LRE,LRE)
  81. *
  82. MELEME=IPMAIL
  83. NBNN=NUM(/1)
  84. NBELEM=NUM(/2)
  85. *
  86. NV1=NMATT
  87. SEGINI,MVELCH
  88. *
  89. xMATRI=IPMATR
  90. LVAL = (LRE*(LRE+1))/2
  91. NLIGRP=LRE
  92. NLIGRD=LRE
  93.  
  94. XDPGE=0.D0
  95. YDPGE=0.D0
  96.  
  97. *
  98. NHRM=NIFOUR
  99. *
  100. MINTE=IPMINT
  101. *
  102. * Remplissage de ROME depuis VROT qui est constant dans tout le modele
  103. ROME(1,1) = (-1.D0)*((VROT(2)**2) + (VROT(3)**2))
  104. ROME(2,2) = (-1.D0)*((VROT(1)**2) + (VROT(3)**2))
  105. ROME(3,3) = (-1.D0)*((VROT(1)**2) + (VROT(2)**2))
  106. ROME(1,2) = VROT(1)*VROT(2)
  107. ROME(1,3) = VROT(1)*VROT(3)
  108. ROME(2,3) = VROT(2)*VROT(3)
  109. ROME(2,1) = ROME(1,2)
  110. ROME(3,1) = ROME(1,3)
  111. ROME(3,2) = ROME(2,3)
  112. c_______________________________________________________________________
  113. c
  114. c numero des etiquettes :
  115. c etiquettes de 1 a 98 pour traitement specifique a l element
  116. c dans la zone specifique a chaque element commencant par :
  117. c 5 continue
  118. c element 5 etiquettes 1005 2005 3005 4005 ...
  119. c 44 continue
  120. c element 44 etiquettes 1044 2044 3044 4044 ...
  121. c_______________________________________________________________________
  122. c
  123. * CABL SEG2 SEG3 TRI3 TRI4 TRI6 TRI7 QUA4 QUA5 QUA8 QUA9
  124. GOTO ( 99, 99, 99, 11, 99, 11, 99, 11, 99, 11, 99
  125. * RAC2 RAC3 CUB8 CU20 PRI6 PR15 LIA3 LIA4 LIA6 LIA8 MULT
  126. & , 99, 99, 11, 11, 11, 11, 99, 99, 99, 99, 99
  127. * TET4 TE10 PYR5 PY13 COQ3 DKT POUT LISP FAC3 FAC4 FAC6
  128. & , 11, 11, 11, 11, 99, 99, 99, 99, 99, 99, 99
  129. * FAC8 LTR3 LQU4 LCU8 LPR6 LTE4 LPY5 COQ8 TUYA TUFI COQ2
  130. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  131. * POI1 BARR RACO LSU2 COQ4 LISM COF3 RES2 LSU3 LSU4 LICO
  132. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  133. * COQ6 CVS2 CVS3 CVT3 CVT6 CVQ4 CVQ8 THP5 TH13 THP6 TH15
  134. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  135. * THC8 TH20 ICT3 ICQ4 ICT6 ICQ8 ICC8 ICT4 ICP6 IC20 IC10
  136. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  137. * IC15 TRIP QUAP CUBP TETP PRIP TIMO JOI2 JOI3 JOT3 JOI4
  138. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  139. * JOI6 JOI8 LISC TRIH DST LIC4 CERC TUYO LSE2 LITU HYT3
  140. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  141. * HYQ4 HYT4 HYP6 HYC8 TRIS QUAS POIS FOR3 JOP3 JOP6 JOP8
  142. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  143. * POL3 POL4 POL5 POL6 POL7 POL8 POL9 PO10 PO11 PO12 PO13
  144. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  145. * PO14 BAR3 BAEX LIA2 QUAH CUBH ROT3 SEF2 TRF3 QUF4 CUF8
  146. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  147. * PRF6 TEF4 PYF5 MSE3 MTR6 MQU9 MC27 MP18 MT10 MP14 SEF3
  148. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  149. * TRF7 QUF9 CF27 PF21 TF15 PF19 SEG6 TR21 QU36 C216 P126
  150. & , 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
  151. * TE56 PY91 TRH6
  152. & , 99, 99, 99),MELE
  153. c_______________________________________________________________________
  154. c_______________________________________________________________________
  155. c
  156. c secteur de calcul pour les elements massifs
  157. c_______________________________________________________________________
  158. c
  159. 11 CONTINUE
  160. DIM3=1.D0
  161. NBNO=NBNN
  162. NBBB=NBNN
  163. SEGINI WRK1,WRK2
  164. I195=0
  165. I259=0
  166. DO 3004 IB=1,NBELEM
  167. c
  168. c on cherche les coordonnees des noeuds de l element ib
  169. c
  170. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IB,XE)
  171. CALL ZERO (REL,LRE,LRE)
  172. C CALL ZERO (RELB,LRE,LRE)
  173. c
  174. c boucle sur les points de gauss
  175. c
  176. ISDJC=0
  177. DO 4004 IGAU=1,NBPGAU
  178. *
  179. CALL NMATST(IGAU,MELE,MFR,NBNN,LRE,IFOUR,NIFOUR,NDDL,
  180. 1 DIM3,XE,SHPTOT,SHPWRK,BGENE,DJAC,XDPGE,YDPGE)
  181. IF(DJAC.LT.0.) ISDJC=ISDJC+1
  182. IF(DJAC.EQ.0.) I259=IB
  183. DJAC=ABS(DJAC)*POIGAU(IGAU)
  184. MPTVAL=IVAMAT
  185. IF (IVAL(1).NE.0) THEN
  186. MELVAL=IVAL(1)
  187. IGMN=MIN(IGAU,VELCHE(/1))
  188. IBMN=MIN(IB,VELCHE(/2))
  189. VALMAT(1)=VELCHE(IGMN,IBMN)
  190. ELSE
  191. VALMAT(1)=0.D0
  192. ENDIF
  193. DJAC=DJAC*VALMAT(1)
  194. CALL NTNST(BGENE,DJAC,LRE,NDDL,REL)
  195. C
  196. 4004 CONTINUE
  197. C
  198. IF(ISDJC.NE.0.AND.ISDJC.NE.NBPGAU) I195=IB
  199. * SEGINI XMATRI
  200. * IMATTT(IB)=XMATRI
  201. C
  202. C On bouscule la matrice de masse
  203. C
  204. c CALL MTOKCE(LRE,NDDL,REL,VROT,RE(1,1,ib))
  205. CALL MTOKCE(LRE,NDDL,REL,ROME,RE(1,1,ib))
  206. C CALL REMPMT(REL,LRE,RE)
  207. C
  208. * SEGDES XMATRI
  209. 3004 CONTINUE
  210. IF(I195.NE.0) INTERR(1)=I195
  211. IF(I195.NE.0) CALL ERREUR(195)
  212. IF(I259.NE.0) INTERR(1)=I259
  213. IF(I259.NE.0) CALL ERREUR(259)
  214. SEGDES xMATRI
  215. SEGSUP WRK1,WRK2,MVELCH
  216. GOTO 510
  217. C
  218. c_______________________________________________________________________
  219. *
  220. 99 CONTINUE
  221. MOTERR(1:4)=NOMTP(MELE)
  222. MOTERR(5:12)='KCENT3'
  223. CALL ERREUR(86)
  224. *
  225. 510 CONTINUE
  226. RETURN
  227. END
  228. c
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  

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