* fichier : konv_fmm_test.dgibi
***********************************************************************
* *
* 'KONV' OPERATOR *
* FREE MATRIX METHOD implicitation. *
* *
* VF "cell-centered" discretization of the Euler equations. *
* Unknowns : U (density, momentum, total energy per volume unity *
* (conservative variables)) *
* In the i-th cell we have to compute *
* *
* (U_i^{n+1} - U_i^{n}) * AN_i(U^{n}) = *
* RES_i(U^{n}) + BN_i(U^{n}) - BN_i(U_i^{n+1}) *
* *
* In this test case we compute AN et BN in GIBIANE et en ESOPE. *
* *
* A. Beccantini *
* SFME/LTMF *
* 03/05/01 *
***********************************************************************
*
TYEL = 'QUA4' ;
* TYEL = 'TRI3' ;
'OPTION' 'DIME' 2 'ELEM' TYEL 'ISOV' 'SULI'
'ECHO' 0 'TRAC' 'X' ;
GRAPH = VRAI ;
GRAPH = FAUX ;
******************
**** MAILLAGE ****
******************
RAF = 1 ;
NX = 4 ;
NY = 4 ;
DX = 1. ;
A0 = 0.11 0.0 ;
A1 = 3.11 0.0 ;
A2 = 3.13 4.1 ;
A3 = 0.0 4.12 ;
*
**** LIGB
*
LIGB= A0 'DROIT' NX A1 ;
*
**** LIGH
*
LIGH = A3 'DROIT' NX A2 ;
*
**** DOMINT
*
DOMINT = LIGH 'REGLER' NY LIGB ;
LIGCON = 'CONTOUR' DOMINT ;
*
*** LIGG
*
LIGG = LIGCON 'ELEM' 'COMP' A0 A3 ;
*
**** LIGD
*
LIGD = LIGCON 'ELEM' 'COMP' A2 A1 ;
FROD = LIGD 'TRANSLATION' 1 (DX 0.0) ;
FROG = LIGG 'TRANSLATION' 1 ((-1.0 '*' DX) 0.0) ;
DOMTOT = DOMINT 'ET' FROG 'ET' FROD ;
'ELIMINATION' DOMTOT (1.0D-3 '/' RAF) ;
*
**** Creation of DOMAINE tables via the MODEL object
*
$DOMTOT = 'MODELISER' DOMTOT 'EULER' ;
$DOMINT = 'MODELISER' DOMINT 'EULER' ;
$FROD = 'MODELISER' FROD 'EULER' ;
$FROG = 'MODELISER' FROG 'EULER' ;
$LIGG = 'MODELISER' LIGG 'EULER' ;
$LIGD = 'MODELISER' LIGD 'EULER' ;
TDOMTOT = 'DOMA' $DOMTOT 'VF' ;
TDOMINT = 'DOMA' $DOMINT 'VF' ;
TFROD = 'DOMA' $FROD 'VF' ;
TFROG = 'DOMA' $FROG 'VF' ;
TLIGG = 'DOMA' $LIGG 'VF' ;
TLIGD = 'DOMA' $LIGD 'VF' ;
QDOMTOT = TDOMTOT . 'QUAF' ;
QDOMINT = TDOMINT . 'QUAF' ;
QFROD = TFROD . 'QUAF' ;
QFROG = TFROG . 'QUAF' ;
QLIGG = TLIGG . 'QUAF' ;
QLIGD = TLIGD . 'QUAF' ;
'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QDOMINT ;
'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QFROD ;
'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QFROG ;
'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QLIGD ;
'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QLIGG ;
*
**** SEG2 mesh for BC
*
ELP1 = 'MANUEL' 'POI1' ('POIN' 1 ('DOMA' $LIGD 'CENTRE')) ;
ELTINT = ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT'
ELP1 ;
ELTFRO = 'ELEM' ('DOMA' $FROD 'FACEL') 'APPUYE' 'LARGEMENT'
ELP1 ;
P1 = 'POIN' 1 ELTINT ;
P2 = 'POIN' 1 ELTFRO ;
COND = 'MANUEL' 'SEG2' P1 P2 ;
NBL1 = ('NBNO' ('DOMA' $LIGD 'CENTRE')) '-' 1 ;
'SI' (NBL1 > 0) ;
'REPETER' BL1 NBL1 ;
ELP1 = 'MANUEL' 'POI1' ('POIN' (&BL1 '+' 1)
('DOMA' $LIGD 'CENTRE')) ;
ELTINT = ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT'
ELP1 ;
ELTFRO = 'ELEM' ('DOMA' $FROD 'FACEL') 'APPUYE' 'LARGEMENT'
ELP1 ;
P1 = 'POIN' 1 ELTINT ;
P2 = 'POIN' 1 ELTFRO ;
COND = COND 'ET' ('MANUEL' 'SEG2' P1 P2) ;
'FIN' BL1 ;
'FINSI' ;
COND = COND 'COULEUR' 'ROUG' ;
ELP1 = 'MANUEL' 'POI1' ('POIN' 1 ('DOMA' $LIGG 'CENTRE')) ;
ELTINT = ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT'
ELP1 ;
ELTFRO = 'ELEM' ('DOMA' $FROG 'FACEL') 'APPUYE' 'LARGEMENT'
ELP1 ;
P1 = 'POIN' 1 ELTINT ;
P2 = 'POIN' 1 ELTFRO ;
CONG = 'MANUEL' 'SEG2' P1 P2 ;
'SI' (NBL1 > 0) ;
NBL1 = ('NBNO' ('DOMA' $LIGG 'CENTRE')) '-' 1 ;
'REPETER' BL1 NBL1 ;
ELP1 = 'MANUEL' 'POI1' ('POIN' (&BL1 '+' 1)
('DOMA' $LIGG 'CENTRE')) ;
ELTINT = ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT'
ELP1 ;
ELTFRO = 'ELEM' ('DOMA' $FROG 'FACEL') 'APPUYE' 'LARGEMENT'
ELP1 ;
P1 = 'POIN' 1 ELTINT ;
P2 = 'POIN' 1 ELTFRO ;
CONG = CONG 'ET' ('MANUEL' 'SEG2' P1 P2) ;
'FIN' BL1 ;
'FINSI' ;
CONG = CONG 'COULEUR' 'ROUG' ;
'SI' GRAPH ;
'TRACER' (DOMTOT 'ET' COND 'ET' CONG) 'TITRE'
'Domaine total' ;
'FINSI' ;
*****************************************************
*****************************************************
******* Initial conditions **************************
*****************************************************
*****************************************************
***************************************************************
***** PROCEDURE POUR CALCULER LES VARIABLES CONSERVATIVES *****
***************************************************************
'DEBPROC' CONS ;
'ARGUMENT' RN*'CHPOINT' VN*'CHPOINT' PN*'CHPOINT' GAMN*'CHPOINT' ;
RVN = RN '*' VN ('MOTS' 'SCAL' 'SCAL') ('MOTS' 'UX' 'UY')
('MOTS' 'UX' 'UY') ;
CELL = 'PSCAL' RVN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY') ;
RECIN = 0.5 '*' CELL ;
REIN = PN '/' (GAMN '-' 1.0) ;
RETN = RECIN '+' REIN ;
DETR CELL ;
DETR RECIN ;
DETR REIN ;
'RESPRO' RVN RETN ;
'FINPROC' ;
***************************************************************
***************************************************************
***************************************************************
RN0 = ('MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 1.4
'NATURE' 'DISCRET') '*'
('BRUI' 'BLAN' 'UNIF' 1.0 0.5 ('DOMA' $DOMTOT 'CENTRE')) ;
VN0 = ('MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 2 'UX' 0.5
'UY' 0.0 'NATURE' 'DISCRET') '*'
('BRUI' 'BLAN' 'UNIF' 0.0 0.5 ('DOMA' $DOMTOT 'CENTRE')) ;
PN0 = ('MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 1.0
'NATURE' 'DISCRET') '*'
('BRUI' 'BLAN' 'UNIF' 1.0 0.5 ('DOMA' $DOMTOT 'CENTRE')) ;
GAMN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 1.4
'NATURE' 'DISCRET' ;
GN0 RETN0 = CONS RN0 VN0 PN0 GAMN ;
VN1 PN1 = 'PRIM' 'PERFMONO' RN0 GN0 RETN0 GAMN ;
ERRO = 'MAXIMUM' (PN1 '-' PN0) 'ABS' ;
'SI' (ERRO > 1.0D-6) ;
'MESSAGE' 'Problem in the ic file!!!'
'ERREUR' 5 ;
'FINSI' ;
*
**** Plot of IC
*
MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE' ) 'THERMIQUE';
'SI' GRAPH ;
CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN0 ;
CHM_PN = 'KCHA' $DOMTOT 'CHAM' PN0 ;
CHM_VN = 'KCHA' $DOMTOT 'CHAM' VN0 ;
'TRACER' CHM_RN MOD1
'TITR' ('CHAINE' 'RN at t=' 0.0);
'TRACER' CHM_PN MOD1
'TITR' ('CHAINE' 'PN at t=' 0.0);
'TRACER' CHM_VN MOD1
'TITR' ('CHAINE' 'MACHN at t=' 0.0);
'FINSI' ;
MOTRN = 'RN' ;
MOTRNX = 'RUX' ;
MOTRNY = 'RUY' ;
MOTRETN = 'RETN' ;
LISTINCO = 'MOTS' MOTRN MOTRNX MOTRNY MOTRETN ;
*********************************************************************
********************** TEST *****************************************
*********************************************************************
ZERO = 1.0D-8 ;
*
**** Parameter for the computations
*
*
* Safety Factor fot the time step
SAFFAC = 0.5 ;
*
********** Procedure qui calcule F \cdot n =
*
* COEFF1 = \rho u_n
* COEFF2 = \rho u_n ux '+' p nx
* COEFF2 = \rho u_n uy '+' p ny
* COEFF4 = \rho u_n h_t
*
'DEBPROC' FSCALN;
'ARGUMENT' UX'*'FLOTTANT UY'*'FLOTTANT NX'*'FLOTTANT NY'*'FLOTTANT
RHO'*'FLOTTANT P'*'FLOTTANT GAMMA'*'FLOTTANT;
UN = (UX '*' NX) '+' (UY '*' NY) ;
RECIN = 0.5 '*' RHO '*' ((UX '*' UX) '+' (UY '*' UY)) ;
RH = (GAMMA '/' (GAMMA '-' 1.)) '*' P ;
COEF1 = RHO '*' UN ;
COEF2 = (RHO '*' UN '*' UX) '+' (P '*' NX) ;
COEF3 = (RHO '*' UN '*' UY) '+' (P '*' NY) ;
COEF4 = UN '*' (RH '+' RECIN) ;
'FINPROC' COEF1 COEF2 COEF3 COEF4 ;
*
**** Beginning of the main program
*
RN = 'COPIER' RN0 ;
GN = 'COPIER' GN0 ;
RETN = 'COPIER' RETN0 ;
* We define DIAMIN = CHAMPOINT 'CENTRE' (diameter minimum of the cell).
* One component, 'SCAL'.
* DOMVOL = CHAMPOINT 'CENTRE' (volume of the cell).
* One component, 'SCAL'.
* SURDOM = CHAMPOINT 'FACE' (surface of each interface).
* One component, 'SCAL'.
* NORDOM = CHAMPOINT 'FACE' (normales to each interface)
* 2 components, 'UX', 'UY'
*
* Names of the residuum components
*
DIAMIN = 'DOMA' $DOMTOT 'DIAMIN' ;
DOMVOL = 'DOMA' $DOMTOT 'VOLUME' ;
SURDOM = 'DOMA' $DOMTOT 'SURFACE' ;
NORDOM = 'DOMA' $DOMTOT 'NORMALE' ;
*
**** Primitive variables
*
VN PN = 'PRIM' 'PERFMONO' RN GN RETN GAMN ;
*
**** Local time step UNSDT = 1 '/' DT
*
UNSDT = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 0.0 ;
*
**** Loop to solve the FMM linear system with JACOBI
*
* a_i (DELTA U)_i^n = RES_{expl,i} '+' b_i^n '-' b_i^{n+1}
*
* a_i is a CHAMPOINT centre with one componenent ('SCAL)
*
* b_i is a CHAMPOINT centre with four components (see LISTINCO)
*
* b_i^{n+1} a CHAMPOINT centre with four components (see LISTINCO)
*
* First of all we compute a_i et b_i^n
*
* We also compute SIGMAF = CHAMPOINT face with one component. It
* contains (un '+' c) at each face.
*
ANI = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 0.0 ;
BNI = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 4 MOTRN 0.0
MOTRNX 0.0 MOTRNY 0.0 MOTRETN 0.0 ;
SIGMAF = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'FACE') 1 'SCAL' 0.0 ;
*
**** LOOP ON 'FACEL'
*
NPOIFA = 'NBEL' ('DOMA' $DOMTOT 'FACEL') ;
'REPETER' BLFAC NPOIFA ;
ELTINI = ('ELEM' ('DOMA' $DOMTOT 'FACEL') &BLFAC) ;
*
* Each elements has tree points
* |
* +L +Cf +R
* |
* L,R are cell centers
* Cf is a the face center
* Normal are always directed frol L to Cf
*
ELT = 'CHANGER' 'POI1' ELTINI ;
'SI' (('NBNO' ELT) 'EGA' 2) ;
*
********** Murs
*
PL = 'POIN' 1 ELT ;
PF = 'POIN' 2 ELT ;
ELTL = 'MANUEL' 'POI1' PL ;
ELTF = 'MANUEL' 'POI1' PF ;
* Geometric parameters
VOLL = 'EXTRAIRE' DOMVOL PL 'SCAL' ;
DIAL = 'EXTRAIRE' DIAMIN PL 'SCAL' ;
SURC = 'EXTRAIRE' SURDOM PF 'SCAL' ;
NORX = 'EXTRAIRE' NORDOM PF 'UX' ;
NORY = 'EXTRAIRE' NORDOM PF 'UY' ;
* Physical values
UNXL = 'EXTRAIRE' VN PL 'UX' ;
UNYL = 'EXTRAIRE' VN PL 'UY' ;
RNL = 'EXTRAIRE' RN PL 'SCAL' ;
PNL = 'EXTRAIRE' PN PL 'SCAL' ;
GAML = 'EXTRAIRE' GAMN PL 'SCAL' ;
UNNL = (UNXL '*' NORX) '+' (UNYL '*' NORY) ;
UNTL = (UNYL '*' NORX) '-' (UNXL '*' NORY) ;
*
RNR = RNL ;
PNR = PNL ;
GAMR = GAML ;
UNNR = -1.0 '*' UNNL ;
UNTR = UNTL ;
UNXR = (UNNR '*' NORX) '-' (UNTR '*' NORY) ;
UNYR = (UNNR '*' NORY) '+' (UNTR '*' NORX) ;
* Computations
RETL = ((1. '/' (GAML '-' 1.)) '*' PNL) '+' (0.5 '*'
((UNXL '*' UNXL) '+' (UNYL '*' UNYL)) '*' RNL) ;
RETR = ((1. '/' (GAMR '-' 1.)) '*' PNR) '+' (0.5 '*'
((UNXR '*' UNXR) '+' (UNYR '*' UNYR)) '*' RNR) ;
CSONF = ((0.5 '*' (GAML '+' GAMR)) '*' (PNL '+' PNR) '/'
(RNL '+' RNR)) ;
CSONF = CSONF '**' 0.5 ;
UNF = 0.5 '*' (('ABS' UNNL) '+' ('ABS' UNNR)) ;
SIGF = CSONF '+' UNF ;
* SIGMAF
SIGNF = 'MANUEL' 'CHPO' ELTF 1 'SCAL' SIGF ;
SIGMAF = SIGMAF '+' SIGNF ;
* UNSDT
UNSDTL = 'MANUEL' 'CHPO' ELTL 1 'SCAL'
(SIGF '/' DIAL) ;
UNSDT = 0.5 '*' ( (UNSDT '+' UNSDTL) '+'
('ABS' (UNSDT '-' UNSDTL)) ) ;
* ANI
ANL = 'MANUEL' 'CHPO' ELTL 1 'SCAL' ((SURC '*' SIGF) '/'
(2. '*' VOLL)) ;
ANI = ANI '+' ANL ;
* BNI
*
********** Procedure qui calcule F \cdot n =
*
* COEFF1 = \rho u_n
* COEFF2 = \rho u_n ux '+' p nx
* COEFF2 = \rho u_n uy '+' p ny
* COEFF4 = \rho u_n h_t
*
*
COEF1L COEF2L COEF3L COEF4L = FSCALN
UNXL UNYL NORX NORY RNL PNL GAML ;
COEF1R COEF2R COEF3R COEF4R = FSCALN
UNXR UNYR NORX NORY RNR PNR GAMR ;
SSDVL = SURC '/' (2. '*' VOLL) ;
BNL = 'MANUEL' 'CHPO' ELTL 4
MOTRN ((COEF1L '+' COEF1R '-' (SIGF '*' RNR)) '*' SSDVL)
MOTRNX ((COEF2L '+' COEF2R '-' (SIGF '*' RNR '*' UNXR))
'*' SSDVL)
MOTRNY ((COEF3L '+' COEF3R '-' (SIGF '*' RNR '*' UNYR))
'*' SSDVL)
MOTRETN ((COEF4L '+' COEF4R '-' (SIGF '*' RETR))
'*' SSDVL) ;
BNI = BNI '+' BNL ;
'SINON' ;
*
********** Domaine interieur
*
PL = 'POIN' 1 ELT ;
PF = 'POIN' 2 ELT ;
PR = 'POIN' 3 ELT ;
ELTL = 'MANUEL' 'SEG2' PL PR ;
ELTF = 'MANUEL' 'POI1' PF ;
* Geometric parameters
VOLL = 'EXTRAIRE' DOMVOL PL 'SCAL' ;
VOLR = 'EXTRAIRE' DOMVOL PR 'SCAL' ;
DIAL = 'EXTRAIRE' DIAMIN PL 'SCAL' ;
DIAR = 'EXTRAIRE' DIAMIN PR 'SCAL' ;
SURC = 'EXTRAIRE' SURDOM PF 'SCAL' ;
NORX = 'EXTRAIRE' NORDOM PF 'UX' ;
NORY = 'EXTRAIRE' NORDOM PF 'UY' ;
* Physical values
UNXL = 'EXTRAIRE' VN PL 'UX' ;
UNYL = 'EXTRAIRE' VN PL 'UY' ;
RNL = 'EXTRAIRE' RN PL 'SCAL' ;
PNL = 'EXTRAIRE' PN PL 'SCAL' ;
GAML = 'EXTRAIRE' GAMN PL 'SCAL' ;
*
UNXR = 'EXTRAIRE' VN PR 'UX' ;
UNYR = 'EXTRAIRE' VN PR 'UY' ;
RNR = 'EXTRAIRE' RN PR 'SCAL' ;
PNR = 'EXTRAIRE' PN PR 'SCAL' ;
GAMR = 'EXTRAIRE' GAMN PR 'SCAL' ;
* Computations
UNNL = (UNXL '*' NORX) '+' (UNYL '*' NORY) ;
UNNR = (UNXR '*' NORX) '+' (UNYR '*' NORY) ;
RETL = ((1. '/' (GAML '-' 1.)) '*' PNL) '+' (0.5 '*'
((UNXL '*' UNXL) '+' (UNYL '*' UNYL)) '*' RNL) ;
RETR = ((1. '/' (GAMR '-' 1.)) '*' PNR) '+' (0.5 '*'
((UNXR '*' UNXR) '+' (UNYR '*' UNYR)) '*' RNR) ;
CSONF = ((0.5 '*' (GAML '+' GAMR)) '*' (PNL '+' PNR) '/'
(RNL '+' RNR)) ;
CSONF = CSONF '**' 0.5 ;
UNF = 0.5 '*' (('ABS' UNNL) '+' ('ABS' UNNR)) ;
SIGF = CSONF '+' ('ABS' UNF) ;
* SIGMAF
SIGNF = 'MANUEL' 'CHPO' ELTF 1 'SCAL' SIGF ;
SIGMAF = SIGMAF '+' SIGNF ;
* UNSDT
UNSDTL = 'MANUEL' 'CHPO' ELTL 1 'SCAL'
('PROG' (SIGF '/' DIAL) (SIGF '/' DIAR)) ;
UNSDT = 0.5 '*' ( (UNSDT '+' UNSDTL) '+'
('ABS' (UNSDT '-' UNSDTL)) ) ;
* ANI
ANL = 'MANUEL' 'CHPO' ELTL 1 'SCAL'
('PROG' ((SURC '*' SIGF) '/' (2. '*' VOLL))
((SURC '*' SIGF) '/' (2. '*' VOLR))) ;
ANI = ANI '+' ANL ;
* BNI
COEF1L COEF2L COEF3L COEF4L = FSCALN
UNXL UNYL NORX NORY RNL PNL GAML ;
COEF1R COEF2R COEF3R COEF4R = FSCALN
UNXR UNYR NORX NORY RNR PNR GAMR ;
SSDVL = SURC '/' (2. '*' VOLL) ;
SSDVR = SURC '/' (-2. '*' VOLR) ;
BNL1 = 'MANUEL' 'CHPO' ELTL 2
MOTRN ('PROG'
((COEF1L '+' COEF1R '-' (SIGF '*' RNR)) '*' SSDVL)
((COEF1L '+' COEF1R '+' (SIGF '*' RNL)) '*' SSDVR))
MOTRNX ('PROG'
((COEF2L '+' COEF2R '-' (SIGF '*' RNR '*' UNXR)) '*' SSDVL)
((COEF2L '+' COEF2R '+' (SIGF '*' RNL '*' UNXL)) '*' SSDVR))
;
BNL2 = 'MANUEL' 'CHPO' ELTL 2
MOTRNY ('PROG'
((COEF3L '+' COEF3R '-' (SIGF '*' RNR '*' UNYR)) '*' SSDVL)
((COEF3L '+' COEF3R '+' (SIGF '*' RNL '*' UNYL)) '*' SSDVR))
MOTRETN ('PROG'
((COEF4L '+' COEF4R '-' (SIGF '*' RETR)) '*' SSDVL)
((COEF4L '+' COEF4R '+' (SIGF '*' RETL)) '*' SSDVR)) ;
BNI = BNI '+' BNL1 '+' BNL2 ;
'FINSI' ;
'FIN' BLFAC ;
UNSDT = UNSDT '/' (0.5 * SAFFAC) ;
ANI = ANI '+' UNSDT ;
ANI1 = 'KONV' 'VF' 'PMONOFMM' 'AN' LISTINCO
$DOMTOT RN GN RETN GAMN SAFFAC ;
BNI1 = 'KONV' 'VF' 'PMONOFMM' 'BN' LISTINCO
$DOMTOT RN GN RETN GAMN ;
MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
'SI' GRAPH ;
CHM_ER1 = 'KCHA' $DOMTOT 'CHAM' ('ABS' (BNI '-' BNI1)) ;
'TRAC' CHM_ER1 MOD1 ;
CHM_ER2 = 'KCHA' $DOMTOT 'CHAM' ('ABS' (ANI '-' ANI1)) ;
'TRAC' CHM_ER2 MOD1 ;
'FINSI' ;
ERR1 = 'MAXIMUM' (BNI '-' BNI1) 'ABS' ;
'SI' (ERR1 > ZERO) ;
'MESSAGE' 'Probleme en KONV' ;
'ERREUR' 5 ;
'FINSI' ;
ERR2 = 'MAXIMUM' (BNI '-' BNI1) 'ABS' ;
'SI' (ERR2 > ZERO) ;
'MESSAGE' 'Probleme en KONV' ;
'ERREUR' 5 ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer