* DIFFANIS PROCEDUR GBM 04/12/22 21:15:18 4973 *--------------------------------------------------------------------- *---------PROCEDURE DE CALCUL DE LA DISPERSIVITE---------------------- *--------------------------------------------------------------------- * |-----------------------------------------------------------------| * | Généralités : DIFFANIS remet un teneur de diffusion isotrope avec * | un format général anisotrope K11 K21 etc .... | * |-----------------------------------------------------------------| * | | * |-----------------------------------------------------------------| * | ENTREES | * |-----------------------------------------------------------------| * | | * | ANISO LOGIQUE VRAI SI ANISOTROPE, FAUX SINON | * | | * | MateDiff : Tenseur de diffusion (type iso, ..) champoint | * | de composante 'K' en isotrope, 'K11', 'K21', | * | 'K22' en anisotrope 2d et 'K11', 'K21', 'K22', 'K31'| * | 'K32', 'K33' en anisotrope 3d. Type 'CARACTERISTIQUE'| * | | * | typdi si 'EFMH' calcul particulier * | | * |-----------------------------------------------------------------| * | SORTIES | * |-----------------------------------------------------------------| * | | * | | * | newdiff : matrice de diffusion identique à Matediff mais écrite| * | sous la forme d'un tenseur si elle était isotrope à | * | une composante K (cette composante est alors reportée| * | à l'identique sur K11, K22 et K33) | * | | * | | ********************************************************************** SI (non (EXISTE ANISO)) ; ANISO = FAUX ; FINSI ; SI (non (EXISTE typdi)) ; typdi = 'VF' ; FINSI ; 'SI' (DEANISO) ; * le tenseur est inchangé mais mis au type caractéristique * On ne garde également que les bons noms de composantes newdiff = D11P '+' D22P '+' D21P ; 'FINSI' ; newdiff = D11P '+' D22P '+' D33P '+' D21P '+' D31P '+' D32P ; 'FINSI' ; 'SINON' ; SI ((NEG typdi 'EFMH') OU ANISO) ; * Le tenseur est isotrope, on charge ses composantes sur la * diagonale du tenseur de diffusion totale (qui contiendra la * dispersion et la diffusion numérique) newdiff = D11P '+' D22P '+' D21P ; 'FINSI' ; newdiff = D11P '+' D22P '+' D33P '+' D21P '+' D31P '+' D32P ; 'FINSI' ; 'SINON' ; 'FINSI' ; FINSI ; 'FINPROC' newdiff ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales