Télécharger newmark.procedur

Retour à la liste

Numérotation des lignes :

  1. * NEWMARK PROCEDUR CHAT 09/06/26 21:15:02 6430
  2. *---------------------------------------------------------------------
  3. * PROCEDURE NEWMARK VERSION DU 15/01/88
  4. *---------------------------------------------------------------------
  5. * CETTE PROCEDURE EFFECTUE UN CALCUL DYNAMIQUE D'UN PAS
  6. * SELON L'ALGORITHME DE NEWMARK
  7. *
  8. * EN ENTREE :
  9. * ---------
  10. * U1 : DEPLACEMENT AU DEBUT DU PAS
  11. * V1 : VITESSE AU DEBUT DU PAS
  12. * A : OPERATEUR DYNAMIQUE
  13. * K : RIGIDITE QUI CONTIENT LES BLOQUAGES
  14. * M : MASSE
  15. * F1 : FORCES AU DEBUT DU PAS QUI CONTIENT LES FLX
  16. * F2 : FORCES A LA FIN DU PAS QUI CONTIENT LES FLX
  17. * H : PAS DE TEMPS
  18. *
  19. * EN SORTIE :
  20. * ---------
  21. * U2 : DEPLACEMENT A LA FIN DU PAS
  22. * V2 : VITESSE A LA FIN DU PAS
  23. *
  24. *---------------------------------------------------------------------
  25. *
  26. 'DEBPROC' NEWMARK U1*'CHPOINT' V1*'CHPOINT' A*'RIGIDITE'
  27. K*'RIGIDITE' M*'RIGIDITE' F1*'CHPOINT' F2*'CHPOINT' H*'FLOTTANT';
  28.  
  29. tbid=table;
  30. K1 = 'EXTRAI' K 'RIGI' 'NOMU';
  31. K2 = 'EXTRAI' K 'RIGI' 'MULT';
  32. maico='EXTRAI' K 'MAIL' 'UNIL';
  33. nbcont= 'NBELEM' maico;
  34.  
  35. F1NOMU = 'ENLEVER' F1 'FLX';
  36.  
  37. SCA1 = 4. / H ;
  38. SCA2 = 2. / H ;
  39. W1 = SCA1 * V1 ;
  40. FA = M * W1 ; 'DETR' W1 ;
  41. UAUX = 'EXCO' 'LX' U1 'NOID' 'LX' ;
  42. UU1 = U1 - UAUX ;
  43. W2 = 2. * UU1 ;
  44. FB = K1 * W2 ; 'DETR' W2 ;
  45. FC = FA - FB ; 'DETR' FA ; 'DETR' FB ;
  46. FD = F1NOMU + F2 ;
  47. *
  48. UUV=U1;
  49. *en cas de cliaisons unilaterales on tue les mult associés.
  50. 'SI' (NBCONT > 0); UUR= 'REDU' U1 maico;UUV = U1 - UUR;'FINSI';
  51. FG = K2 * UUV ;
  52. 'DETR' F1NOMU;
  53. FF = FC + FD ; 'DETR' FC ; 'DETR' FD ; FH = FF - FG;
  54. 'DETR' FG ; 'DETR' FF ;
  55. DU = 'RESOU' A FH ;
  56. 'DETR' K1 ;
  57. * 'DETR' K2 ;
  58. U2 = UU1 + DU ;
  59. 'DETR' UAUX ;
  60. W1 = ( 'ENLE' DU 'LX') * SCA2 ;
  61. V2 = W1 - V1 ;
  62. *
  63.  
  64. * y-a-t-il des contacts unilateraux?
  65. ICONTA=VRAI;
  66. MTA= 'EXTRAIRE' A 'CONTACT'; MDI = 'DIME' MTA;
  67. 'SI' ( 'EGA' MDI 0) ; ICONTA=FAUX; 'FINSI';
  68. * EN CAS D'APPUIS UNILATERAUX
  69. 'SI' ICONTA;
  70. V2 = VITEUNIL A M V2 du u1 h fh tbid;
  71. * si (( maxi ( vuu - v2) ) > 1.e-3); mess ' contact' ;finsi;
  72. * mess ' reactions ' ; list ( 'REAC' k2 u2);
  73. * mess ' deplacements ' ; list u2;
  74. * mess ' vitesses'; list v2;
  75. 'SI' ( 'EXIS' tbid 'RATE_VITEUNIL') ;
  76. 'MESS' ' erreur dans viteunil ';
  77. 'ERRE' 5;
  78. 'FINSI';
  79. 'FINSI';
  80. 'DETR' W1 ; 'DETR' DU ; 'DETR' uu1; 'DETR' FH tbid;
  81. *-----------------------------------
  82. * SORTIE DE LA PROCEDURE
  83. *-----------------------------------
  84. 'FINPROC' U2 V2 ;
  85. *---------------------------------------------------------------------
  86.  
  87.  
  88.  
  89.  

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