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