Télécharger reso_asy.procedur

Retour à la liste

Numérotation des lignes :

  1. * RESO_ASY PROCEDUR DELA 92/10/14 21:15:34 725
  2. 'DEBPROC' RESO_ASY RIGI_ASY*'RIGIDITE' CHP_FORC*'CHPOINT ' ;
  3. *--------------------------------------------------------------------*
  4. * *
  5. * Proc{dure de r{solution de matrice asym{trique. *
  6. * *
  7. * K * U = F *
  8. * *
  9. * La rigidit{ RIGI_ASY est donn{e sous la forme d'un objet *
  10. * RIGIDITE contenant des matrices sym{triques et des matrices *
  11. * antisym{triques. *
  12. * *
  13. * K = S + A *
  14. * t *
  15. * matrice sym{trique : S = 0.5 * ( K + K ) *
  16. * *
  17. * t *
  18. * matrice antisym{trique : A = 0.5 * ( K - K ) *
  19. * *
  20. * *
  21. * Donn{es : *
  22. * ------- *
  23. * RIGI_ASY : objet de type RIGIDITE, contenant des matrices *
  24. * sym{triques et antisym{triques *
  25. * CHP_FORC : objet de type CHPOINT, le champ de force *
  26. * *
  27. * Sortie : *
  28. * ------ *
  29. * CHP_DEPL : objet de type CHPOINT, le champ de d{placement *
  30. * *
  31. * *
  32. * Remarque : *
  33. * -------- *
  34. * CASTEM2000 utilise un solveur sym{trique. *
  35. * Pour r{soudre ce type de probl}me, il faut que la matrice *
  36. * sym{trique soit pr{dominant devant la matrice antisym{trique. *
  37. * *
  38. * *
  39. * Auteur et date : *
  40. * ---------------- *
  41. * L. VIVAN , le 12 juin 1991 *
  42. * *
  43. *--------------------------------------------------------------------*
  44. *
  45. * On s{pare les matrices {l{mentaires
  46. *
  47. MAT_SYME = 'EXTRAIRE' RIGI_ASY 'SYME' ;
  48. MAT_ANTI = 'EXTRAIRE' RIGI_ASY 'ANTI' ;
  49. *
  50. CONV_OUI = FAUX ;
  51. *
  52. * Nombre d'it{rations permises
  53. *
  54. NB_IT_PE = 30 ;
  55. *
  56. * Crit}re de convergence
  57. *
  58. CRIT_CON = 1.E-6 ;
  59. *
  60. * Initialisation de l'algorithme
  61. *
  62. CHP_DEPL = 'RESO' MAT_SYME CHP_FORC ;
  63. *
  64. * R{solution it{rative
  65. *
  66. CORRECTI = CHP_DEPL ;
  67. II = 0 ;
  68. 'REPETER' BOUC_ITE NB_IT_PE ;
  69. II = II + 1 ;
  70. CHP_I = MAT_ANTI '*' CORRECTI ;
  71. CORRECTI = 'RESO' MAT_SYME ( -1.0 '*' CHP_I ) ;
  72. CHP_DEPL = CHP_DEPL '+' CORRECTI ;
  73. X_MIN = 'MAXI' 'ABS' CORRECTI ;
  74. 'SI' ( X_MIN '<' CRIT_CON ) ;
  75. 'MESSAGE' ' ' ;
  76. 'MESSAGE' ' convergence apr}s' II 'it{rations' ;
  77. 'MESSAGE' ' ' ;
  78. CONV_OUI = VRAI ;
  79. 'QUITTER' BOUC_ITE ;
  80. 'FINSI' ;
  81. 'FIN' BOUC_ITE ;
  82. 'SI' ( 'NON' CONV_OUI ) ;
  83. 'MESSAGE' ' ' ;
  84. 'MESSAGE' ' pas de convergence apr}s' II 'it{rations' ;
  85. 'MESSAGE' ' ' ;
  86. 'FINSI' ;
  87. *
  88. 'FINPROC' CHP_DEPL ;
  89.  

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