* fichier : konvaxi.dgibi
************************************************************************
************************************************************************
**** Finite Volume, "Cell-Centred Formulation". ****
**** 'MODE' 'AXIS' ****
**** We check that 3D axis-symmetrical = 2D 'MODE' 'AXIS' ****
**** Operateurs 'KONV' et ('FIMP' 'VF' 'AXIS) ****
**** ****
**** A. BECCANTINI, LTMF FEBRUARY 2004 ****
************************************************************************
************************************************************************
*
GRAPH = FAUX ;
*
**** Nothing from here
*
'SI' FAUX ;
*
**** Till here
*
'FINSI' ;
*
*****************************
**** QUA4 and TRI3 **********
*****************************
*
* Axi
*
'OPTION' 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'AXIS' ;
*
P1 = 0.9 1.01 ;
P2 = 2.1 0.99 ;
P3 = 3.2 1.01 ;
P6 = 1.1 1.99 ;
P5 = 1.9 1.99 ;
P4 = 3.0 2.01 ;
*
DX = 0.5 ;
*
MAIL = ('MANUEL' 'QUA4' P1 P2 P5 P6) 'ET'
('MANUEL' 'QUA4' P2 P3 P4 P5) ;
'SI' GRAPH ;
'TRACER' MAIL 'TITR' 'Maillage 2D' ;
'FINSI' ;
*
MODM = 'MODELISER' MAIL 'EULER' ;
TABM = 'DOMA' MODM 'VF' ;
QMAIL = TABM . 'QUAF' ;
PCEN1 = 'POIN' 1 (TABM . 'CENTRE') ;
PCEN2 = 'POIN' 2 (TABM . 'CENTRE') ;
*
* We compute the flux at the interfaces
*
GAMN = 'MANUEL' 'CHPO' (TABM . 'CENTRE') 1 'SCAL' 1.4 ;
RN = 'BRUI' 'BLAN' 'UNIF' 1.0 1.0D-1 (TABM . 'CENTRE') ;
PN = 'BRUI' 'BLAN' 'UNIF' 1.0 1.0D-1 (TABM . 'CENTRE') ;
UX = 'BRUI' 'BLAN' 'UNIF' 0.3 1.0D-1 (TABM . 'CENTRE') ;
UY = 'BRUI' 'BLAN' 'UNIF' 0.3 1.0D-1 (TABM . 'CENTRE') ;
UN = ('NOMC' 'UX' UX) '+' ('NOMC' 'UY' UY) ;
RU = RN '*' UN ;
RECIN = 0.5D0 '*'
('PSCAL' RU RU ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')) ;
RECIN = RECIN '/' RN ;
REIN = PN '/' (GAMN '-' 1.0) ;
REN = REIN '+' RECIN ;
*
* UN PN1 = 'PRIM' 'PERFMONO' RN RU REN GAMN ;
* 'LISTE' ('MAXIMUM' (PN '-' PN1) 'ABS') ;
ROF VITF PF GAMF = 'PRET' 'PERFMONO' 1 1 MODM RN UN PN GAMN ;
LISTINCO = ('MOTS' 'RN' 'RUNX' 'RUNY' 'RETN') ;
CHPFLU DT = 'KONV' 'VF' 'PERFMONO' 'FLUX' 'VLH'
MODM ROF VITF PF GAMF LISTINCO ;
RESI DT = 'KONV' 'VF' 'PERFMONO' 'RESI' 'VLH'
MODM ROF VITF PF GAMF LISTINCO ;
GRADP = 'MANUEL' 'CHPO' (TABM . 'CENTRE') 2 'P1DX' 0.0
'P1DY' 0.0 ;
ALP = 'MANUEL' 'CHPO' (TABM . 'CENTRE') 1 'P1' 0.0 ;
RESIP = 'FIMP' 'VF' 'AXIS' 'RESI' MODM
('MOTS' 'RN' 'RUNX' 'RUNY' 'RETN') PN GRADP ALP ;
RESI = RESI '+' RESIP ;
* FGEO = (TABM . 'XXSUR2D') '/' (TABM . 'XXVOLUM') ;
* RESI = RESI '+' ('NOMC' 'RUNX' (PN '*' FGEO)) ;
*
*** 3D
*
'OPTION' 'DIME' 3 'ELEM' 'CUB8' 'MODE' 'PLAN' ;
LISTINC2 = ('MOTS' 'RN' 'RUNX' 'RUNY' 'RUNZ' 'RETN') ;
LISTTH = 'PROG' 10 5 2.5 1.25 ;
LISTER = 'PROG' ;
LISTPRE = 'PROG' ;
LISTRES = 'PROG' ;
'REPETER' BLTH ('DIME' LISTTH) ;
TH = ('EXTRAIRE' LISTTH &BLTH) ;
SUR1 = MAIL 'TOURNER' (-0.5 * TH)
(0.0 0.0 0.0) (0.0 1.0 0.0) ;
SUR2 = MAIL 'TOURNER' (0.5 * TH)
(0.0 0.0 0.0) (0.0 1.0 0.0) ;
MAIL2 = 'VOLU' SUR1 1 SUR2 ;
MODM2 = 'MODELISER' MAIL2 'EULER' ;
TABM2 = 'DOMA' MODM2 'VF' ;
QMAIL2 = TABM2 . 'QUAF' ;
NN1 = 'NBNO' ((TABM2 . 'CENTRE') 'ET' (TABM . 'CENTRE')) ;
NN2 = 'NBNO' ((TABM2 . 'FACE') 'ET' (TABM . 'FACE')) ;
'ELIMINATION' (TABM2 . 'CENTRE') (DX '/' 5) (TABM . 'CENTRE') ;
'ELIMINATION' (TABM2 . 'FACE') (DX '/' 5) (TABM . 'FACE') ;
NN3 = 'NBNO' ((TABM2 . 'CENTRE') 'ET' (TABM . 'CENTRE')) ;
NN4 = 'NBNO' ((TABM2 . 'FACE') 'ET' (TABM . 'FACE')) ;
'SI' ((NN1 '-' NN3) 'NEG' 2) ;
'ERREUR' 'Probleme axi 1' ;
'FINSI' ;
'SI' ((NN2 '-' NN4) 'NEG' 7) ;
'ERREUR' 'Probleme axi 2' ;
'FINSI' ;
UN2 = UN '+' ('MANUEL' 'CHPO' (TABM2 . 'CENTRE') 1 'UZ' 0.0) ;
RUN2 = RN '*' UN2 ;
* UN PN1 = 'PRIM' 'PERFMONO' RN RUN2 REN GAMN ;
* 'LISTE' ('MAXIMUM' (PN '-' PN1) 'ABS') ;
ROF2 VITF2 PF2 GAMF2 = 'PRET' 'PERFMONO' 1 1 MODM2 RN UN2 PN
GAMN ;
CHPFLU2 DT2 = 'KONV' 'VF' 'PERFMONO' 'FLUX' 'VLH'
MODM2 ROF2 VITF2 PF2 GAMF2 LISTINC2 ;
RESI2 DT2 = 'KONV' 'VF' 'PERFMONO' 'RESI' 'VLH'
MODM2 ROF2 VITF2 PF2 GAMF2 LISTINC2 ;
* Normal orientation is the same???
AA = 'REDU' (TABM2 . 'XXNORMAF') (TABM . 'FACE') ;
ORIENT = 'PSCAL' AA (TABM . 'XXNORMAF') ('MOTS' 'UX' 'UY')
('MOTS' 'UX' 'UY') ;
* 'LISTE' ORIENT ;
BB = ('REDU' CHPFLU2 (TABM . 'FACE')) '*' ORIENT '/'
((TH '*' PI) '/' 180.) ;
ERRO = 'MAXIMUM' (BB '-' CHPFLU) 'ABS' ;
LISTER = LISTER 'ET' ('PROG' ERRO) ;
*
* The flux on the FACES not belonging to the 2D
*
AFAC = 'DIFF' (TABM2 . 'FACE') (TABM . 'FACE') ;
NN = 'NBEL' AFAC ;
'SI' (NN 'NEG' 4) ;
'ERREUR' 'Probleme axi 3' ;
'FINSI' ;
*
AFA1 = ('COORDONNEE' 3 AFAC) 'POIN' 'SUPERIEUR' 0.0 ;
AFA2 = ('COORDONNEE' 3 AFAC) 'POIN' 'INFERIEUR' 0.0 ;
NN1 = 'NBNO' AFA1 ;
NN2 = 'NBNO' AFA2 ;
'SI' (NN1 'NEG' NN2) ;
'ERREUR' 'Probleme axi 4' ;
'FINSI' ;
'DEPLACER' AFA1 'TOURNER' TH
(0.0 0.0 0.0) (0.0 1.0 0.0) ;
AA = AFA1 'ET' AFA2 ;
'ELIMINATION' AA (DX '/' 10) ;
AA = AFA1 'ET' AFA2 ;
AA = 'CHANGER' AA 'POI1' ;
NN2 = 'NBNO' AA ;
'SI' (NN1 'NEG' NN2) ;
'ERREUR' 'Probleme axi 5' ;
'FINSI' ;
BB = 'REDU' CHPFLU2 AA ;
CC = 'MAXIMUM' BB 'ABS' 'AVEC' ('MOTS' 'RN' 'RUNY' 'RUNZ' 'RETN') ;
'SI' (CC > 1.0D-6) ;
'ERREUR' 'Probleme axi 7' ;
'FINSI' ;
CC = (-1 '*' ('EXCO' BB 'RUNX')) '/' ((TH * PI) '/' 180) ;
POI1 = 'POIN' 1 (('COORDONNEE' 1 AA) 'POIN' 'INFERIEUR' 2.0) ;
POI2 = 'POIN' 1 (('COORDONNEE' 1 AA) 'POIN' 'SUPERIEUR' 2.0) ;
VAL1 = 'EXTRAIRE' CC POI1 'SCAL' ;
VAL2 = 'EXTRAIRE' CC POI2 'SCAL' ;
VAL3 = 'EXTRAIRE' (PN '*' (TABM . 'XXSUR2D')) PCEN1 'SCAL' ;
VAL4 = 'EXTRAIRE' (PN '*' (TABM . 'XXSUR2D')) PCEN2 'SCAL' ;
ERRP = 'MAXIMUM' ('PROG' ((VAL1 '-' VAL3) '/' VAL3)
((VAL2 '-' VAL4) '/' VAL4)) 'ABS' ;
*
LISTPRE = LISTPRE 'ET' ('PROG' ERRP) ;
*
ERRES = 'MAXIMUM' (RESI2 '-' RESI) 'ABS'
;
* 'AVEC' ('MOTS' 'RN' 'RUNY' 'RUNZ' 'RETN') ;
LISTRES = LISTRES 'ET' ('PROG' ERRES) ;
'FIN' BLTH ;
*
EVERR = 'EVOL' 'MANU' 'theta °' LISTTH 'Log10(err)'
(('LOG' LISTER) '/' ('LOG' 10.)) ;
'SI' GRAPH ;
'DESSIN' EVERR 'TITR' 'Error on numerical flux' ;
'FINSI' ;
'SI' (ERRO > 1.0D-3) ;
'ERREUR' 'Probleme axi' ;
'FINSI' ;
EVERR = 'EVOL' 'MANU' 'theta °' LISTTH 'Log10(err)'
(('LOG' LISTPRE) '/' ('LOG' 10.)) ;
'SI' GRAPH ;
'DESSIN' EVERR 'TITR' 'Error on pressure flux' ;
'FINSI' ;
'SI' (ERRP > 1.0D-2) ;
'ERREUR' 'Probleme axi' ;
'FINSI' ;
EVERR = 'EVOL' 'MANU' 'theta °' LISTTH 'Log10(err)'
(('LOG' LISTRES) '/' ('LOG' 10.)) ;
'SI' GRAPH ;
'DESSIN' EVERR 'TITR' 'Error on residuum' ;
'FINSI' ;
'SI' (ERRES > 1.0D-2) ;
'ERREUR' 'Probleme axi' ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer