* fichier :  dpsat.dgibi
* -------------- VARI option DPSAT -------------------------------
* Test de l'opérateur VARI DPSAT(T)
* dervivee partielle de la pression de saturation de la vapeur
* par rapport a la temperature
* Les données sont un FLOTTANT, un LISTREEL ou un CHPO
* notation : DT**** derivee partielle
* notation : DC**** derivee calculee par accroissement

'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
'OPTI' 'ECHO' 0 ;
DELTAT=0.1D0 ;
*---------------- FLOTTANT----------------------------------------
T1=373.15 ; 
T2=425.15; 
T3=453.15 ; 
DTPOINT1 = VARI DPSAT T1 ;
DTPOINT2 = VARI DPSAT T2 ;
DTPOINT3 = VARI DPSAT T3 ;
DCPOINT4=((VARI PSATT (T1+DELTAT))-(VARI PSATT T1))/DELTAT;
DCPOINT5=((VARI PSATT (T2+DELTAT))-(VARI PSATT T2))/DELTAT ;
DCPOINT6=((VARI PSATT (T3+DELTAT))-(VARI PSATT T3))/DELTAT;
*----------------- LISTREEL----------------------------------------
T1 = 'PROG' 373.15D0 425.15D0 453.15D0 ;
DTLIST1 = VARI DPSAT T1 ;
DELTAT2 = 'PROG' 0.1D0 0.1D0 0.1D0 ;
DCLIST1= ((VARI PSATT (T1+DELTAT2))-(VARI PSATT T1))/DELTAT2;
*-----------------CHAMPOINT-----------------------------------------
P11 = 373.15 0. ;
P22 = 425.15 0. ;
P33 = 453.15 0. ;
P11P33 = P11 'DROI' 1 P22 'DROI' 1 P33 ;
P11P33_1 = CHAN 'POI1' P11P33 ;
CT1= MANU 'CHPO' P11P33_1 'REAL' T1 ;
CT2 = MANU 'CHPO' P11P33_1 'REAL' (T1+DELTAT2);
DCCHPO1= ((VARI PSATT CT2)-(VARI PSATT CT1))/DELTAT;
DTCHPO1 = VARI DPSAT CT1 ;
*--------------------------------------------------------------------
*----RESULTATS ET STOCKAGES DES DONNEES------------------
*----------extraction des listreal-----------------------
LPOINT1=  'EXTR' DTLIST1 1 ;
LPOINT2 = 'EXTR' DTLIST1 2 ;
LPOINT3=  'EXTR' DTLIST1 3 ;
LPOINT4 = 'EXTR' DCLIST1 1 ;
LPOINT5 = 'EXTR' DCLIST1 2 ;
LPOINT6=  'EXTR' DCLIST1 3 ;
*----------extraction des champoints---------------------
CPOINT4 = 'EXTR' DCCHPO1 'REAL' P11 ;
CPOINT5 = 'EXTR' DCCHPO1 'REAL' P22 ;
CPOINT6 = 'EXTR' DCCHPO1 'REAL' P33 ;
CPOINT1 = 'EXTR' DTCHPO1 'REAL' P11 ;
CPOINT2 = 'EXTR' DTCHPO1 'REAL' P22 ;
CPOINT3=  'EXTR' DTCHPO1 'REAL' P33 ;
*-----------------------------------------------------------------------
*----CALCULS VALEURS REFERENCES XREFi CASTEM----------------------------
*-----------------------------------------------------------------------
XREF1=(DCPOINT4+LPOINT4+CPOINT4)/3;
XREF2=(DCPOINT5+LPOINT5+CPOINT5)/3;
XREF3=(DCPOINT6+LPOINT6+CPOINT6)/3;


*------------CALCULS DES ERREURS---------------------------------------
CTRL1 = DTPOINT1+  LPOINT1 + CPOINT1 / 3.d0 - DTPOINT1 / DTPOINT1 ;
CTRL2 = DTPOINT2 + LPOINT2 + CPOINT2 / 3.d0 - DTPOINT2 / DTPOINT2 ;
CTRL3 = DTPOINT3 + LPOINT3 + CPOINT3 / 3.d0 - DTPOINT3 / DTPOINT2 ;
CTRL4 = CTRL1 + CTRL2 + CTRL3 ;
CTRL5 = DTPOINT1 + LPOINT1 + CPOINT1 / 3.d0 - XREF1 / XREF1 ;
CTRL6 = DTPOINT2 + LPOINT2 + CPOINT2 / 3.d0 - XREF2 / XREF2 ;
CTRL7 = DTPOINT3 + LPOINT3 + CPOINT3 / 3.d0 - XREF3 / XREF3 ;
CTRL8 = CTRL5 + CTRL6 + CTRL7 ;
*-------------------------------------------> Affichage
'MESS' '     ' ;
'MESS' '     ' ;
'MESS' 'Pt 1  VARI DPSAT ----->' DTPOINT1 LPOINT1 CPOINT1 XREF1 ;
'MESS' 'Pt 2  VARI DPSAT ----->' DTPOINT2 LPOINT2 CPOINT2 XREF2 ;
'MESS' 'Pt 3  VARI DPSAT ----->' DTPOINT3 LPOINT3 CPOINT3 XREF3 ;
'MESS' '     ' ;
'MESS' 'Comparaison calculs rel.----->' CTRL4 ;
'MESS' 'Erreur rel. VDI         ----->' CTRL8 ;
'MESS' '     ' ;
'MESS' '     ' ;
'MESS' '     ' ;
'MESS' '     ' ;
'MESS' '     ' ;
*------------------------------------------> Compte-rendu et sortie
EPS4  = 1.E-14 ;
EPS8  = 5.E-3  ;
CTRL4 = ABS CTRL4 ;
CTRL8 = ABS CTRL8 ;
LOG4 = CTRL4 > EPS4 ;
LOG8 = CTRL8 > EPS8 ;
L0   = LOG4 'OU' LOG8 ;
'SI' L0        ;
   'ERREUR' 5  ;
'SINON'        ;
   'ERREUR' 0  ;
'FINSI'        ;
'FIN' ;
 

 

