Télécharger coller1.procedur

Retour à la liste

Numérotation des lignes :

  1. * COLLER1 PROCEDUR NOBODY 92/01/01 00:00:00 001
  2. 'DEBPROC' COLLER1 SURF4*MAILLAGE POUT2*MAILLAGE ANG/FLOTTANT ;
  3. *
  4. ************************************************************************
  5. *
  6. * C O L L E R 1
  7. * -------------
  8. *
  9. * FONCTION:
  10. * ---------
  11. *
  12. * DEFINIR DES JONCTIONS POUTRE-COQUE EN 3D, DE FACON A PERMETTRE
  13. * AUX COQUES DE RESISTER A DES MOMENTS DE TORSION.
  14. *
  15. * C'est aussi un moyen de g{n{rer les valeurs de rotation normale
  16. * sur un ensemble de noeuds appartenant @ des {l{ments coques.
  17. *
  18. * PHRASE D'APPEL:
  19. * ---------------
  20. *
  21. * POUTCOQ = COLLER1 SURF4 POUT2 (ANG) ;
  22. *
  23. * OPERANDES:
  24. * ----------
  25. *
  26. * SURF4 "MAILLAGE" ZONE EN PLAQUES OU COQUES.
  27. * POUT2 "MAILLAGE" ZONE EN POUTRES (ou simplement l'ensemble
  28. * des points de la surface sur lesquels on
  29. * veut connaitre la rotation normale).
  30. * ANG 'FLOTTANT' Angle mini (en degr{s) d'une poutre avec le
  31. * plan des coques qu'elle touche. En de\@ de
  32. * cette valeur d'angle, on n'effectue aucune
  33. * op{ration particuli}re de liaison.
  34. * (5› par d{faut)
  35. *
  36. * RESULTATS:
  37. * ----------
  38. *
  39. * POUTCOQ "RIGIDITE" Matrice d{finissant les rotations normales
  40. * aux coques.
  41. * A adjoindre @ la Matrice de Rigidit{.
  42. *
  43. * MODE DE FONCTIONNEMENT:
  44. * -----------------------
  45. *
  46. * L'OPERATION EFFECTUEE REVIENT A DEFINIR UN 6IEME D.D.L. (ROTATION)
  47. * AUX POINTS DES COQUES LIES A DES POUTRES, PAR DES RELATIONS AVEC
  48. * LES DEPLACEMENTS DES NOEUDS VOISINS (COTE COQUES).
  49. *
  50. * VARIABLES:
  51. * ----------
  52. *
  53. UX = 'MOT' 'UX' ;
  54. UY = 'MOT' 'UY' ;
  55. UZ = 'MOT' 'UZ' ;
  56. RX = 'MOT' 'RX' ;
  57. RY = 'MOT' 'RY' ;
  58. RZ = 'MOT' 'RZ' ;
  59. *
  60. * AUTEUR, DATE DE CREATION:
  61. * -------------------------
  62. *
  63. * PASCAL MANIGOT 06 SEPTEMBRE 1989
  64. * P.M. 09/02/90: "AXE" enlev{. PSCAL --> COORD
  65. * P.M. 19/03/90: utilisation de "RELA ... DIRECTION"
  66. * P.M. 10/04/90: ajout d'un test d'utilit{ de la relation @ cr{er.
  67. *
  68. ************************************************************************
  69. *
  70. SI = 'MOT' 'SI' ; SINON = 'MOT' 'SINON' ; FINSI = 'MOT' 'FINSI' ;
  71. REPETER = 'MOT' 'REPETER'; QUITTER = 'MOT' 'QUITTER'; FIN = 'MOT' 'FIN';
  72. *
  73. *
  74. INIT = VRAI ;
  75. *
  76. P0 = 'NOEUD' 1 ;
  77. P0P0 = 'MANUEL' 'SEG2' P0 P0 ;
  78. POUT2BIS = POUT2 'ET' P0P0 ;
  79. POUT2BIS = 'ELEMENTS' POUT2BIS 'SEG2' ;
  80. YA_POUTR = ('NBELEM' POUT2BIS) > 1 ;
  81. * on va tester l'utilit{ de la relation si on a re\u un v{ritable
  82. * maillage de poutres, et non pas un nuage de points.
  83. SI YA_POUTR ;
  84. SI ('NON' ('EXISTE' ANG)) ;
  85. ANG = 5. ;
  86. FINSI;
  87. FINSI;
  88. *
  89. POUT1 = 'CHANGER' POUT2 'POI1' ;
  90. SOUDURE = 'ELEMENTS' POUT1 'APPUYES' 'LARGEMENT_SUR' SURF4 ;
  91. 'OUBLIER' POUT1 ;
  92. NBPT1 = 'NBNOEUDS' SOUDURE ;
  93. *
  94. *
  95. * BOUCLE SUR TOUS LES POINTS DE L'INTERSECTION:
  96. * ---------------------------------------------
  97. NBPT2 = 0 ;
  98. IP = 0 ;
  99. REPETER REP1 NBPT1 ;
  100. IP = IP + 1 ;
  101. PT1 = 'POINT' SOUDURE IP ;
  102. *
  103. VOISIN4 = 'ELEMENT' SURF4 'APPUYE' 'LARGEMENT SUR' PT1 ;
  104. VOISIN1 = 'CHANGER' VOISIN4 'POI1' ;
  105. VOISIN1 = 'DIFFERENCE' VOISIN1 ('MANUEL' 'POI1' PT1) ;
  106. PT2 = 'POINT' VOISIN1 'PROCHE' PT1 ;
  107. V12 = PT2 'MOINS' PT1 ;
  108. D2 = 'NORME' V12 ;
  109. V12 = V12 / D2 ;
  110. VOISIN1 = 'DIFFERENCE' VOISIN1 ('MANUEL' 'POI1' PT2) ;
  111. *
  112. *
  113. * RECHERCHE DU 3IEME POINT POUR APPROXIMER LE REPERE LOCAL:
  114. * ---------------------------------------------------------
  115. PT3 = 'POINT' VOISIN1 'PROCHE' PT1 ;
  116. V13 = PT3 'MOINS' PT1 ;
  117. D3 = 'NORME' V13 ;
  118. V13 = V13 / D3 ;
  119. COS23 = 'ABS' ('PSCALAIRE' V12 V13) ;
  120. *
  121. NBPROCHE = 'NBNOEUDS' VOISIN1 ;
  122. SI (NBPROCHE > 1) ;
  123. VOISIN1 = 'DIFFERENCE' VOISIN1 ('MANUEL' 'POI1' PT3) ;
  124. NBPROCHE = NBPROCHE - 1 ;
  125. I = 0 ;
  126. REPETER REP22 NBPROCHE ;
  127. I = I + 1 ;
  128. *
  129. PT4 = 'POINT' VOISIN1 I ;
  130. V14 = PT4 'MOINS' PT1 ;
  131. D4 = 'NORME' V14 ;
  132. V14 = V14 / D4 ;
  133. COS24 = 'ABS' ('PSCALAIRE' V12 V14) ;
  134. SI (COS24 < COS23) ;
  135. PT3 = PT4 ;
  136. V13 = V14 ;
  137. D3 = D4 ;
  138. COS23 = COS24 ;
  139. FINSI;
  140. *
  141. FIN REP22 ;
  142. FINSI;
  143. *
  144. *
  145. * CREATION DE LA MATRICE ELEMENTAIRE DE LA ROTATION "RZ":
  146. * -------------------------------------------------------
  147. N1 = 'PVECTORIEL' V12 V13 ;
  148. NN1 = 'NORME' N1 ;
  149. N1 = N1 / NN1 ;
  150. *
  151. SI YA_POUTR ;
  152. POUT2A = 'ELEMENT' POUT2 'APPUYE' 'LARGEMENT_SUR' PT1 ;
  153. POUT2A = 'ELEMENT' POUT2A 1 ;
  154. N1BIS = ('POINT' POUT2A 2) 'MOINS' ('POINT' POUT2A 1) ;
  155. N1BIS = N1BIS / ('NORME' N1BIS) ;
  156. COS1 = 'ABS' ('PSCALAIRE' N1 N1BIS) ;
  157. SI (COS1 < ('SIN' ANG)) ;
  158. NBPT2 = NBPT2 + 1 ;
  159. 'ITERER' REP1 ;
  160. FINSI;
  161. FINSI;
  162. *
  163. DD0 = 2.D0 * D2 * D3 ;
  164. N2 = 'PVECTORIEL' V13 N1 ;
  165. N3 = 'PVECTORIEL' N1 V12 ;
  166. *
  167. MAT1 = 'RELA' DD0 'ROTA' 'DIRECTION' N1 PT1
  168. + D2 'DEPL' 'DIRECTION' N2 PT3
  169. - D2 'DEPL' 'DIRECTION' N2 PT1
  170. - D3 'DEPL' 'DIRECTION' N3 PT2
  171. + D3 'DEPL' 'DIRECTION' N3 PT1 ;
  172. *
  173. SI INIT ;
  174. POUTCOQ = MAT1 ;
  175. INIT = FAUX ;
  176. SINON;
  177. POUTCOQ = POUTCOQ 'ET' MAT1 ;
  178. FINSI;
  179. *
  180. SI (IP 'MULTIPLE' 100) ;
  181. 'MENAGE' ;
  182. FINSI;
  183. *
  184. FIN REP1 ;
  185. *
  186. SI YA_POUTR ;
  187. 'MESSAGE' NBPT1 'noeuds de jonction entre coques et poutres.' ;
  188. SI (NBPT2 > 0) ;
  189. 'MESSAGE'
  190. NBPT2 'noeuds ne n{cessitant pas de liaison en rotation.' ;
  191. FINSI;
  192. FINSI;
  193. *
  194. 'OUBLIER' SOUDURE ;
  195. 'MENAGE' ;
  196. *
  197. 'FINPROC' POUTCOQ ;
  198.  

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