* fichier : pret3D_dem.dgibi
**********************************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la solution des ****
**** Equations d'Euler pour un gaz parfait. ****
**** "Discrete Equation Method". ****
**** ****
**** OPERATEUR PRET ****
**** Operateur qui 'recontruit les variables primitives aux faces ****
**** "Discrete Equation Method". ****
**** Deuxieme ordre en espace, premier ordre en temps ****
**** Interieur et murs ****
**** Cas 3D ****
**** ****
**** A. BECCANTINI DEN/DM2S/SFME/LTMF DECEMBRE 2010 ****
**********************************************************************
'OPTION' 'DIME' 3 ;
'OPTION' 'ELEM' CUB8 ;
'OPTION' 'ECHO' 1 ;
'OPTION' 'TRAC' 'X' ;
*
*** GRAPH
*
GRAPH = VRAI ;
GRAPH = FAUX ;
*
***************************
***** DOMAINE SPATIAL ****
***************************
*
**** Deux carre
*
A1 = 0.0D0 0.0D0 0.0D0;
A2 = 1.0D0 0.0D0 0.0D0;
A3 = 2.0D0 0.0D0 0.0D0;
A4 = 2.0D0 1.0D0 0.0D0;
A5 = 1.0D0 1.0D0 0.0D0;
A6 = 0.0D0 1.0D0 0.0D0;
L12 = A1 'DROIT' 1 A2;
L23 = A2 'DROIT' 1 A3;
L34 = A3 'DROIT' 1 A4;
L45 = A4 'DROIT' 1 A5;
L56 = A5 'DROIT' 1 A6;
L61 = A6 'DROIT' 1 A1;
L25 = A2 'DROIT' 1 A5;
DOM100 = 'DALL' L12 L25 L56 L61
'PLANE';
DOM200 = 'DALL' L23 L34 L45 ('INVERSE' L25)
'PLANE';
DOM10 = DOM100 'VOLU' 1 'TRAN' (0.0 0.0 1.0);
DOM20 = DOM200 'VOLU' 1 'TRAN' (0.0 0.0 1.0);
*
*** Point face entre le deux carre, ou on fait les controlles
*
P10 = 1.0 0.5 0.5;
P20 = 0.5 0.0 0.0 ;
DOM1 = DOM10 ;
DOM2 = DOM20 ;
CHPF = 'MANUEL' 'CHPO' A2 'UX' 0.11 'UY' 0.13 'UZ' 0.15 ;
FORM CHPF ;
'ELIMINATION' (DOM1 ET DOM2) 1D-6;
DOM1 = 'TOURNER' DOM1 33. (-1.0 -1.0 0.0) (-1.0 -1.0 1.0) ;
DOM2 = 'TOURNER' DOM2 33. (-1.0 -1.0 0.0) (-1.0 -1.0 1.0) ;
DOM1 = 'TOURNER' DOM1 33. (-1.0 -1.0 -1.0) (1.0 -1.0 -1.0) ;
DOM2 = 'TOURNER' DOM2 33. (-1.0 -1.0 -1.0) (1.0 -1.0 -1.0) ;
'ELIMINATION' (DOM1 ET DOM2) 1D-6;
P10 = 'TOURNER' P10 33. (-1.0 -1.0 0.0) (-1.0 -1.0 1.0) ;
P20 = 'TOURNER' P20 33. (-1.0 -1.0 0.0) (-1.0 -1.0 1.0) ;
P10 = 'TOURNER' P10 33. (-1.0 -1.0 -1.0) (1.0 -1.0 -1.0) ;
P20 = 'TOURNER' P20 33. (-1.0 -1.0 -1.0) (1.0 -1.0 -1.0) ;
DOMTOT = DOM1 ET DOM2;
$DOMTOT = 'MODELISER' DOMTOT 'EULER';
$DOM1 = 'MODELISER' DOM1 'EULER';
$DOM2 = 'MODELISER' DOM2 'EULER';
TDOMTOT = 'DOMA' $DOMTOT 'VF';
TDOM1 = 'DOMA' $DOM1 'VF';
TDOM2 = 'DOMA' $DOM2 'VF';
MDOM1 = TDOM1 . 'QUAF' ;
MDOM2 = TDOM2 . 'QUAF' ;
MDOMTOT = TDOMTOT . 'QUAF' ;
'ELIMINATION' (MDOMTOT ET MDOM1) 0.0001 ;
'ELIMINATION' (MDOMTOT ET MDOM2) 0.0001 ;
'SI' GRAPH;
'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' ('DOMA' $DOMTOT 'FACEL')
'ET' P10) 'TITRE' 'Domaine et FACEL';
'FINSI' ;
*
*** Etats a gauche et a droite
*
*
al1g = 0.9 ; limgal1 = 0.11 ;
rn1g = 1.10 ; limgrn1 = 0.21 ;
ux1g = 130. ; limgux1 = 0.31 ;
uy1g = 111. ; limguy1 = 0.41 ;
uz1g = 121. ; limguz1 = 0.21 ;
pn1g = 1.13E5 ; limgpn1 = 0.51 ;
al2g = 0.1 ; limgal2 = 0.61 ;
rn2g = 1.21 ; limgrn2 = 0.71 ;
ux2g = 120. ; limgux2 = 0.81 ;
uy2g = 211. ; limguy2 = 0.13 ;
uz2g = 121. ; limguz2 = 0.12 ;
pn2g = 2.13E5 ; limgpn2 = 0.15 ;
xgragal1 = 11.0D-2 ; ygragal1 = 12.0D-2 ; zgragal1 = 13.0D-2 ;
xgragrn1 = 13.0D-1 ; ygragrn1 = 11.0D-1 ; zgragrn1 = 10.0D-1 ;
xgragux1 = 15.0 ; ygragux1 = 12.0 ; zgragux1 = 13.0 ;
xgraguy1 = 17.0 ; ygraguy1 = 19.0 ; zgraguy1 = 18.0 ;
xgraguz1 = 17.5 ; ygraguz1 = 19.3 ; zgraguz1 = 18.0 ;
xgragpn1 = 21.0D2 ; ygragpn1 = 21.2D2 ; zgragpn1 = 20.2D2 ;
xgragal2 = 31.0D-2 ; ygragal2 = 31.3D-2 ; zgragal2 = 32.3D-2 ;
xgragrn2 = 23.0D-1 ; ygragrn2 = 23.4D-1 ; zgragrn2 = 21.4D-1 ;
xgragux2 = 43.0 ; ygragux2 = 47.0 ; zgragux2 = 47.0 ;
xgraguy2 = 21.3 ; ygraguy2 = 24.3 ; zgraguy2 = 24.3 ;
xgraguz2 = 22.3 ; ygraguz2 = 14.3 ; zgraguz2 = 11.3 ;
xgragpn2 = 13.3D1 ; ygragpn2 = 15.3D1 ; zgragpn2 = 11.3D1 ;
al1d = 0.8 ; limdal1 = 0.17 ;
rn1d = 1.31 ; limdrn1 = 0.19 ;
ux1d = 230. ; limdux1 = 0.22 ;
uy1d = 431. ; limduy1 = 0.32 ;
uz1d = 331. ; limduz1 = 0.31 ;
pn1d = 1.31E5 ; limdpn1 = 0.42 ;
al2d = 0.2 ; limdal2 = 0.43 ;
rn2d = 1.11 ; limdrn2 = 0.44 ;
ux2d = 320. ; limdux2 = 0.56 ;
uy2d = 111. ; limduy2 = 0.57 ;
uz2d = 131. ; limduz2 = 0.53 ;
pn2d = 1.43E5 ; limdpn2 = 0.58 ;
xgradal1 = 11.0D-2 ; ygradal1 = 11.2D-2 ; zgradal1 = 21.2D-2 ;
xgradrn1 = 21.0D-1 ; ygradrn1 = 21.2D-1 ; zgradrn1 = 31.2D-1 ;
xgradux1 = 31.0 ; ygradux1 = 31.2 ; zgradux1 = 41.2 ;
xgraduy1 = 41.0 ; ygraduy1 = 41.3 ; zgraduy1 = 21.3 ;
xgraduz1 = 51.0 ; ygraduz1 = 21.3 ; zgraduz1 = 31.3 ;
xgradpn1 = 51.0D1 ; ygradpn1 = 51.2D1 ; zgradpn1 = 31.2D1 ;
xgradal2 = 12.0D-2 ; ygradal2 = 12.4D-2 ; zgradal2 = 11.4D-2 ;
xgradrn2 = 22.0D-1 ; ygradrn2 = 22.1D-1 ; zgradrn2 = 12.1D-1 ;
xgradux2 = 32.0 ; ygradux2 = 32.1 ; zgradux2 = 22.1 ;
xgraduy2 = 43.0 ; ygraduy2 = 43.3 ; zgraduy2 = 23.3 ;
xgraduz2 = 41.0 ; ygraduz2 = 43.3 ; zgraduz2 = 42.3 ;
xgradpn2 = 53.0D1 ; ygradpn2 = 53.3D1 ; zgradpn2 = 33.3D1 ;
ETATG = 'PROG' al1g rn1g ux1g uy1g uz1g pn1g
al2g rn2g ux2g uy2g uz2g pn2g ;
ETATD = 'PROG' al1d rn1d ux1d uy1d uz1d pn1d
al2d rn2d ux2d uy2d uz2d pn2d ;
P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P10;
P2 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P20;
'SI' GRAPH;
'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'
('MANUEL' 'POI1' P1 'COULEUR' 'ROUG') 'ET'
('MANUEL' 'POI1' P2 'COULEUR' 'ROUG'))
'TITRE' 'Domaine et points';
'FINSI' ;
GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
GEOP2 = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
**** La densité, la pression, la vitesse
AL1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' al1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' al1d) ;
AL2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' al2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' al2d) ;
GRADAL1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragal1 'P1DY' ygragal1 'P1DZ' zgragal1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradal1 'P1DY' ygradal1 'P1DZ' zgradal1)
;
GRADAL2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragal2 'P1DY' ygragal2 'P1DZ' zgragal2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradal2 'P1DY' ygradal2 'P1DZ' zgradal2)
;
LIMAL1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgal1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdal1) ;
LIMAL2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgal2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdal2) ;
RN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' rn1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' rn1d) ;
RN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' rn2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' rn2d) ;
GRADRN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragrn1 'P1DY' ygragrn1 'P1DZ' zgragrn1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradrn1 'P1DY' ygradrn1 'P1DZ' zgradrn1)
;
GRADRN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragrn2 'P1DY' ygragrn2 'P1DZ' zgragrn2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradrn2 'P1DY' ygradrn2 'P1DZ' zgradrn2)
;
LIMRN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgrn1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdrn1) ;
LIMRN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgrn2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdrn2) ;
PN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' pn1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' pn1d) ;
PN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL' pn2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL' pn2d) ;
GRADPN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragpn1 'P1DY' ygragpn1 'P1DZ' zgragpn1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradpn1 'P1DY' ygradpn1 'P1DZ' zgradpn1)
;
GRADPN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragpn2 'P1DY' ygragpn2 'P1DZ' zgragpn2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradpn2 'P1DY' ygradpn2 'P1DZ' zgradpn2)
;
LIMPN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgpn1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdpn1) ;
LIMPN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgpn2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdpn2) ;
UXN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UX' ux1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UX' ux1d) ;
UXN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UX' ux2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UX' ux2d) ;
GRADUX1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragux1 'P1DY' ygragux1 'P1DZ' zgragux1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradux1 'P1DY' ygradux1 'P1DZ' zgradux1)
;
GRADUX2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P1DX' xgragux2 'P1DY' ygragux2 'P1DZ' zgragux2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P1DX' xgradux2 'P1DY' ygradux2 'P1DZ' zgradux2)
;
LIMUX1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgux1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdux1) ;
LIMUX2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P1' limgux2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P1' limdux2) ;
UYN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UY' uy1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UY' uy1d) ;
UYN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UY' uy2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UY' uy2d) ;
GRADUY1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P2DX' xgraguy1 'P2DY' ygraguy1 'P2DZ' zgraguy1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P2DX' xgraduy1 'P2DY' ygraduy1 'P2DZ' zgraduy1)
;
GRADUY2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P2DX' xgraguy2 'P2DY' ygraguy2 'P2DZ' ygraguy2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P2DX' xgraduy2 'P2DY' ygraduy2 'P2DZ' zgraduy2)
;
LIMUY1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P2' limguy1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P2' limduy1) ;
LIMUY2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P2' limguy2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P2' limduy2) ;
UZN1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UZ' uz1g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UZ' uz1d) ;
UZN2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'UZ' uz2g) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'UZ' uz2d) ;
GRADUZ1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P3DX' xgraguz1 'P3DY' ygraguz1 'P3DZ' zgraguz1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P3DX' xgraduz1 'P3DY' ygraduz1 'P3DZ' zgraduz1)
;
GRADUZ2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 3
'P3DX' xgraguz2 'P3DY' ygraguz2 'P3DZ' ygraguz2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 3
'P3DX' xgraduz2 'P3DY' ygraduz2 'P3DZ' zgraduz2)
;
LIMUZ1 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P3' limguz1) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P3' limduz1) ;
LIMUZ2 = ('MANU' 'CHPO' (TDOM1 . 'CENTRE') 1 'P3' limguz2) '+'
('MANU' 'CHPO' (TDOM2 . 'CENTRE') 1 'P3' limduz2) ;
VN1 = UXN1 '+' UYN1 '+' UZN1 ;
VN2 = UXN2 '+' UYN2 '+' UZN2 ;
GRADVN1 = GRADUX1 '+' GRADUY1 '+' GRADUZ1 ;
GRADVN2 = GRADUX2 '+' GRADUY2 '+' GRADUZ2 ;
LIMVN1 = LIMUX1 '+' LIMUY1 '+' LIMUZ1 ;
LIMVN2 = LIMUX2 '+' LIMUY2 '+' LIMUZ2 ;
*************************************************************************
*** We check if the reconstruction degenerates to first order as the ****
*** gradients or the limiters are zero ****
*************************************************************************
AL1G0 AL2G0 RN1G0 RN2G0 VN1G0 VN2G0 PN1G0 PN2G0 =
'PRET' 'DEM' $DOMTOT
AL1 (0.0 * GRADAL1) LIMAL1
AL2 (0.0 * GRADAL2) LIMAL2
RN1 (0.0 * GRADRN1) LIMRN1
RN2 (0.0 * GRADRN2) LIMRN2
VN1 (0.0 * GRADVN1) LIMVN1
VN2 (0.0 * GRADVN2) LIMVN2
PN1 (0.0 * GRADPN1) LIMPN1
PN2 (0.0 * GRADPN2) LIMPN2
;
AL1L0 AL2L0 RN1L0 RN2L0 VN1L0 VN2L0 PN1L0 PN2L0 =
'PRET' 'DEM' $DOMTOT
AL1 GRADAL1 (0.0 * LIMAL1)
AL2 GRADAL2 (0.0 * LIMAL2)
RN1 GRADRN1 (0.0 * LIMRN1)
RN2 GRADRN2 (0.0 * LIMRN2)
VN1 GRADVN1 (0.0 * LIMVN1)
VN2 GRADVN2 (0.0 * LIMVN2)
PN1 GRADPN1 (0.0 * LIMPN1)
PN2 GRADPN2 (0.0 * LIMPN2)
;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (AL1G0 '-' AL1L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (AL2G0 '-' AL2L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (RN1G0 '-' RN1L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (RN2G0 '-' RN2L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (VN1G0 '-' VN1L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (VN2G0 '-' VN2L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (PN1G0 '-' PN1L0) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (PN2G0 '-' PN2L0) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Limiteur et gradients zero' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
*
*** Control des etats sur la surface qui contient P1
*
GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
GEP1F = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
AL1GEOP1 = 'REDU' AL1G0 GEOP1;
AL2GEOP1 = 'REDU' AL2G0 GEOP1;
RN1GEOP1 = 'REDU' RN1G0 GEOP1;
RN2GEOP1 = 'REDU' RN2G0 GEOP1;
PN1GEOP1 = 'REDU' PN1G0 GEOP1;
PN2GEOP1 = 'REDU' PN2G0 GEOP1;
VN1GEOP1 = 'REDU' VN1G0 GEOP1;
VN2GEOP1 = 'REDU' VN2G0 GEOP1;
TN1GEP1F = 'REDU' VN1G0 GEP1F;
TN2GEP1F = 'REDU' VN2G0 GEP1F;
al1gp1 = 'EXTRAIRE' AL1GEOP1 'SCAL' 1 1 1 ;
al1dp1 = 'EXTRAIRE' AL1GEOP1 'SCAL' 1 1 3 ;
al2gp1 = 'EXTRAIRE' AL2GEOP1 'SCAL' 1 1 1 ;
al2dp1 = 'EXTRAIRE' AL2GEOP1 'SCAL' 1 1 3 ;
rn1gp1 = 'EXTRAIRE' RN1GEOP1 'SCAL' 1 1 1 ;
rn1dp1 = 'EXTRAIRE' RN1GEOP1 'SCAL' 1 1 3 ;
rn2gp1 = 'EXTRAIRE' RN2GEOP1 'SCAL' 1 1 1 ;
rn2dp1 = 'EXTRAIRE' RN2GEOP1 'SCAL' 1 1 3 ;
pn1gp1 = 'EXTRAIRE' PN1GEOP1 'SCAL' 1 1 1 ;
pn1dp1 = 'EXTRAIRE' PN1GEOP1 'SCAL' 1 1 3 ;
pn2gp1 = 'EXTRAIRE' PN2GEOP1 'SCAL' 1 1 1 ;
pn2dp1 = 'EXTRAIRE' PN2GEOP1 'SCAL' 1 1 3 ;
un1gp1 = 'EXTRAIRE' VN1GEOP1 'UN ' 1 1 1 ;
un1dp1 = 'EXTRAIRE' VN1GEOP1 'UN ' 1 1 3 ;
un2gp1 = 'EXTRAIRE' VN2GEOP1 'UN ' 1 1 1 ;
un2dp1 = 'EXTRAIRE' VN2GEOP1 'UN ' 1 1 3 ;
ut1gp1 = 'EXTRAIRE' VN1GEOP1 'UT ' 1 1 1 ;
ut1dp1 = 'EXTRAIRE' VN1GEOP1 'UT ' 1 1 3 ;
ut2gp1 = 'EXTRAIRE' VN2GEOP1 'UT ' 1 1 1 ;
ut2dp1 = 'EXTRAIRE' VN2GEOP1 'UT ' 1 1 3 ;
uv1gp1 = 'EXTRAIRE' VN1GEOP1 'UV ' 1 1 1 ;
uv1dp1 = 'EXTRAIRE' VN1GEOP1 'UV ' 1 1 3 ;
uv2gp1 = 'EXTRAIRE' VN2GEOP1 'UV ' 1 1 1 ;
uv2dp1 = 'EXTRAIRE' VN2GEOP1 'UV ' 1 1 3 ;
nxp1 = 'EXTRAIRE' TN1GEP1F 'NX ' 1 1 1 ;
nyp1 = 'EXTRAIRE' TN1GEP1F 'NY ' 1 1 1 ;
nzp1 = 'EXTRAIRE' TN1GEP1F 'NZ ' 1 1 1 ;
txp1 = 'EXTRAIRE' TN1GEP1F 'TX ' 1 1 1 ;
typ1 = 'EXTRAIRE' TN1GEP1F 'TY ' 1 1 1 ;
tzp1 = 'EXTRAIRE' TN1GEP1F 'TZ ' 1 1 1 ;
vxp1 = 'EXTRAIRE' TN1GEP1F 'VX ' 1 1 1 ;
vyp1 = 'EXTRAIRE' TN1GEP1F 'VY ' 1 1 1 ;
vzp1 = 'EXTRAIRE' TN1GEP1F 'VZ ' 1 1 1 ;
ux1gp1 = (un1gp1 * nxp1) '+' (ut1gp1 * txp1)
'+' (uv1gp1 * vxp1) ;
uy1gp1 = (un1gp1 * nyp1) '+' (ut1gp1 * typ1)
'+' (uv1gp1 * vyp1) ;
uz1gp1 = (un1gp1 * nzp1) '+' (ut1gp1 * tzp1)
'+' (uv1gp1 * vzp1) ;
ux1dp1 = (un1dp1 * nxp1) '+' (ut1dp1 * txp1)
'+' (uv1dp1 * vxp1) ;
uy1dp1 = (un1dp1 * nyp1) '+' (ut1dp1 * typ1)
'+' (uv1dp1 * vyp1) ;
uz1dp1 = (un1dp1 * nzp1) '+' (ut1dp1 * tzp1)
'+' (uv1dp1 * vzp1) ;
ux2gp1 = (un2gp1 * nxp1) '+' (ut2gp1 * txp1)
'+' (uv2gp1 * vxp1) ;
uy2gp1 = (un2gp1 * nyp1) '+' (ut2gp1 * typ1)
'+' (uv2gp1 * vyp1) ;
uz2gp1 = (un2gp1 * nzp1) '+' (ut2gp1 * tzp1)
'+' (uv2gp1 * vzp1) ;
ux2dp1 = (un2dp1 * nxp1) '+' (ut2dp1 * txp1)
'+' (uv2dp1 * vxp1) ;
uy2dp1 = (un2dp1 * nyp1) '+' (ut2dp1 * typ1)
'+' (uv2dp1 * vyp1) ;
uz2dp1 = (un2dp1 * nzp1) '+' (ut2dp1 * tzp1)
'+' (uv2dp1 * vzp1) ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (TN1GEP1F '-' TN2GEP1F) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al1gp1 '-' al1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al1dp1 '-' al1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2gp1 '-' al2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2dp1 '-' al2d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1gp1 '-' rn1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1dp1 '-' rn1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2gp1 '-' rn2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2dp1 '-' rn2d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1gp1 '-' pn1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1dp1 '-' pn1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2gp1 '-' pn2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2dp1 '-' pn2d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux1gp1 '-' ux1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux1dp1 '-' ux1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux2gp1 '-' ux2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux2dp1 '-' ux2d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy1gp1 '-' uy1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy1dp1 '-' uy1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy2gp1 '-' uy2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy2dp1 '-' uy2d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz1gp1 '-' uz1g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz1dp1 '-' uz1d) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz2gp1 '-' uz2g) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz2dp1 '-' uz2d) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Limiteur et gradients zero' ;
'MESSAGE' 'Les etats' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
*
**** Wall
*
GEOP2 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P2;
GEP2F = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P2;
AL1GEOP2 = 'REDU' AL1G0 GEOP2;
AL2GEOP2 = 'REDU' AL2G0 GEOP2;
RN1GEOP2 = 'REDU' RN1G0 GEOP2;
RN2GEOP2 = 'REDU' RN2G0 GEOP2;
PN1GEOP2 = 'REDU' PN1G0 GEOP2;
PN2GEOP2 = 'REDU' PN2G0 GEOP2;
VN1GEOP2 = 'REDU' VN1G0 GEOP2;
VN2GEOP2 = 'REDU' VN2G0 GEOP2;
TN1GEP2F = 'REDU' VN1G0 GEP2F;
TN2GEP2F = 'REDU' VN2G0 GEP2F;
al1gp2 = 'EXTRAIRE' AL1GEOP2 'SCAL' 1 1 1 ;
al1dp2 = 'EXTRAIRE' AL1GEOP2 'SCAL' 1 1 3 ;
al2gp2 = 'EXTRAIRE' AL2GEOP2 'SCAL' 1 1 1 ;
al2dp2 = 'EXTRAIRE' AL2GEOP2 'SCAL' 1 1 3 ;
rn1gp2 = 'EXTRAIRE' RN1GEOP2 'SCAL' 1 1 1 ;
rn1dp2 = 'EXTRAIRE' RN1GEOP2 'SCAL' 1 1 3 ;
rn2gp2 = 'EXTRAIRE' RN2GEOP2 'SCAL' 1 1 1 ;
rn2dp2 = 'EXTRAIRE' RN2GEOP2 'SCAL' 1 1 3 ;
pn1gp2 = 'EXTRAIRE' PN1GEOP2 'SCAL' 1 1 1 ;
pn1dp2 = 'EXTRAIRE' PN1GEOP2 'SCAL' 1 1 3 ;
pn2gp2 = 'EXTRAIRE' PN2GEOP2 'SCAL' 1 1 1 ;
pn2dp2 = 'EXTRAIRE' PN2GEOP2 'SCAL' 1 1 3 ;
un1gp2 = 'EXTRAIRE' VN1GEOP2 'UN ' 1 1 1 ;
un1dp2 = 'EXTRAIRE' VN1GEOP2 'UN ' 1 1 3 ;
un2gp2 = 'EXTRAIRE' VN2GEOP2 'UN ' 1 1 1 ;
un2dp2 = 'EXTRAIRE' VN2GEOP2 'UN ' 1 1 3 ;
ut1gp2 = 'EXTRAIRE' VN1GEOP2 'UT ' 1 1 1 ;
ut1dp2 = 'EXTRAIRE' VN1GEOP2 'UT ' 1 1 3 ;
ut2gp2 = 'EXTRAIRE' VN2GEOP2 'UT ' 1 1 1 ;
ut2dp2 = 'EXTRAIRE' VN2GEOP2 'UT ' 1 1 3 ;
uv1gp2 = 'EXTRAIRE' VN1GEOP2 'UV ' 1 1 1 ;
uv1dp2 = 'EXTRAIRE' VN1GEOP2 'UV ' 1 1 3 ;
uv2gp2 = 'EXTRAIRE' VN2GEOP2 'UV ' 1 1 1 ;
uv2dp2 = 'EXTRAIRE' VN2GEOP2 'UV ' 1 1 3 ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ('MAXIMUM' (TN1GEP2F '-' TN2GEP2F) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al1gp2 '-' al1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2gp2 '-' al2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1gp2 '-' rn1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2gp2 '-' rn2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1gp2 '-' pn1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2gp2 '-' pn2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ut1gp2 '-' ut1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ut2gp2 '-' ut2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uv1gp2 '-' uv1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uv2gp2 '-' uv2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((un1gp2 '+' un1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((un2gp2 '+' un2dp2) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Limiteur et gradients zero' ;
'MESSAGE' 'Les etats (mur)' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
*****************************************************
*** We check if the second order reconstruction. ****
*****************************************************
AL1F AL2F RN1F RN2F VN1F VN2F PN1F PN2F =
'PRET' 'DEM' $DOMTOT
AL1 GRADAL1 LIMAL1
AL2 GRADAL2 LIMAL2
RN1 GRADRN1 LIMRN1
RN2 GRADRN2 LIMRN2
VN1 GRADVN1 LIMVN1
VN2 GRADVN2 LIMVN2
PN1 GRADPN1 LIMPN1
PN2 GRADPN2 LIMPN2
;
*** Internal point
GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
GEP1F = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
AL1GEOP1 = 'REDU' AL1F GEOP1;
AL2GEOP1 = 'REDU' AL2F GEOP1;
RN1GEOP1 = 'REDU' RN1F GEOP1;
RN2GEOP1 = 'REDU' RN2F GEOP1;
PN1GEOP1 = 'REDU' PN1F GEOP1;
PN2GEOP1 = 'REDU' PN2F GEOP1;
VN1GEOP1 = 'REDU' VN1F GEOP1;
VN2GEOP1 = 'REDU' VN2F GEOP1;
TN1GEP1F = 'REDU' VN1F GEP1F;
TN2GEP1F = 'REDU' VN2F GEP1F;
al1gp1 = 'EXTRAIRE' AL1GEOP1 'SCAL' 1 1 1 ;
al1dp1 = 'EXTRAIRE' AL1GEOP1 'SCAL' 1 1 3 ;
al2gp1 = 'EXTRAIRE' AL2GEOP1 'SCAL' 1 1 1 ;
al2dp1 = 'EXTRAIRE' AL2GEOP1 'SCAL' 1 1 3 ;
rn1gp1 = 'EXTRAIRE' RN1GEOP1 'SCAL' 1 1 1 ;
rn1dp1 = 'EXTRAIRE' RN1GEOP1 'SCAL' 1 1 3 ;
rn2gp1 = 'EXTRAIRE' RN2GEOP1 'SCAL' 1 1 1 ;
rn2dp1 = 'EXTRAIRE' RN2GEOP1 'SCAL' 1 1 3 ;
pn1gp1 = 'EXTRAIRE' PN1GEOP1 'SCAL' 1 1 1 ;
pn1dp1 = 'EXTRAIRE' PN1GEOP1 'SCAL' 1 1 3 ;
pn2gp1 = 'EXTRAIRE' PN2GEOP1 'SCAL' 1 1 1 ;
pn2dp1 = 'EXTRAIRE' PN2GEOP1 'SCAL' 1 1 3 ;
un1gp1 = 'EXTRAIRE' VN1GEOP1 'UN ' 1 1 1 ;
un1dp1 = 'EXTRAIRE' VN1GEOP1 'UN ' 1 1 3 ;
un2gp1 = 'EXTRAIRE' VN2GEOP1 'UN ' 1 1 1 ;
un2dp1 = 'EXTRAIRE' VN2GEOP1 'UN ' 1 1 3 ;
ut1gp1 = 'EXTRAIRE' VN1GEOP1 'UT ' 1 1 1 ;
ut1dp1 = 'EXTRAIRE' VN1GEOP1 'UT ' 1 1 3 ;
ut2gp1 = 'EXTRAIRE' VN2GEOP1 'UT ' 1 1 1 ;
ut2dp1 = 'EXTRAIRE' VN2GEOP1 'UT ' 1 1 3 ;
uv1gp1 = 'EXTRAIRE' VN1GEOP1 'UV ' 1 1 1 ;
uv1dp1 = 'EXTRAIRE' VN1GEOP1 'UV ' 1 1 3 ;
uv2gp1 = 'EXTRAIRE' VN2GEOP1 'UV ' 1 1 1 ;
uv2dp1 = 'EXTRAIRE' VN2GEOP1 'UV ' 1 1 3 ;
nxp1 = 'EXTRAIRE' TN1GEP1F 'NX ' 1 1 1 ;
nyp1 = 'EXTRAIRE' TN1GEP1F 'NY ' 1 1 1 ;
nzp1 = 'EXTRAIRE' TN1GEP1F 'NZ ' 1 1 1 ;
txp1 = 'EXTRAIRE' TN1GEP1F 'TX ' 1 1 1 ;
typ1 = 'EXTRAIRE' TN1GEP1F 'TY ' 1 1 1 ;
tzp1 = 'EXTRAIRE' TN1GEP1F 'TZ ' 1 1 1 ;
vxp1 = 'EXTRAIRE' TN1GEP1F 'VX ' 1 1 1 ;
vyp1 = 'EXTRAIRE' TN1GEP1F 'VY ' 1 1 1 ;
vzp1 = 'EXTRAIRE' TN1GEP1F 'VZ ' 1 1 1 ;
ux1gp1 = (un1gp1 * nxp1) '+' (ut1gp1 * txp1) '+' (uv1gp1 * vxp1) ;
uy1gp1 = (un1gp1 * nyp1) '+' (ut1gp1 * typ1) '+' (uv1gp1 * vyp1) ;
uz1gp1 = (un1gp1 * nzp1) '+' (ut1gp1 * tzp1) '+' (uv1gp1 * vzp1) ;
ux1dp1 = (un1dp1 * nxp1) '+' (ut1dp1 * txp1) '+' (uv1dp1 * vxp1) ;
uy1dp1 = (un1dp1 * nyp1) '+' (ut1dp1 * typ1) '+' (uv1dp1 * vyp1) ;
uz1dp1 = (un1dp1 * nzp1) '+' (ut1dp1 * tzp1) '+' (uv1dp1 * vzp1) ;
ux2gp1 = (un2gp1 * nxp1) '+' (ut2gp1 * txp1) '+' (uv2gp1 * vxp1) ;
uy2gp1 = (un2gp1 * nyp1) '+' (ut2gp1 * typ1) '+' (uv2gp1 * vyp1) ;
uz2gp1 = (un2gp1 * nzp1) '+' (ut2gp1 * tzp1) '+' (uv2gp1 * vzp1) ;
ux2dp1 = (un2dp1 * nxp1) '+' (ut2dp1 * txp1) '+' (uv2dp1 * vxp1) ;
uy2dp1 = (un2dp1 * nyp1) '+' (ut2dp1 * typ1) '+' (uv2dp1 * vyp1) ;
uz2dp1 = (un2dp1 * nzp1) '+' (ut2dp1 * tzp1) '+' (uv2dp1 * vzp1) ;
* Selection of the left and the right state
MAICEN = 'DIFF' ('CHANGER' 'POI1' GEOP1) GEP1F ;
'SI' (('NBNO' MAICEN) 'NEG' 2) ;
'MESSAGE' 'Probleme en maicen' ;
'ERREUR' 5 ;
'FINSI' ;
PC1 = 'POIN' 1 MAICEN ;
PC2 = 'POIN' 2 MAICEN ;
DXPC1 = ('COORDONNEE' 1 P1) '-' ('COORDONNEE' 1 PC1) ;
DYPC1 = ('COORDONNEE' 2 P1) '-' ('COORDONNEE' 2 PC1) ;
DZPC1 = ('COORDONNEE' 3 P1) '-' ('COORDONNEE' 3 PC1) ;
DXPC2 = ('COORDONNEE' 1 P1) '-' ('COORDONNEE' 1 PC2) ;
DYPC2 = ('COORDONNEE' 2 P1) '-' ('COORDONNEE' 2 PC2) ;
DZPC2 = ('COORDONNEE' 3 P1) '-' ('COORDONNEE' 3 PC2) ;
PSPC1 = (DXPC1 * nxp1) '+' (DYPC1 * nyp1) '+' (DZPC1 * nzp1) ;
PSPC2 = (DXPC2 * nxp1) '+' (DYPC2 * nyp1) '+' (DZPC2 * nzp1) ;
LOG1 = (PSPC1 > 0.0) 'ET' (PSPC2 < 0.0) ;
'SI' LOG1 ;
PG = PC1 ;
DXG = DXPC1 ;
DYG = DYPC1 ;
DZG = DZPC1 ;
PD = PC2 ;
DXD = DXPC2 ;
DYD = DYPC2 ;
DZD = DZPC2 ;
'FINSI' ;
LOG2 = (PSPC1 < 0.0) 'ET' (PSPC2 > 0.0) ;
'SI' LOG2 ;
PG = PC2 ;
DXG = DXPC2 ;
DYG = DYPC2 ;
DZG = DZPC2 ;
PD = PC1 ;
DXD = DXPC1 ;
DYD = DYPC1 ;
DZD = DZPC1 ;
'FINSI' ;
'SI' (('NON' LOG1) 'ET' ('NON' LOG2)) ;
'MESSAGE' 'Probleme en facel' ;
'ERREUR' 5 ;
'FINSI' ;
al1gn = ('EXTRAIRE' AL1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADAL1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADAL1 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADAL1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMAL1 'P1' PG)) ;
al2gn = ('EXTRAIRE' AL2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADAL2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADAL2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADAL2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMAL2 'P1' PG)) ;
rn1gn = ('EXTRAIRE' RN1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADRN1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADRN1 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADRN1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMRN1 'P1' PG)) ;
rn2gn = ('EXTRAIRE' RN2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADRN2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADRN2 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADRN2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMRN2 'P1' PG)) ;
pn1gn = ('EXTRAIRE' PN1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADPN1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADPN1 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADPN1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMPN1 'P1' PG)) ;
pn2gn = ('EXTRAIRE' PN2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADPN2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADPN2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADPN2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMPN2 'P1' PG)) ;
ux1gn = ('EXTRAIRE' VN1 'UX ' PG) '+' (
(
(('EXTRAIRE' GRADUX1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUX1 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADUX1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUX1 'P1' PG)) ;
ux2gn = ('EXTRAIRE' VN2 'UX ' PG) '+' (
(
(('EXTRAIRE' GRADUX2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUX2 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADUX2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUX2 'P1' PG)) ;
uy1gn = ('EXTRAIRE' VN1 'UY ' PG) '+' (
(
(('EXTRAIRE' GRADUY1 'P2DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUY1 'P2DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUY1 'P2DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUY1 'P2' PG)) ;
uy2gn = ('EXTRAIRE' VN2 'UY ' PG) '+' (
(
(('EXTRAIRE' GRADUY2 'P2DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUY2 'P2DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUY2 'P2DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUY2 'P2' PG)) ;
uz1gn = ('EXTRAIRE' VN1 'UZ ' PG) '+' (
(
(('EXTRAIRE' GRADUZ1 'P3DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUZ1 'P3DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUZ1 'P3DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUZ1 'P3' PG)) ;
uz2gn = ('EXTRAIRE' VN2 'UZ ' PG) '+' (
(
(('EXTRAIRE' GRADUZ2 'P3DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUZ2 'P3DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUZ2 'P3DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUZ2 'P3' PG)) ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ((al1gp1 '-' al1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2gp1 '-' al2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1gp1 '-' rn1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2gp1 '-' rn2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1gp1 '-' pn1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2gp1 '-' pn2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux1gp1 '-' ux1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux2gp1 '-' ux2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy1gp1 '-' uy1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy2gp1 '-' uy2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz1gp1 '-' uz1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz2gp1 '-' uz2gn) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Deuxieme ordre' ;
'MESSAGE' 'Les etats gauches' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
al1dn = ('EXTRAIRE' AL1 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADAL1 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADAL1 'P1DY' PD) * DYD)'+'
(('EXTRAIRE' GRADAL1 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMAL1 'P1' PD)) ;
al2dn = ('EXTRAIRE' AL2 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADAL2 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADAL2 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADAL2 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMAL2 'P1' PD)) ;
rn1dn = ('EXTRAIRE' RN1 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADRN1 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADRN1 'P1DY' PD) * DYD)'+'
(('EXTRAIRE' GRADRN1 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMRN1 'P1' PD)) ;
rn2dn = ('EXTRAIRE' RN2 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADRN2 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADRN2 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADRN2 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMRN2 'P1' PD)) ;
pn1dn = ('EXTRAIRE' PN1 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADPN1 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADPN1 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADPN1 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMPN1 'P1' PD)) ;
pn2dn = ('EXTRAIRE' PN2 'SCAL' PD) '+' (
(
(('EXTRAIRE' GRADPN2 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADPN2 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADPN2 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMPN2 'P1' PD)) ;
ux1dn = ('EXTRAIRE' VN1 'UX ' PD) '+' (
(
(('EXTRAIRE' GRADUX1 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUX1 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUX1 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUX1 'P1' PD)) ;
ux2dn = ('EXTRAIRE' VN2 'UX ' PD) '+' (
(
(('EXTRAIRE' GRADUX2 'P1DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUX2 'P1DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUX2 'P1DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUX2 'P1' PD)) ;
uy1dn = ('EXTRAIRE' VN1 'UY ' PD) '+' (
(
(('EXTRAIRE' GRADUY1 'P2DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUY1 'P2DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUY1 'P2DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUY1 'P2' PD)) ;
uy2dn = ('EXTRAIRE' VN2 'UY ' PD) '+' (
(
(('EXTRAIRE' GRADUY2 'P2DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUY2 'P2DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUY2 'P2DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUY2 'P2' PD)) ;
uz1dn = ('EXTRAIRE' VN1 'UZ ' PD) '+' (
(
(('EXTRAIRE' GRADUZ1 'P3DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUZ1 'P3DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUZ1 'P3DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUZ1 'P3' PD)) ;
uz2dn = ('EXTRAIRE' VN2 'UZ ' PD) '+' (
(
(('EXTRAIRE' GRADUZ2 'P3DX' PD) * DXD) '+'
(('EXTRAIRE' GRADUZ2 'P3DY' PD) * DYD) '+'
(('EXTRAIRE' GRADUZ2 'P3DZ' PD) * DZD)
) * ('EXTRAIRE' LIMUZ2 'P3' PD)) ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ((al1dp1 '-' al1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2dp1 '-' al2dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1dp1 '-' rn1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2dp1 '-' rn2dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1dp1 '-' pn1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2dp1 '-' pn2dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux1dp1 '-' ux1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux2dp1 '-' ux2dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy1dp1 '-' uy1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy2dp1 '-' uy2dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz1dp1 '-' uz1dn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uz2dp1 '-' uz2dn) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Deuxieme ordre' ;
'MESSAGE' 'Les etats droites' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
*** Wall point
GEOP2 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P2;
GEP2F = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P2;
'SI' GRAPH ;
'TRACER' (DOMTOT 'ET' ('MANUEL' 'POI1' P2 'COULEUR' 'ROUG'))
'TITRE' 'Wall' ;
'FINSI' ;
AL1GEOP2 = 'REDU' AL1F GEOP2;
AL2GEOP2 = 'REDU' AL2F GEOP2;
RN1GEOP2 = 'REDU' RN1F GEOP2;
RN2GEOP2 = 'REDU' RN2F GEOP2;
PN1GEOP2 = 'REDU' PN1F GEOP2;
PN2GEOP2 = 'REDU' PN2F GEOP2;
VN1GEOP2 = 'REDU' VN1F GEOP2;
VN2GEOP2 = 'REDU' VN2F GEOP2;
TN1GEP2F = 'REDU' VN1F GEP2F;
TN2GEP2F = 'REDU' VN2F GEP2F;
al1gp2 = 'EXTRAIRE' AL1GEOP2 'SCAL' 1 1 1 ;
al1dp2 = 'EXTRAIRE' AL1GEOP2 'SCAL' 1 1 3 ;
al2gp2 = 'EXTRAIRE' AL2GEOP2 'SCAL' 1 1 1 ;
al2dp2 = 'EXTRAIRE' AL2GEOP2 'SCAL' 1 1 3 ;
rn1gp2 = 'EXTRAIRE' RN1GEOP2 'SCAL' 1 1 1 ;
rn1dp2 = 'EXTRAIRE' RN1GEOP2 'SCAL' 1 1 3 ;
rn2gp2 = 'EXTRAIRE' RN2GEOP2 'SCAL' 1 1 1 ;
rn2dp2 = 'EXTRAIRE' RN2GEOP2 'SCAL' 1 1 3 ;
pn1gp2 = 'EXTRAIRE' PN1GEOP2 'SCAL' 1 1 1 ;
pn1dp2 = 'EXTRAIRE' PN1GEOP2 'SCAL' 1 1 3 ;
pn2gp2 = 'EXTRAIRE' PN2GEOP2 'SCAL' 1 1 1 ;
pn2dp2 = 'EXTRAIRE' PN2GEOP2 'SCAL' 1 1 3 ;
un1gp2 = 'EXTRAIRE' VN1GEOP2 'UN ' 1 1 1 ;
un1dp2 = 'EXTRAIRE' VN1GEOP2 'UN ' 1 1 3 ;
un2gp2 = 'EXTRAIRE' VN2GEOP2 'UN ' 1 1 1 ;
un2dp2 = 'EXTRAIRE' VN2GEOP2 'UN ' 1 1 3 ;
ut1gp2 = 'EXTRAIRE' VN1GEOP2 'UT ' 1 1 1 ;
ut1dp2 = 'EXTRAIRE' VN1GEOP2 'UT ' 1 1 3 ;
ut2gp2 = 'EXTRAIRE' VN2GEOP2 'UT ' 1 1 1 ;
ut2dp2 = 'EXTRAIRE' VN2GEOP2 'UT ' 1 1 3 ;
uv1gp2 = 'EXTRAIRE' VN1GEOP2 'UV ' 1 1 1 ;
uv1dp2 = 'EXTRAIRE' VN1GEOP2 'UV ' 1 1 3 ;
uv2gp2 = 'EXTRAIRE' VN2GEOP2 'UV ' 1 1 1 ;
uv2dp2 = 'EXTRAIRE' VN2GEOP2 'UV ' 1 1 3 ;
nxp2 = 'EXTRAIRE' TN1GEP2F 'NX ' 1 1 1 ;
nyp2 = 'EXTRAIRE' TN1GEP2F 'NY ' 1 1 1 ;
nzp2 = 'EXTRAIRE' TN1GEP2F 'NZ ' 1 1 1 ;
txp2 = 'EXTRAIRE' TN1GEP2F 'TX ' 1 1 1 ;
typ2 = 'EXTRAIRE' TN1GEP2F 'TY ' 1 1 1 ;
tzp2 = 'EXTRAIRE' TN1GEP2F 'TZ ' 1 1 1 ;
vxp2 = 'EXTRAIRE' TN1GEP2F 'VX ' 1 1 1 ;
vyp2 = 'EXTRAIRE' TN1GEP2F 'VY ' 1 1 1 ;
vzp2 = 'EXTRAIRE' TN1GEP2F 'VZ ' 1 1 1 ;
ux1gp2 = (un1gp2 * nxp2) '+' (ut1gp2 * txp2) '+' (uv1gp2 * vxp2) ;
uy1gp2 = (un1gp2 * nyp2) '+' (ut1gp2 * typ2) '+' (uv1gp2 * vyp2) ;
uz1gp2 = (un1gp2 * nzp2) '+' (ut1gp2 * tzp2) '+' (uv1gp2 * vzp2) ;
ux2gp2 = (un2gp2 * nxp2) '+' (ut2gp2 * txp2) '+' (uv2gp2 * vxp2) ;
uy2gp2 = (un2gp2 * nyp2) '+' (ut2gp2 * typ2) '+' (uv2gp2 * vyp2) ;
uz2gp2 = (un2gp2 * nzp2) '+' (ut2gp2 * tzp2) '+' (uv2gp2 * vzp2) ;
* Selection of the left and the right state
MAICEN = 'DIFF' ('CHANGER' 'POI1' GEOP2) GEP2F ;
'SI' (('NBNO' MAICEN) 'NEG' 1) ;
'MESSAGE' 'Probleme en maicen' ;
'ERREUR' 5 ;
'FINSI' ;
PC1 = 'POIN' 1 MAICEN ;
DXPC1 = ('COORDONNEE' 1 P2) '-' ('COORDONNEE' 1 PC1) ;
DYPC1 = ('COORDONNEE' 2 P2) '-' ('COORDONNEE' 2 PC1) ;
DZPC1 = ('COORDONNEE' 3 P2) '-' ('COORDONNEE' 3 PC1) ;
PSPC1 = (DXPC1 * nxp2) '+' (DYPC1 * nyp2)
'+' (DZPC1 * nzp2) ;
LOG1 = (PSPC1 > 0.0) ;
'SI' LOG1 ;
PG = PC1 ;
DXG = DXPC1 ;
DYG = DYPC1 ;
DZG = DZPC1 ;
'FINSI' ;
'SI' (('NON' LOG1)) ;
'MESSAGE' 'Probleme en facel' ;
'ERREUR' 5 ;
'FINSI' ;
al1gn = ('EXTRAIRE' AL1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADAL1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADAL1 'P1DY' PG) * DYG)'+'
(('EXTRAIRE' GRADAL1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMAL1 'P1' PG)) ;
al2gn = ('EXTRAIRE' AL2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADAL2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADAL2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADAL2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMAL2 'P1' PG)) ;
rn1gn = ('EXTRAIRE' RN1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADRN1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADRN1 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADRN1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMRN1 'P1' PG)) ;
rn2gn = ('EXTRAIRE' RN2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADRN2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADRN2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADRN2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMRN2 'P1' PG)) ;
pn1gn = ('EXTRAIRE' PN1 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADPN1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADPN1 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADPN1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMPN1 'P1' PG)) ;
pn2gn = ('EXTRAIRE' PN2 'SCAL' PG) '+' (
(
(('EXTRAIRE' GRADPN2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADPN2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADPN2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMPN2 'P1' PG)) ;
ux1gn = ('EXTRAIRE' VN1 'UX ' PG) '+' (
(
(('EXTRAIRE' GRADUX1 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUX1 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUX1 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUX1 'P1' PG)) ;
ux2gn = ('EXTRAIRE' VN2 'UX ' PG) '+' (
(
(('EXTRAIRE' GRADUX2 'P1DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUX2 'P1DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUX2 'P1DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUX2 'P1' PG)) ;
uy1gn = ('EXTRAIRE' VN1 'UY ' PG) '+' (
(
(('EXTRAIRE' GRADUY1 'P2DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUY1 'P2DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUY1 'P2DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUY1 'P2' PG)) ;
uy2gn = ('EXTRAIRE' VN2 'UY ' PG) '+' (
(
(('EXTRAIRE' GRADUY2 'P2DX' PG) * DXG) '+'
(('EXTRAIRE' GRADUY2 'P2DY' PG) * DYG) '+'
(('EXTRAIRE' GRADUY2 'P2DZ' PG) * DZG)
) * ('EXTRAIRE' LIMUY2 'P2' PG)) ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ((al1gp2 '-' al1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2gp2 '-' al2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1gp2 '-' rn1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2gp2 '-' rn2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1gp2 '-' pn1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2gp2 '-' pn2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux1gp2 '-' ux1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ux2gp2 '-' ux2gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy1gp2 '-' uy1gn) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((uy2gp2 '-' uy2gn) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Deuxieme ordre' ;
'MESSAGE' 'Les etats gauches au mur' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
ERRO = 'PROG' ;
ERRO = ERRO 'ET' ('PROG' ((al1gp2 '-' al1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((al2gp2 '-' al2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn1gp2 '-' rn1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((rn2gp2 '-' rn2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn1gp2 '-' pn1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((pn2gp2 '-' pn2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((un1gp2 '+' un1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((un2gp2 '+' un2dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ut1gp2 '-' ut1dp2) 'ABS'));
ERRO = ERRO 'ET' ('PROG' ((ut2gp2 '-' ut2dp2) 'ABS'));
ERRO = 'MAXIMUM' ERRO 'ABS' ;
'SI' (ERRO > 1.0D-12) ;
'MESSAGE' 'Deuxieme ordre' ;
'MESSAGE' 'Les etats gauches au mur' ;
'MESSAGE' 'Erreur trop importante' ;
'MESSAGE' ('CHAINE' 'erro = ' ERRO) ;
'ERREUR' 5 ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer