Télécharger vsur2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vsur2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *********************************************************
  5. * vsur2.dgibi : Test de VSUR en coq3, DKT, DST et coq4 *
  6. *********************************************************
  7. opti echo 0 dime 3 elem qua4;
  8. *
  9. * Définition de la géométrie
  10. *
  11. p0 = 0. 0. 0.;
  12. p1 = 9. 0. 6.;
  13. p2 = 7. 6. 10.;
  14. p3 = -2. 6. 4.;
  15. p4 = 8. 3. 8.;
  16. p5 = -1. 3. 2.;
  17. l1 = D 3 p0 p1;
  18. l2 = D 2 p1 p2;
  19. l3 = D 5 p2 p3;
  20. l4 = D 4 p3 p0;
  21. *
  22. cn1 = l1 et l2 et l3 et l4;
  23. obj = SURF cn1 'PLANE';
  24. *
  25. * Définition des modèles
  26. *
  27. obj3 = obj elem 'TRI3';
  28. obj4 = obj elem 'QUA4';
  29. mo31 = modeli obj3 mecanique elastique isotrope coq3;
  30. mo32 = modeli obj3 mecanique elastique isotrope dst;
  31. mo33 = modeli obj3 mecanique elastique isotrope dkt;
  32. mo4 = modeli obj4 mecanique elastique isotrope coq4;
  33. mod1 = mo31 et mo4;
  34. mod2 = mo32 et mo4;
  35. mod3 = mo33 et mo4;
  36. *
  37. * Comparaison des champs obtenus par VSUR
  38. *
  39. * Premier modèle : coq3 et coq4
  40. che1 = VSUR mod1;
  41. chn1 = VSUR mod1 'NORM';
  42. chj1 = JACO mod1;
  43. cnx1 = exco 'VX' che1 'SCAL';
  44. cny1 = exco 'VY' che1 'SCAL';
  45. cnz1 = exco 'VZ' che1 'SCAL';
  46. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  47. cjn1 = chj1*chj1;
  48. cze1 = cnn1 - cjn1;
  49. *list cze1;
  50. cnx1 = exco 'VX' chn1 'SCAL';
  51. cny1 = exco 'VY' chn1 'SCAL';
  52. cnz1 = exco 'VZ' chn1 'SCAL';
  53. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  54. *list cnn1;
  55. CPZ1 = CHAN CHPO MOD1 CZE1;
  56. CPN1 = CHAN CHPO MOD1 CNN1;
  57. RE11 = MAXI CPZ1 'ABS';
  58. RE12 = (MAXI CPN1 'ABS') - 1.;
  59. RE13 = (MAXI CPN1 'ABS') - (MINI CPN1 'ABS');
  60. * Deuxième modèle : dkt et coq4
  61. che1 = VSUR mod2;
  62. chn1 = VSUR mod2 'NORM';
  63. chj1 = JACO mod2;
  64. cnx1 = exco 'VX' che1 'SCAL';
  65. cny1 = exco 'VY' che1 'SCAL';
  66. cnz1 = exco 'VZ' che1 'SCAL';
  67. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  68. cjn1 = chj1*chj1;
  69. cze1 = cnn1 - cjn1;
  70. *list cze1;
  71. cnx1 = exco 'VX' chn1 'SCAL';
  72. cny1 = exco 'VY' chn1 'SCAL';
  73. cnz1 = exco 'VZ' chn1 'SCAL';
  74. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  75. *list cnn1;
  76. CPZ1 = CHAN CHPO MOD2 CZE1;
  77. CPN1 = CHAN CHPO MOD2 CNN1;
  78. RE21 = MAXI CPZ1 'ABS';
  79. RE22 = (MAXI CPN1 'ABS') - 1.;
  80. RE23 = (MAXI CPN1 'ABS') - (MINI CPN1 'ABS');
  81. * Troisieème modèle : dkt et coq4
  82. che1 = VSUR mod3;
  83. chn1 = VSUR mod3 'NORM';
  84. chj1 = JACO mod3;
  85. cnx1 = exco 'VX' che1 'SCAL';
  86. cny1 = exco 'VY' che1 'SCAL';
  87. cnz1 = exco 'VZ' che1 'SCAL';
  88. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  89. cjn1 = chj1*chj1;
  90. cze1 = cnn1 - cjn1;
  91. *list cze1;
  92. cnx1 = exco 'VX' chn1 'SCAL';
  93. cny1 = exco 'VY' chn1 'SCAL';
  94. cnz1 = exco 'VZ' chn1 'SCAL';
  95. cnn1 = (cnx1*cnx1) + (cny1*cny1) + (cnz1*cnz1);
  96. *list cnn1;
  97. CPZ1 = CHAN CHPO MOD3 CZE1;
  98. CPN1 = CHAN CHPO MOD3 CNN1;
  99. RE31 = MAXI CPZ1 'ABS';
  100. RE32 = (MAXI CPN1 'ABS') - 1.;
  101. RE33 = (MAXI CPN1 'ABS') - (MINI CPN1 'ABS');
  102. RES1 = RE11 + RE12 + RE13 + RE21 + RE22 + RE23;
  103. RES1 = RES1 + RE31 + RE32 + RE33;
  104. *LIST RES1;
  105. SI (res1 < 1.e-6) ;
  106. MESS 'OPERATEUR <VSUR> ERR 0';
  107. ERRE 0;
  108. SINON;
  109. MESS 'OPERATEUR <VSUR> ERR 5';
  110. ERRE 5;
  111. FINSI;
  112. fin;
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  

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