Télécharger mat_carrees_exce.dgibi
* fichier : mat_carrees_exce.dgibi ************************************************************************ ************************************************************************ *********************************************************************** *********************************************************************** ** ** ** ** ** TONUS - multicompartiments ** ** ** ** ** ** Version 0.0 - décembre 95 ** ** ** ** ** ** ** *********************************************************************** ** ** ** MATRICES ELEMENTAIRES CARREES ** ** (avec pénalisation de la diagonale) ** ** ** *********************************************************************** * * * * * CAS-TEST 1 * * ------------ * * * * 3 compartiments - 2 jonctions * * * * * * * * 3 * * O * * / * * X (2,3) * * 2 / * * O * * / * * X (1,2) * * / * * 1 0 * * * * * * * * Conditions aux limites : * * * * Injection d'un gaz léger dans le compartiment 1. * * Sortie libre dans le compartiment 3. * * Pression atmosphérique dans le compartiment 3. * * * * traitement de la condition à la limite en pression par * * pénalisation * * * *********************************************************************** * * *********************************************************************** * Description géométrique *********************************************************************** * * Les points centres de gravité des compartiments * P1 = 0. 0. ; P2 = 1. 1. ; P3 = 2. 2. ; * * Les jonctions entre les compartiments * L12 = P1 D 1 P2 ; L23 = P2 D 1 P3 ; * THEGEO = L12 ET L23 ; * * *********************************************************************** * * coefficient de pénalisation de la diagonale : * PENDIA1 = 1.E-13 ; * * coefficient de pénalisation pour le traitement de la C.L. * XBOUND = 1./PENDIA1 ; * *********************************************************************** * * *********************************************************************** * * Construction de la matrice globale par assemblage de 4 matrices * élémentaires : * *********************************************************************** * * * * Pénalisation de la diagonale de la matrice globale * * * MATRIX = MATRI4 ET MATRI2 ET MATRI1 ET MATRI3 ; * * 'NATURE' 'DISCRET' ; * list matrix ; list rhs1 ; * * list leres1 ; * *********************************************************************** * * Construction de la matrice globale directement : * *********************************************************************** * 0. PENDIA1 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. PENDIA1 0. 0. 0. 0. 1. 0. -1. 0. 0. 0. PENDIA1 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. (XBOUND) 0. 0. 0. 0. 1. ; * LISTOT1 = LISTOT1 ET 0. 0. 0. 0. 0. 0. PENDIA1 0. 0. 0. -1. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. PENDIA1 0. 0. 0. -1. 0. 1. 0. 0. 0. 0. 1. ) ; * LISTOT1 ; * list matot1 ; * * list leres2 ; * *** Test sur les valeurs obtenues ... * valref1 = 2.4 ; valref2 = 1.2 ; valref3 = -1.2E-13 ; valref4 = 1.2 ; valref5 = 1.2 ; ok = vrai ; si(abs(resu11-valref1) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu21-valref1) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu12-valref2) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu22-valref2) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu13-valref3) > 1.E-25) ; ok = faux ; finsi ; si(abs(resu23-valref3) > 1.E-25) ; ok = faux ; finsi ; si(abs(resu14-valref4) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu24-valref4) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu15-valref5) > 1.E-10) ; ok = faux ; finsi ; si(abs(resu25-valref5) > 1.E-10) ; ok = faux ; finsi ; si(non ok) ; erreur 5 ; finsi ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales