Télécharger diffanis.procedur

Retour à la liste

Numérotation des lignes :

  1. * DIFFANIS PROCEDUR GBM 04/12/22 21:15:18 4973
  2. *---------------------------------------------------------------------
  3. *---------PROCEDURE DE CALCUL DE LA DISPERSIVITE----------------------
  4. *---------------------------------------------------------------------
  5. 'DEBP' DIFFANIS MateDiff*'CHPOINT' typdi/'MOT' ANISO/'LOGIQUE' ;
  6. * |-----------------------------------------------------------------|
  7. * | Généralités : DIFFANIS remet un teneur de diffusion isotrope avec
  8. * | un format général anisotrope K11 K21 etc .... |
  9. * |-----------------------------------------------------------------|
  10. * | |
  11. * |-----------------------------------------------------------------|
  12. * | ENTREES |
  13. * |-----------------------------------------------------------------|
  14. * | |
  15. * | ANISO LOGIQUE VRAI SI ANISOTROPE, FAUX SINON |
  16. * | |
  17. * | MateDiff : Tenseur de diffusion (type iso, ..) champoint |
  18. * | de composante 'K' en isotrope, 'K11', 'K21', |
  19. * | 'K22' en anisotrope 2d et 'K11', 'K21', 'K22', 'K31'|
  20. * | 'K32', 'K33' en anisotrope 3d. Type 'CARACTERISTIQUE'|
  21. * | |
  22. * | typdi si 'EFMH' calcul particulier
  23. * | |
  24. * |-----------------------------------------------------------------|
  25. * | SORTIES |
  26. * |-----------------------------------------------------------------|
  27. * | |
  28. * | |
  29. * | newdiff : matrice de diffusion identique à Matediff mais écrite|
  30. * | sous la forme d'un tenseur si elle était isotrope à |
  31. * | une composante K (cette composante est alors reportée|
  32. * | à l'identique sur K11, K22 et K33) |
  33. * | |
  34. * | |
  35. **********************************************************************
  36.  
  37.  
  38. SI (non (EXISTE ANISO)) ;
  39. ANISO = FAUX ;
  40. FINSI ;
  41.  
  42. SI (non (EXISTE typdi)) ;
  43. typdi = 'VF' ;
  44. FINSI ;
  45.  
  46. DEANISO = 'NEG' ('DIME' ('EXTRAIRE' Matediff 'COMP')) 1 ;
  47. 'SI' (DEANISO) ;
  48. * le tenseur est inchangé mais mis au type caractéristique
  49. * On ne garde également que les bons noms de composantes
  50. 'SI' ('EGA' ('VALEUR' 'DIME') 2) ;
  51. D11P = 'EXCO' Matediff 'K11' 'K11' ;
  52. D22P = 'EXCO' Matediff 'K22' 'K22' ;
  53. D21P = 'EXCO' Matediff 'K21' 'K21' ;
  54. newdiff = D11P '+' D22P '+' D21P ;
  55. 'FINSI' ;
  56. 'SI' ('EGA' ('VALEUR' 'DIME') 3) ;
  57. D11P = 'EXCO' Matediff 'K11' 'K11' ;
  58. D22P = 'EXCO' Matediff 'K22' 'K22' ;
  59. D33P = 'EXCO' Matediff 'K33' 'K33' ;
  60. D21P = 'EXCO' Matediff 'K21' 'K21' ;
  61. D31P = 'EXCO' Matediff 'K31' 'K31' ;
  62. D32P = 'EXCO' Matediff 'K32' 'K32' ;
  63. newdiff = D11P '+' D22P '+' D33P '+' D21P '+' D31P '+' D32P ;
  64. 'FINSI' ;
  65. 'SINON' ;
  66. SI ((NEG typdi 'EFMH') OU ANISO) ;
  67. * Le tenseur est isotrope, on charge ses composantes sur la
  68. * diagonale du tenseur de diffusion totale (qui contiendra la
  69. * dispersion et la diffusion numérique)
  70. 'SI' ('EGA' ('VALEUR' 'DIME') 2) ;
  71. D11P = 'NOMC' 'K11' Matediff ;
  72. D21P = 'NOMC' 'K21' (0.0D0*Matediff) ;
  73. D22P = 'NOMC' 'K22' Matediff ;
  74. newdiff = D11P '+' D22P '+' D21P ;
  75. 'FINSI' ;
  76. 'SI' ('EGA' ('VALEUR' 'DIME') 3) ;
  77. D11P = 'NOMC' 'K11' Matediff ;
  78. D21P = 'NOMC' 'K21' (0.0D0*Matediff) ;
  79. D22P = 'NOMC' 'K22' Matediff ;
  80. D31P = 'NOMC' 'K31' (0.0*Matediff) ;
  81. D32P = 'NOMC' 'K32' (0.0*Matediff) ;
  82. D33P = 'NOMC' 'K33' Matediff ;
  83. newdiff = D11P '+' D22P '+' D33P '+' D21P '+' D31P '+' D32P ;
  84. 'FINSI' ;
  85. 'SINON' ;
  86. newdiff = 'NOMC' 'K' Matediff ;
  87. 'FINSI' ;
  88. FINSI ;
  89. 'FINPROC' newdiff ;
  90.  
  91.  
  92.  
  93.  

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