Télécharger deadmetr.procedur

Retour à la liste

Numérotation des lignes :

  1. * DEADMETR PROCEDUR GOUNAND 26/01/09 21:15:16 12441
  2. ************************************************************************
  3. * NOM : DEADMETR
  4. * DESCRIPTION : Calcule la métrique des éléments géométriques (moyenne
  5. * intégrée par élément).
  6. * L'élément de référence servant à définir la métrique
  7. * identité est un élément régulier de côté 1.
  8. *
  9. * Comme dans DEDUADAP, le mode axisymétrique n'est pas
  10. * pris en compte.
  11. *
  12. *
  13. *
  14. * Entrées : _mt : Maillage de type QUAF
  15. * gdisc : Discrétisation géométrique
  16. * typiquement 'LINE' (linéaire)
  17. * ou 'QUAI' (quadratique mécanique)
  18. * ou 'QUAF' (quadratique fluide).
  19. * methgau : méthode d'intégration
  20. * typiquement 'GAU1' (intégration
  21. * réduite à 1 point de Gauss central)
  22. * ou 'GAR1' (éléments linéaires)
  23. * ou 'GAR2' (éléments quadratiques)
  24. * ou 'GAP7' (intégration précise à
  25. * l'ordre 7)
  26. * (cf. aussi notice NLIN)
  27. * Il n'est sans doute pas utile d'utiliser une
  28. * intégration précise car la notion d'intégrale
  29. * (ou de moyenne) d'un tenseur est sujette à
  30. * caution...
  31. *
  32. *
  33. * Sorties : un CHPOINT défini sur le noeud central de
  34. * chaque élément avec pour noms de composantes
  35. * Gij avec i=1...dime
  36. * j=1...dime j>i (tenseur symétrique)
  37. *
  38. * Ce CHPOINT peut être transmis directement
  39. * à l'opérateur 'DEDU' 'ADAP' pour conserver
  40. * au mieux une métrique.
  41. *
  42. * Si l'on prescrit des déplacements nuls à la
  43. * frontière et que l'on appelle 'DEDU' 'ADAP'
  44. * avec l'inverse de la métrique calculée par
  45. * DEADMETR, le déplacement des noeuds internes
  46. * sera donc également nul ! (cas-test à faire et
  47. * à évoluer...)
  48. *
  49. * Si l'on prescrit des déplacements non nuls à
  50. * la frontière, on essaiera de conserver
  51. * l'aspect des éléments de départ.
  52. *
  53. *
  54. * Exemple (ancienne syntaxe) : met = deadmetr _mt 'QUAF' 'GAU1' ;
  55. * imet = TENS INVE met ;
  56. * dxv = 'DEDU' 'ADAP' _mt 'METR' imet 'CSTE' ;
  57. *
  58. * Exemple : met = deadmetr mt ;
  59. * mod = MODE mt 'MECANIQUE' ;
  60. * imet = TENS INVE met ;
  61. * dxv = 'DEDU' 'ADAP' mt 'METR' imet mod ;
  62. *
  63. *
  64. *
  65. *
  66. * LANGAGE : GIBIANE-CAST3M
  67. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  68. * mél : gounand@semt2.smts.cea.fr
  69. **********************************************************************
  70. * VERSION : v1, 2026/01/01
  71. * HISTORIQUE : v1, 2026/01/01, création, recopie de GINVMET mais
  72. * syntaxe plus simple comme (uniqt le maillage)
  73. * HISTORIQUE :
  74. * HISTORIQUE :
  75. ************************************************************************
  76. *
  77. *
  78. 'DEBPROC' DEADMETR ;
  79. 'ARGUMENT' _mt*'MAILLAGE' ;
  80. 'ARGUMENT' gdisc/'MOT' ;
  81. lgdisc = 'EXIS' gdisc ;
  82. 'SI' lgdisc ;
  83. 'ARGUMENT' methgau*'MOT' ;
  84. 'SINO' ;
  85. gdisc = DEADUTIL 'TYPM' _mt ;
  86. methgau = 'GAU1' ;
  87. 'FINS' ;
  88. *
  89. tmot = 'TABLE' ;
  90. tnom = 'TABLE' ;
  91. vdim = 'VALEUR' 'DIME' ;
  92. mdim = DEADUTIL 'DIMM' _mt ;
  93. idx = 0 ;
  94. cim = 'CHAINE' 'METR' ;
  95. cg = 'CHAINE' 'G' ;
  96. 'REPETER' bidim vdim ;
  97. 'REPETER' bjdim vdim ;
  98. 'SI' ('>EG' &bjdim &bidim) ;
  99. idx = '+' idx 1 ;
  100. tmot . idx = 'CHAINE' cim &bidim &bjdim ;
  101. * Convention Castem opposee à convention NLIN
  102. tnom . idx = 'CHAINE' cg &bjdim &bidim ;
  103. 'FINSI' ;
  104. 'FIN' bjdim ;
  105. 'FIN' bidim ;
  106. *
  107. dtm = 'DIME' tmot ;
  108. numop = dtm ;
  109. numder = mdim ;
  110. numvar = dtm ;
  111. numdat = 0 ;
  112. numcof = dtm ;
  113. A = ININLIN numop numvar numdat numcof numder ;
  114. 'REPE' itm dtm ;
  115. A . 'VAR' . &itm . 'NOMDDL' = tnom . &itm ;
  116. A . 'VAR' . &itm . 'DISC' = 'CSTE' ;
  117. A . 'COF' . &itm . 'COMPOR' = tmot . &itm ;
  118. A . &itm . &itm . 0 = &itm ;
  119. 'FIN' itm ;
  120. numvar = 1 ;
  121. numdat = 0 ;
  122. numcof = 0 ;
  123. B = ININLIN numop numvar numdat numcof numder ;
  124. B . 'VAR' . 1 . 'VALEUR' = 1. ;
  125. 'REPE' itm dtm ;
  126. B . &itm . 1 . 0 = 0 ;
  127. 'FIN' itm ;
  128. 'SI' lgdisc ;
  129. metr = NLIN gdisc _mt A B 'ERF1' methgau ;
  130. 'SINO' ;
  131. metr = NLIN gdisc _mt A B 'ERF1' 'CHAM' methgau ;
  132. 'FINS' ;
  133. 'RESPRO' metr ;
  134. *
  135. * End of procedure file DEADMETR
  136. *
  137. 'FINPROC' ;
  138.  
  139.  

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