* fichier : tube_CJDF3D.dgibi
****************************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la ****
**** combustion. ****
**** MODELE RDEM ****
**** ****
**** OPERATEURS 'PRIM', PRET, KONV ****
**** ****
**** PROPAGATION D'UNE CJDF DANS UN TUBE ****
**** Cas 3D. ****
**** A. BECCANTINI, SFME/LTMF, 22.12.10 ****
**** ****
****************************************************************
*
* The file is divided into 6 parts
*
* 0) exact solution
* 1) mesh
* 2) initial conditions and gas properties
* 3) parameters used in the computation
* 4) the main part (where the computation is realised)
* 5) the post-treatment
*
'OPTION' 'ECHO' 0 'DIME' 3
'TRAC' 'PSC' ;
* 'TRAC' 'X' ;
GRAPH = VRAI ;
GRAPH = FAUX ;
* Upwind scheme
* METO = 'VLH' ;
* METO = 'SS' ;
METO = 'AUSMPUP' ;
***********************
***********************
*** EXACT SOLUTION ****
***********************
LEXACT = (PROG
);
LEXACT = LEXACT ET ( PROG
0.185869E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.184803E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.183737E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.182671E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.181605E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.180539E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.179473E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.178407E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.177341E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.176275E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.175209E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.174143E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.173077E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.172011E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.170945E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.169879E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.168813E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.167747E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.166681E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.165615E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.164549E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.163483E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.162417E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.161351E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.160285E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.159219E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.158153E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.157087E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.156021E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.154955E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.153889E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.152823E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.151757E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.150691E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.149625E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.148560E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.147494E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.146428E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.145362E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.144296E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.143230E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.142164E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.141098E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.140032E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.138966E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.137900E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.136834E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.135768E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
0.134702E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.133636E+04 0.869073E+00 0.293160E+03
0.101300E+06 0.000000E+00
0.132570E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.132346E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.132122E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.131897E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.131673E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.131449E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.131225E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.131001E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.130777E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.130552E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.130328E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.130104E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.129880E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.129656E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.129432E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.129208E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.128983E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.128759E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.128535E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.128311E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.128087E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.127863E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.127638E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.127414E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.127190E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.126966E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.126742E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.126518E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.126294E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.126069E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.125845E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.125621E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.125397E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.125173E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.124949E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.124724E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.124500E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.124276E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.124052E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.123828E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.123604E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.123380E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.123155E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.122931E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.122707E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.122483E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.122259E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.122035E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.121810E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
0.121586E+04 0.369181E+01 0.864601E+03
0.126912E+07 0.101362E+04
);
LEXACT = LEXACT ET ( PROG
0.121362E+04 0.695313E+00 0.268600E+04
0.632719E+06 0.151709E+03
0.120125E+04 0.688084E+00 0.267929E+04
0.624577E+06 0.140618E+03
0.118886E+04 0.680916E+00 0.267258E+04
0.616522E+06 0.129516E+03
0.117647E+04 0.673807E+00 0.266587E+04
0.608555E+06 0.118406E+03
);
LEXACT = LEXACT ET ( PROG
0.116406E+04 0.666758E+00 0.265917E+04
0.600673E+06 0.107285E+03
0.115164E+04 0.659768E+00 0.265246E+04
0.592877E+06 0.961556E+02
0.113921E+04 0.652838E+00 0.264575E+04
0.585165E+06 0.850162E+02
0.112677E+04 0.645966E+00 0.263904E+04
0.577537E+06 0.738671E+02
);
LEXACT = LEXACT ET ( PROG
0.111432E+04 0.639152E+00 0.263233E+04
0.569993E+06 0.627085E+02
0.110186E+04 0.632396E+00 0.262562E+04
0.562530E+06 0.515401E+02
0.108938E+04 0.625697E+00 0.261892E+04
0.555150E+06 0.403622E+02
0.107690E+04 0.619055E+00 0.261221E+04
0.547850E+06 0.291745E+02
);
LEXACT = LEXACT ET ( PROG
0.106440E+04 0.612470E+00 0.260550E+04
0.540631E+06 0.179772E+02
0.105189E+04 0.605942E+00 0.259879E+04
0.533491E+06 0.677015E+01
0.103937E+04 0.599469E+00 0.259208E+04
0.526430E+06 -0.444662E+01
0.102684E+04 0.593053E+00 0.258537E+04
0.519447E+06 -0.156731E+02
);
LEXACT = LEXACT ET ( PROG
0.101430E+04 0.586691E+00 0.257867E+04
0.512541E+06 -0.269094E+02
0.100175E+04 0.580384E+00 0.257196E+04
0.505713E+06 -0.381554E+02
0.989185E+03 0.574132E+00 0.256525E+04
0.498960E+06 -0.494113E+02
0.976609E+03 0.567934E+00 0.255854E+04
0.492283E+06 -0.606769E+02
);
LEXACT = LEXACT ET ( PROG
0.964022E+03 0.561790E+00 0.255183E+04
0.485681E+06 -0.719524E+02
0.951424E+03 0.555700E+00 0.254512E+04
0.479153E+06 -0.832377E+02
0.938814E+03 0.549663E+00 0.253842E+04
0.472698E+06 -0.945328E+02
0.926192E+03 0.543678E+00 0.253171E+04
0.466316E+06 -0.105838E+03
);
LEXACT = LEXACT ET ( PROG
0.913559E+03 0.537746E+00 0.252500E+04
0.460006E+06 -0.117153E+03
0.900915E+03 0.531866E+00 0.251829E+04
0.453767E+06 -0.128478E+03
0.888259E+03 0.526038E+00 0.251158E+04
0.447599E+06 -0.139812E+03
0.875591E+03 0.520262E+00 0.250487E+04
0.441502E+06 -0.151157E+03
);
LEXACT = LEXACT ET ( PROG
0.862912E+03 0.514536E+00 0.249817E+04
0.435474E+06 -0.162512E+03
0.850221E+03 0.508862E+00 0.249146E+04
0.429514E+06 -0.173877E+03
0.837518E+03 0.503237E+00 0.248475E+04
0.423623E+06 -0.185251E+03
0.824804E+03 0.497663E+00 0.247804E+04
0.417800E+06 -0.196636E+03
);
LEXACT = LEXACT ET ( PROG
0.812078E+03 0.492139E+00 0.247133E+04
0.412044E+06 -0.208031E+03
0.799340E+03 0.486664E+00 0.246462E+04
0.406354E+06 -0.219435E+03
0.786591E+03 0.481238E+00 0.245792E+04
0.400729E+06 -0.230850E+03
0.773830E+03 0.475861E+00 0.245121E+04
0.395170E+06 -0.242275E+03
);
LEXACT = LEXACT ET ( PROG
0.761057E+03 0.470532E+00 0.244450E+04
0.389676E+06 -0.253710E+03
0.748272E+03 0.465251E+00 0.243779E+04
0.384245E+06 -0.265156E+03
0.735475E+03 0.460018E+00 0.243108E+04
0.378878E+06 -0.276611E+03
0.722666E+03 0.454833E+00 0.242437E+04
0.373574E+06 -0.288077E+03
);
LEXACT = LEXACT ET ( PROG
0.709845E+03 0.449695E+00 0.241767E+04
0.368331E+06 -0.299552E+03
0.697013E+03 0.444603E+00 0.241096E+04
0.363150E+06 -0.311038E+03
0.684168E+03 0.439558E+00 0.240425E+04
0.358031E+06 -0.322535E+03
0.671311E+03 0.434559E+00 0.239754E+04
0.352972E+06 -0.334041E+03
);
LEXACT = LEXACT ET ( PROG
0.658443E+03 0.429606E+00 0.239083E+04
0.347972E+06 -0.345558E+03
0.645562E+03 0.424699E+00 0.238412E+04
0.343032E+06 -0.357085E+03
0.632669E+03 0.419837E+00 0.237742E+04
0.338151E+06 -0.368622E+03
0.619764E+03 0.415019E+00 0.237071E+04
0.333327E+06 -0.380170E+03
);
LEXACT = LEXACT ET ( PROG
0.606847E+03 0.410247E+00 0.236400E+04
0.328562E+06 -0.391728E+03
0.593918E+03 0.405518E+00 0.235729E+04
0.323853E+06 -0.403296E+03
0.580976E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.561059E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.541142E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.521225E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.501308E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.481391E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.461474E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.441557E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.421640E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.401723E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.381806E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.361889E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.341972E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.322055E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.302138E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.282221E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.262304E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.242387E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.222470E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.202552E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.182635E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.162718E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.142801E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.122884E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.102967E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.830503E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
0.631333E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.432163E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.232993E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
0.338225E+01 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.165348E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.364518E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.563688E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.762858E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.962029E+02 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.116120E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.136037E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.155954E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.175871E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.195788E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.215705E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.235622E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.255539E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.275456E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.295373E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.315290E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.335207E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.355124E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.375041E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
-0.394958E+03 0.400834E+00 0.235058E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.414875E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.433363E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.451850E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.470338E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.488825E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.507313E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.525800E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.544288E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.562775E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.581263E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.599750E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.618238E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.636725E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.655213E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.673700E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.692188E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.710675E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.729163E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.747650E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.766138E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.784625E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.803113E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.821600E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.840088E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.858575E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.877063E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.895551E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.914038E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.932526E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.951013E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.969501E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.987988E+03 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.100648E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.102496E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.104345E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.106194E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.108043E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.109891E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.111740E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.113589E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.115438E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.117286E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.119135E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.120984E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.122833E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.124681E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.126530E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.128379E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
);
LEXACT = LEXACT ET ( PROG
-0.130228E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.132076E+04 0.307434E+00 0.306470E+04
0.319201E+06 -0.414875E+03
-0.133925E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.134991E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.136057E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.137123E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.138189E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.139255E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.140321E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.141387E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.142453E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.143519E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.144585E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.145651E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.146717E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.147783E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.148849E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.149915E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.150981E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.152047E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.153113E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.154179E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.155245E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.156311E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.157377E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.158443E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.159509E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.160575E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.161641E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.162707E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.163773E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.164838E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.165904E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.166970E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.168036E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.169102E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.170168E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.171234E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.172300E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.173366E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.174432E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.175498E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.176564E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.177630E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.178696E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.179762E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.180828E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.181894E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
LEXACT = LEXACT ET ( PROG
-0.182960E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.184026E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.185092E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
-0.186158E+04 0.212196E+00 0.280015E+04
0.201300E+06 0.000000E+00
);
aa = 'DIME' LEXACT ;
LEX_XOT = 'LECT' 1 PAS 5 (aa '-' 4) ;
LEX_XOT = 'EXTRAIRE' LEXACT LEX_XOT ;
LEX_RHO = 'LECT' 2 PAS 5 (aa '-' 3) ;
LEX_RHO = 'EXTRAIRE' LEXACT LEX_RHO ;
LEX_T = 'LECT' 3 PAS 5 (aa '-' 2) ;
LEX_T = 'EXTRAIRE' LEXACT LEX_T ;
LEX_P = 'LECT' 4 PAS 5 (aa '-' 1) ;
LEX_P = 'EXTRAIRE' LEXACT LEX_P ;
LEX_U = 'LECT' 5 PAS 5 (aa '-' 0) ;
LEX_U = 'EXTRAIRE' LEXACT LEX_U ;
*
******************
**** PRIMCONS ****
******************
'DEBPROC' PRIMCONS ;
'ARGUMENT' PGAS*TABLE TN1*'CHPOINT ' TN2*'CHPOINT '
PN1*'CHPOINT ' PN2*'CHPOINT ' VN1*'CHPOINT ' VN2*'CHPOINT ' ;
*
* ETHER = int_0^T cv(T') dT' T < TMAX
* = int_0^TMAX cv(T') dT' '+'
* cv(TMAX) T >= TMAX
ESP1 = 'EXTRAIRE' (PGAS . 'SPECIES') 1 ;
* DY1 = y_i - y_f for the species 1
DY1 = (('EXTRAIRE' (PGAS . 'MASSFRA') 1) '-'
('EXTRAIRE' (PGAS . 'MASSFRA') 2)) ;
COEF1 = ('EXTRAIRE' (PGAS . 'CHEMCOEF') 1) '*'
(PGAS . ESP1 . 'W') ;
YFINPH1 = 1.0 ;
YFINPH2 = 1.0 ;
'SI' (COEF1 > 0) ;
YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
YPH1 = YPH2 '+' DY1 ;
'SINON' ;
YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
YPH2 = YPH1 '-' DY1 ;
'FINSI' ;
YFINPH1 = YFINPH1 '-' YPH1 ;
YFINPH2 = YFINPH2 '-' YPH2 ;
PRYPH1 = 'PROG' YPH1 ;
PRYPH2 = 'PROG' YPH2 ;
'REPETER' BLESP (('DIME' (PGAS . 'SPECIES')) '-' 2) ;
ESP = 'EXTRAIRE' (PGAS . 'SPECIES') (&BLESP '+' 1) ;
COEF = ('EXTRAIRE' (PGAS . 'CHEMCOEF') (&BLESP '+' 1))
'*' (PGAS . ESP . 'W') ;
DY = (DY1 * (COEF '/' COEF1)) ;
'SI' (COEF > 0) ;
YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
YPH1 = YPH2 '+' DY ;
'SINON' ;
YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
YPH2 = YPH1 '-' DY ;
'FINSI' ;
PRYPH1 = PRYPH1 'ET' ('PROG' YPH1) ;
PRYPH2 = PRYPH2 'ET' ('PROG' YPH2) ;
YFINPH1 = YFINPH1 '-' YPH1 ;
YFINPH2 = YFINPH2 '-' YPH2 ;
'FIN' BLESP ;
PRYPH1 = PRYPH1 'ET' ('PROG' YFINPH1) ;
PRYPH2 = PRYPH2 'ET' ('PROG' YFINPH2) ;
* 'LISTE' PRYPH1 ;
* 'LISTE' PRYPH2 ;
*
TMAX = (PGAS . 'TMAX') ;
* TCAL1 = MIN TN1, TMAX
TCAL1 = 0.5D0 '*' ((TMAX '+' TN1) '-' ('ABS' (TN1 '-' TMAX))) ;
DTN1 = TN1 '-' TCAL1 ;
* TCAL1 = MIN TN1, TMAX
TCAL2 = 0.5D0 '*' ((TMAX '+' TN2) '-' ('ABS' (TN2 '-' TMAX))) ;
DTN2 = TN2 '-' TCAL2 ;
*
* Internal energy (J/kg in SI)
*
ETHER1 = 0.0 ;
CV1 = 0.0 ;
ETHER2 = 0.0 ;
CV2 = 0.0 ;
FUNTN1 = 1.0 ;
FUNTN2 = 1.0 ;
'REPETER' BLPO ((PGAS . 'NORD') '+' 1) ;
'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
AA = 'EXTRAIRE' (PGAS . ESP . 'A') &BLPO ;
DCV1 = (AA * YCEL1 * FUNTN1) ;
DCV2 = (AA * YCEL2 * FUNTN2) ;
CV1 = CV1 '+' DCV1 ;
CV2 = CV2 '+' DCV2 ;
ETHER1 = ETHER1 '+' (DCV1 * TCAL1 '/' (&BLPO)) ;
ETHER2 = ETHER2 '+' (DCV2 * TCAL2 '/' (&BLPO)) ;
'FIN' BLESP ;
FUNTN1 = FUNTN1 '*' TCAL1 ;
FUNTN2 = FUNTN2 '*' TCAL2 ;
'FIN' BLPO ;
ETHER1 = ETHER1 '+' (CV1 '*' DTN1) ;
ETHER2 = ETHER2 '+' (CV2 '*' DTN2) ;
*
* Formation energy/enthalpy (J/kg in SI) and gas constant (J/kg/K)
*
EFORM1 = 0.0 ;
EFORM2 = 0.0 ;
RGAS1 = 0.0 ;
RGAS2 = 0.0 ;
'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
EFORM1 = EFORM1 '+' (YCEL1 * (PGAS . ESP . 'H0K')) ;
EFORM2 = EFORM2 '+' (YCEL2 * (PGAS . ESP . 'H0K')) ;
RGAS1 = RGAS1 '+' (YCEL1 * (PGAS . 'RUNIV') '/'
(PGAS . ESP . 'W')) ;
RGAS2 = RGAS2 '+' (YCEL2 * (PGAS . 'RUNIV') '/'
(PGAS . ESP . 'W')) ;
'FIN' BLESP ;
*
* Computation of the conservative variables
*
RN1 = PN1 '/' (RGAS1 '*' TN1) ;
RN2 = PN2 '/' (RGAS2 '*' TN2) ;
GN1 = RN1 * VN1 ;
GN2 = RN2 * VN2 ;
LVEL = 'MOTS' 'UX' 'UY' 'UZ' ;
ECIN1 = 0.5D0 '*' ('PSCAL' VN1 VN1 LVEL LVEL) ;
ECIN2 = 0.5D0 '*' ('PSCAL' VN2 VN2 LVEL LVEL) ;
RETN1 = RN1 '*' (ETHER1 '+' ECIN1 '+' EFORM1) ;
RETN2 = RN2 '*' (ETHER2 '+' ECIN2 '+' EFORM2) ;
*
'RESPRO' RN1 RN2 GN1 GN2 RETN1 RETN2 ;
'FINPROC' ;
*
****************************************************************
***** 1D mesh *****
****************************************************************
*
*
* A4 ------------------- A5 ----------------------- A6
* | | |
* | ZONE1 | ZONE2 |
* | | |
* A1 ------------------- A2 ----------------------- A3
* | | |
* | L1 | L2 |
* >|<--------------------->|<----------------------->|
*
* AR = activation region
* ZONE1
* ZONE2
*
RAF = 200 ;
L1 = 1. ;
L2 = 1. ;
DX = L1 '/' RAF ;
N1 = RAF ;
N2 = 'ENTIER' ((L2 '/' DX) '+' 0.5) ;
* For sake of simplicity, we will only consider NY mesh in y-direction
NY = 1 ;
H1 = NY '*' DX ;
A1 = 0.0 0.0 0.0 ;
A2 = L1 0.0 0.0 ;
A3 = (L1 '+' L2) 0.0 0.0 ;
A4 = 0.0 H1 0.0 ;
A5 = L1 H1 0.0 ;
A6 = (L1 '+' L2) H1 0.0 ;
*
'OPTION' 'ELEM' 'SEG2' ;
A1A2 = A1 'DROIT' N1 A2 ;
A2A3 = A2 'DROIT' N2 A3 ;
A4A5 = A4 'DROIT' N1 A5 ;
A5A6 = A5 'DROIT' N2 A6 ;
*
A1A4 = A1 'DROIT' NY A4 ;
A2A5 = A2 'DROIT' NY A5 ;
A3A6 = A3 'DROIT' NY A6 ;
*
*
**** 2D mesh
*
* DOM1 is zone 1
* DOM2 is zone 2
*
'OPTION' 'ELEM' 'QUA4' ;
DOM1P = 'DALLER' A1A2 A2A5 ('INVERSE' A4A5) ('INVERSE' A1A4) ;
DOM2P = 'DALLER' A2A3 A3A6 ('INVERSE' A5A6) ('INVERSE' A2A5) ;
LIMG = A1A4 'TRANSLATION' 1 (0.0 0.0 H1) ;
LIMD = A3A6 'TRANSLATION' 1 (0.0 0.0 H1) ;
*
'OPTION' 'ELEM' 'CUB8' ;
DOM1 = DOM1P 'VOLUME' 'TRANSLATION' 1 (0.0 0.0 H1) ;
DOM2 = DOM2P 'VOLUME' 'TRANSLATION' 1 (0.0 0.0 H1) ;
*
* DOMTOT = total region
*
DOMTOT = DOM1 'ET' DOM2 ;
'ELIMINATION' (1.0D-3 '*' DX) DOMTOT ;
'ELIMINATION' DOM1 (1.0D-3 '*' DX) LIMG ;
'ELIMINATION' DOM2 (1.0D-3 '*' DX) LIMD ;
DOMLIM = 'ENVE' DOMTOT ;
*
**** The tables 'DOMAINE'
*
$DOMTOT = 'MODELISER' DOMTOT 'EULER' ;
$DOMLIM = 'MODELISER' DOMLIM 'EULER' ;
$DOM1 = 'MODELISER' DOM1 'EULER' ;
$DOM2 = 'MODELISER' DOM2 'EULER' ;
$LIMG = 'MODELISER' LIMG 'EULER' ;
$LIMD = 'MODELISER' LIMD 'EULER' ;
*
TDOMTOT = 'DOMA' $DOMTOT 'VF' ;
TDOMLIM = 'DOMA' $DOMLIM 'VF' ;
TDOM1 = 'DOMA' $DOM1 'VF' ;
TDOM2 = 'DOMA' $DOM2 'VF' ;
TLIMG = 'DOMA' $LIMG 'VF' ;
TLIMD = 'DOMA' $LIMD 'VF' ;
*
QDOMTOT = TDOMTOT . 'QUAF' ;
QDOMLIM = TDOMLIM . 'QUAF' ;
QDOM1 = TDOM1 . 'QUAF' ;
QDOM2 = TDOM2 . 'QUAF' ;
QLIMG = TLIMG . 'QUAF' ;
QLIMD = TLIMD . 'QUAF' ;
*
'ELIMINATION' QDOMTOT (0.001 '*' DX) QDOMLIM ;
'ELIMINATION' QDOMTOT (0.001 '*' DX) QDOM1 ;
'ELIMINATION' QDOMTOT (0.001 '*' DX) QDOM2 ;
'ELIMINATION' QDOMTOT (0.001 '*' DX) QLIMG ;
'ELIMINATION' QDOMTOT (0.001 '*' DX) QLIMD ;
*
**** MOD1 = model (created just to display the CHAMELEMs)
*
MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
*
**** Line for graphics
*
*
LIGEVO = (TDOMTOT . 'CENTRE') ;
P1 = 'POIN' (COOR 1 LIGEVO) 'MINIMUM' ;
'ORDONNER' LIGEVO P1 ;
LIGEVO = 'QUELCONQUE' 'SEG2' LIGEVO 'COULEUR' 'VERT';
'SI' GRAPH ;
'TRACER' (QDOMTOT 'ET' LIGEVO) ;
'FINSI' ;
* 'OPTION' 'SAUVER' ('CHAINE' 'mesh.sauv_raf' RAF) ;
* 'SAUVER' RAF DOMTOT $DOMTOT $DOM1 $DOM2 $DOM3 LIGEVO MOD1 ;
****************************************************************
****************************************************************
***** Initial conditions and gas properties. *****
****************************************************************
****************************************************************
*
*************************************************
**** The table for the properties of the gas ****
*************************************************
*
PGAS = 'TABLE' ;
*
**** Order of the polynomial order for cv = cv(T)
* For T > TMAX, cv(T) = cv(Tmax)
*
PGAS . 'TMAX' = 6000.0 ;
PGAS . 'NORD' = 4 ;
*
**** Species involved in the mixture (before or after
* the chemical reaction)
*
PGAS . 'SPECIES' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ' ;
*
*
**** Coefficient of the chemical reaction.
* Note that for the first species this coefficient should be positive
* Normal, we take it equal to 1.
*
* H2 '+' 0.5 O2 ---> H2O
*
PGAS . 'CHEMCOEF' = 'PROG' 1.0 0.5 -1.0 0.0 ;
*
**** Mass fraction of the first species before and after the combustion
* Final mass fractions of the species with positive coefficients.
* Final mass fractions of the species with non-positive coefficient.
* The mass fraction of the last species is not given.
*
PGAS . 'MASSFRA' = 'PROG' 0.285219E-01 0.964039E-11 0.765104E-10
0.127442E-10 ;
*
**** Coef with the gas properties
*
PGAS . 'H2 ' = 'TABLE' ;
PGAS . 'H2O ' = 'TABLE' ;
PGAS . 'N2 ' = 'TABLE' ;
PGAS . 'O2 ' = 'TABLE' ;
*
**** Runiv (J/mole/K)
*
PGAS . 'RUNIV' = 8.31441 ;
*
**** W (kg/mole). Gas constant (J/kg/K = Runiv/W)
*
PGAS . 'H2 ' . 'W' = 2. * 1.00797E-3 ;
PGAS . 'O2 ' . 'W' = 2. * 15.9994E-3 ;
PGAS . 'H2O ' . 'W' = (PGAS . 'H2 ' . 'W' ) '+'
(0.5 * (PGAS . 'O2 ' . 'W' )) ;
PGAS . 'N2 ' . 'W' = 2 * 14.0067E-3 ;
*
**** Polynomial coefficients
*
PGAS . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
-2.37281455E-07 1.84701105E-11 ;
PGAS . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 -5.73129958E-05
-1.82753232E-08 2.44485692E-12 ;
PGAS . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 -7.80442298E-05
8.78233606E-09 -3.05514485E-13 ;
PGAS . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 -0.000128294865
2.33636971E-08 -1.53304905E-12;
*
**** Formation enthalpies (energies) at 0K (J/Kg)
*
PGAS . 'H2 ' . 'H0K' = -4.195D6 ;
PGAS . 'H2O ' . 'H0K' = -1.395D7 ;
PGAS . 'N2 ' . 'H0K' = -2.953D5 ;
PGAS . 'O2 ' . 'H0K' = -2.634D5 ;
*
*************************************************
**** The initial conditions *********************
*************************************************
*
eps = 1.0D-64 ;
K0 = 200. ;
*
T1 = 293. ;
alph11 = 1.0 '-' 1.0D-5 ;
alph12 = 1.0D-5 ;
* alph11 = 0.5 ;
* alph12 = 0.5 ;
alph21 = 1.0 '-' alph11 ;
alph22 = 1.0 - alph12 ;
T2 = 2800. ;
un1 = 0.0 ;
un2 = 0.0 ;
ut1 = 0.0 ;
ut2 = 0.0 ;
uv1 = 0.0 ;
uv2 = 0.0 ;
pre1 = 1.013D5 ;
pre2 = 2.013D5 ;
*
CHVN1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 3 'UX' un1
'UY' ut1 'UZ' uv1) ;
CHVN2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 3 'UX' un2
'UY' ut2 'UZ' uv2) ;
*
CHTN1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' T1) ;
CHTN2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' T2) ;
*
CHPN1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' pre1) ;
CHPN2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' pre2) ;
*
CHAL1 = ('MANUEL' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL'
alph11) '+'
('MANUEL' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL'
alph12) ;
CHAL2 = ('MANUEL' 'CHPO' (TDOM1 . 'CENTRE') 1 'SCAL'
alph21) '+'
('MANUEL' 'CHPO' (TDOM2 . 'CENTRE') 1 'SCAL'
alph22) ;
*
CHRN1 CHRN2 CHGN1 CHGN2 CHRET1 CHRET2 = PRIMCONS
PGAS CHTN1 CHTN2 CHPN1 CHPN2 CHVN1 CHVN2 ;
*
RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS CHAL1 CHAL2
(CHAL1 * CHRN1) (CHAL2 * CHRN2) (CHAL1 * CHGN1)
(CHAL2 * CHGN2) (CHAL1 * CHRET1) (CHAL2 * CHRET2)
CHTN1 CHTN2 EPS ;
TN1M = COPIER TN1 ;
TN2M = COPIER TN2 ;
*
ERRO = 'MAXIMUM' (PRE1 '-' ('REDU' PN1 (TDOM1 . 'CENTRE'))) 'ABS' ;
ERRO = ERRO '/' (pre1) ;
'SI' (ERRO > 1.0D-6) ;
'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
'ERREUR' 21 ;
'FINSI' ;
ERRO = 'MAXIMUM' (PRE2 '-' ('REDU' PN2 (TDOM2 . 'CENTRE'))) 'ABS' ;
ERRO = ERRO '/' (pre2) ;
'SI' (ERRO > 1.0D-6) ;
'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
'ERREUR' 21 ;
'FINSI' ;
ERRO = 'MAXIMUM' (T1 '-' ('REDU' TN1 (TDOM1 . 'CENTRE'))) 'ABS' ;
ERRO = ERRO '/' (T1) ;
'SI' (ERRO > 1.0D-6) ;
'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
'ERREUR' 21 ;
'FINSI' ;
ERRO = 'MAXIMUM' (T2 '-' ('REDU' TN2 (TDOM2 . 'CENTRE'))) 'ABS' ;
ERRO = ERRO '/' (T2) ;
'SI' (ERRO > 1.0D-6) ;
'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
'ERREUR' 21 ;
'FINSI' ;
*
**** Parameter for the time loop
*
* Names of the residuum components
*
LISTINCO = ('MOTS' 'ALF1' 'RN1' 'RNX1' 'RNY1' 'RNZ1' 'RET1'
'ALF2' 'RN2' 'RNX2' 'RNY2' 'RNZ2' 'RET2') ;
*
**** BC
*
KONLIM = 'DIFF' (TLIMG . 'CENTRE') (TLIMG . 'CENTRE') ;
CHPVID CHMVID = 'KOPS' 'MATRIK' ;
RESLIM = 'COPIER' CHPVID ;
*
****************************************************************
****************************************************************
***** Parameters for the computations ******
****************************************************************
****************************************************************
*
* Iterations
* Final time
* Safety Factor fot the time step
* Second order reconstruction?
* We compute the gradients during the correction or not ?
NITER = 100000 ;
TFINAL = 0.4D-3 ;
SAFFAC = 0.5 ;
LOGSO = VRAI ;
LOGGRA = VRAI ;
* 'OPTION' 'SAUVER' 'parameters.sauv' ;
* 'SAUVER' METO NITER TFINAL SAFFAC LOGSO ;
****************************************************************
****************************************************************
***** The computation ******
****************************************************************
****************************************************************
AL1 = CHAL1 ;
AL2 = CHAL2 ;
ARN1 = CHAL1 * CHRN1 ;
ARN2 = CHAL2 * CHRN2 ;
AGN1 = CHAL1 * CHGN1 ;
AGN2 = CHAL2 * CHGN2 ;
AREN1 = CHAL1 * CHRET1 ;
AREN2 = CHAL2 * CHRET2 ;
*
AL10 = 'COPIER' AL1 ;
AL20 = 'COPIER' AL2 ;
ARN10 = 'COPIER' ARN1 ;
ARN20 = 'COPIER' ARN2 ;
AGN10 = 'COPIER' AGN1 ;
AGN20 = 'COPIER' AGN2 ;
AREN10 = 'COPIER' AREN1 ;
AREN20 = 'COPIER' AREN2 ;
TN10 = 'COPIER' TN1 ;
TN20 = 'COPIER' TN2 ;
*
**** Geometrical coefficient to compute grad(alpha)/|grad(alpha)|
*
EPSGR = 1.0D-6 ;
CHPL1 = CHPVID ;
CHPL2 = 'MANUEL' 'CHPO' (TDOMLIM . 'CENTRE') 3
'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0 ;
GRALP1 GRAL = 'PENT' $DOMTOT 'FACE'
'DIAMAN2' ('MOTS' 'SCAL') ('MOTS' 'P1DX' 'P1DY' 'P1DZ')
AL1 CHPL1 CHPL2 ;
* 'SI' VRAI ;
* V1 = 'VECTEUR'
* ('NOMC' ('MOTS' 'P1DX' 'P1DY' 'P1DZ') GRALP1
* ('MOTS' 'UX' 'UY' 'UZ')) ;
* 'TRACER' DOMTOT V1 DOMLIM ;
* 'FINSI' ;
GRALP1 = GRALP1 '+' EPSGR ;
GRALP1 = GRALP1 '/' (('PSCAL' GRALP1 GRALP1
('MOTS' 'P1DX' 'P1DY' 'P1DZ')
('MOTS' 'P1DX' 'P1DY' 'P1DZ')) '**' 0.5) ;
* 'SI' VRAI ;
* V1 = 'VECTEUR'
* ('NOMC' ('MOTS' 'P1DX' 'P1DY' 'P1DZ') GRALP1
* ('MOTS' 'UX' 'UY' 'UZ')) ;
* 'TRACER' DOMTOT V1 DOMLIM ;
* 'FINSI' ;
*
**** Geometrical coefficient to compute gradients
*
GRADR0 ALR0 COEFSCAL = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE'
('MOTS' 'SCAL') AL10 ;
GRADR0 = GRADR0 * 0.0 ;
ALR0 = ALR0 * 0.0 ;
GRADV0 ALV0 COEFVECT = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'NOLIMITE'
('MOTS' 'UX' 'UY' 'UZ') AGN10 ;
GRADV0 = GRADV0 * 0.0 ;
ALV0 = ALV0 * 0.0 ;
VINF1 = 'MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' 10. ;
VINF2 = 'MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' 100. ;
*
**** Temporal loop
*
TPS = 0.0 ;
'MESSAGE' ;
'MESSAGE' ('CHAINE' 'Methode = ' METO) ;
'MESSAGE' ('CHAINE' 'SAFFAC = ' SAFFAC) ;
'MESSAGE' ;
'TEMPS' 'ZERO' ;
'REPETER' BLITER NITER ;
*
**** Primitive variables
*
RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS AL1 AL2
ARN1 ARN2 AGN1 AGN2 AREN1 AREN2 TN1M TN2M EPS ;
TN1M = 'COPIER' TN1 ;
TN2M = 'COPIER' TN2 ;
**** Gradient of alpha
GRALP1 = 'PENT' $DOMTOT 'FACE'
'DIAMAN2' ('MOTS' 'SCAL') ('MOTS' 'P1DX' 'P1DY' 'P1DZ')
AL1 CHPL1 CHPL2 'GRADGEO' GRAL ;
* 'SI' VRAI ;
* V1 = 'VECTEUR'
* ('NOMC' ('MOTS' 'P1DX' 'P1DY' 'P1DZ') GRALP1
* ('MOTS' 'UX' 'UY' 'UZ')) ;
* 'TRACER' DOMTOT V1 DOMLIM ;
* 'FINSI' ;
GRALP1 = GRALP1 '+' EPSGR ;
GRALP1 = GRALP1 '/' (('PSCAL' GRALP1 GRALP1
('MOTS' 'P1DX' 'P1DY' 'P1DZ')
('MOTS' 'P1DX' 'P1DY' 'P1DZ')) '**' 0.5) ;
'SI' LOGSO ;
GRADA1 ALA1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') AL1 'GRADGEO' COEFSCAL ;
GRADR1 ALR1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') RN1 'GRADGEO' COEFSCAL ;
GRADP1 ALP1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') PN1 'GRADGEO' COEFSCAL ;
GRADV1 ALV1 = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
('MOTS' 'UX' 'UY' 'UZ') VN1 'GRADGEO' COEFVECT ;
GRADA2 ALA2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') AL2 'GRADGEO' COEFSCAL ;
GRADR2 ALR2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') RN2 'GRADGEO' COEFSCAL ;
GRADP2 ALP2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') PN2 'GRADGEO' COEFSCAL ;
GRADV2 ALV2 = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
('MOTS' 'UX' 'UY' 'UZ') VN2 'GRADGEO' COEFVECT ;
CHFAL1 CHFAL2 CHFRN1 CHFRN2 CHFVN1 CHFVN2 CHFPN1 CHFPN2 =
'PRET' 'DEM' $DOMTOT
AL1 GRADA1 ALA1
AL2 GRADA2 ALA2
* AL1 GRADA1 ALR0
* AL2 GRADA2 ALR0
RN1 GRADR1 ALR1
RN2 GRADR2 ALR2
VN1 GRADV1 ALV1
VN2 GRADV2 ALV2
PN1 GRADP1 ALP1
PN2 GRADP2 ALP2 ;
'SINON' ;
CHFAL1 CHFAL2 CHFRN1 CHFRN2 CHFVN1 CHFVN2 CHFPN1 CHFPN2 =
'PRET' 'DEM' $DOMTOT
AL1 GRADR0 ALR0
AL2 GRADR0 ALR0
RN1 GRADR0 ALR0
RN2 GRADR0 ALR0
VN1 GRADV0 ALV0
VN2 GRADV0 ALV0
PN1 GRADR0 ALR0
PN2 GRADR0 ALR0 ;
'FINSI' ;
SI ('EGA' METO 'AUSMPUP') ;
RESIDU DELTAT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
$DOMTOT PGAS LISTINCO AL1 AL2 CHFAL1 CHFAL2 CHFRN1 CHFRN2
CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS KONLIM VINF1 VINF2 ;
'SINON' ;
RESIDU DELTAT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
$DOMTOT PGAS LISTINCO AL1 AL2 CHFAL1 CHFAL2 CHFRN1 CHFRN2
CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS KONLIM ;
'FINSI' ;
RESIDU = RESIDU '+' RESLIM ;
*
* 'REPETER' BL1 ('DIME' LISTINCO) ;
* mot1 = 'EXTRAIRE' LISTINCO &BL1 ;
* valre1 = 'MAXIMUM' ('EXCO' RESLIM mot1) 'ABS' ;
* tit1 = 'CHAINE' 'Component ' mot1 ', reference value ' valre1 ;
* evaa = 'EVOL' 'CHPO' RESIDU mot1 LIGEVO ;
* 'DESSIN' evaa 'TITRE' tit1 ;
* 'FIN' BL1 ;
* Problem with RNY1, RNY2
DT_CON = SAFFAC '*' DELTAT ;
*
**** The time step linked to tps
*
DTTPS = (TFINAL '-' TPS) * (1. '+' 1.0D-6) ;
*
**** Total time step
*
DTMIN = 'MINIMUM' ('PROG' DT_CON DTTPS) ;
*
**** Increment of the variables (predictor)
*
* RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS AL1 AL2
* ARN1 ARN2 AGN1 AGN2 AREN1 AREN2 CHTN1 CHTN2 EPS ;
RESIDU = (0.5 * DTMIN) '*' RESIDU ;
DALP1 = 'EXCO' 'ALF1' RESIDU 'SCAL' ;
DRN1 = 'EXCO' 'RN1' RESIDU 'SCAL' ;
DGN1 = 'EXCO' ('MOTS' 'RNX1' 'RNY1' 'RNZ1') RESIDU
('MOTS' 'UX' 'UY' 'UZ') ;
DRET1 = 'EXCO' 'RET1' RESIDU 'SCAL' ;
DALP2 = 'EXCO' 'ALF2' RESIDU 'SCAL' ;
DRN2 = 'EXCO' 'RN2' RESIDU 'SCAL' ;
DGN2 = 'EXCO' ('MOTS' 'RNX2' 'RNY2' 'RNZ2') RESIDU
('MOTS' 'UX' 'UY' 'UZ') ;
DRET2 = 'EXCO' 'RET2' RESIDU 'SCAL' ;
AL1B = AL1 '+' DALP1 ;
ARN1B = ARN1 '+' DRN1 ;
AGN1B = AGN1 '+' DGN1 ;
AREN1B = AREN1 '+' DRET1 ;
AL2B = AL2 '+' DALP2 ;
ARN2B = ARN2 '+' DRN2 ;
AGN2B = AGN2 '+' DGN2 ;
AREN2B = AREN2 '+' DRET2 ;
*
**** Corrector
*
RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS AL1B AL2B
ARN1B ARN2B AGN1B AGN2B AREN1B AREN2B TN1M TN2M EPS ;
**** Gradient of alpha
GRALP1 = 'PENT' $DOMTOT 'FACE'
'DIAMAN2' ('MOTS' 'SCAL') ('MOTS' 'P1DX' 'P1DY' 'P1DZ')
AL1B CHPL1 CHPL2 'GRADGEO' GRAL ;
* 'SI' VRAI ;
* V1 = 'VECTEUR'
* ('NOMC' ('MOTS' 'P1DX' 'P1DY' 'P1DZ') GRALP1
* ('MOTS' 'UX' 'UY' 'UZ')) ;
* 'TRACER' DOMTOT V1 DOMLIM ;
* 'FINSI' ;
GRALP1 = GRALP1 '+' EPSGR ;
GRALP1 = GRALP1 '/' (('PSCAL' GRALP1 GRALP1
('MOTS' 'P1DX' 'P1DY' 'P1DZ')
('MOTS' 'P1DX' 'P1DY' 'P1DZ')) '**' 0.5) ;
'SI' LOGSO ;
SI LOGGRA ;
GRADA1 ALA1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') AL1B 'GRADGEO' COEFSCAL ;
GRADR1 ALR1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') RN1 'GRADGEO' COEFSCAL ;
GRADP1 ALP1 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') PN1 'GRADGEO' COEFSCAL ;
GRADV1 ALV1 = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
('MOTS' 'UX' 'UY' 'UZ') VN1 'GRADGEO' COEFVECT ;
GRADA2 ALA2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') AL2B 'GRADGEO' COEFSCAL ;
GRADR2 ALR2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') RN2 'GRADGEO' COEFSCAL ;
GRADP2 ALP2 = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
('MOTS' 'SCAL') PN2 'GRADGEO' COEFSCAL ;
GRADV2 ALV2 = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
('MOTS' 'UX' 'UY' 'UZ') VN2 'GRADGEO' COEFVECT ;
'FINSI' ;
CHFAL1 CHFAL2 CHFRN1 CHFRN2 CHFVN1 CHFVN2 CHFPN1 CHFPN2 =
'PRET' 'DEM' $DOMTOT
AL1B GRADA1 ALA1
AL2B GRADA2 ALA2
* AL1B GRADA1 ALR0
* AL2B GRADA2 ALR0
RN1 GRADR1 ALR1
RN2 GRADR2 ALR2
VN1 GRADV1 ALV1
VN2 GRADV2 ALV2
PN1 GRADP1 ALP1
PN2 GRADP2 ALP2 ;
'SINON' ;
CHFAL1 CHFAL2 CHFRN1 CHFRN2 CHFVN1 CHFVN2 CHFPN1 CHFPN2 =
'PRET' 'DEM' $DOMTOT
AL1B GRADR0 ALR0
AL2B GRADR0 ALR0
RN1 GRADR0 ALR0
RN2 GRADR0 ALR0
VN1 GRADV0 ALV0
VN2 GRADV0 ALV0
PN1 GRADR0 ALR0
PN2 GRADR0 ALR0 ;
'FINSI' ;
SI ('EGA' METO 'AUSMPUP') ;
RESIDU DELTAT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
$DOMTOT PGAS LISTINCO AL1B AL2B CHFAL1 CHFAL2 CHFRN1 CHFRN2
CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS KONLIM VINF1 VINF2 ;
'SINON' ;
RESIDU DELTAT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
$DOMTOT PGAS LISTINCO AL1B AL2B CHFAL1 CHFAL2 CHFRN1 CHFRN2
CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS KONLIM ;
'FINSI' ;
RESIDU = RESIDU '+' RESLIM ;
*
* 'REPETER' BL1 ('DIME' LISTINCO) ;
* mot1 = 'EXTRAIRE' LISTINCO &BL1 ;
* valre1 = 'MAXIMUM' ('EXCO' RESLIM mot1) 'ABS' ;
* tit1 = 'CHAINE' 'Component ' mot1 ', reference value ' valre1 ;
* evaa = 'EVOL' 'CHPO' RESIDU mot1 LIGEVO ;
* 'DESSIN' evaa 'TITRE' tit1 ;
* 'FIN' BL1 ;
* 'OPTION' DONN 5 ;
* Problem with RNY1, RNY2
RESIDU = DTMIN '*' RESIDU ;
DALP1 = 'EXCO' 'ALF1' RESIDU 'SCAL' ;
DRN1 = 'EXCO' 'RN1' RESIDU 'SCAL' ;
DGN1 = 'EXCO' ('MOTS' 'RNX1' 'RNY1' 'RNZ1') RESIDU
('MOTS' 'UX' 'UY' 'UZ') ;
DRET1 = 'EXCO' 'RET1' RESIDU 'SCAL' ;
DALP2 = 'EXCO' 'ALF2' RESIDU 'SCAL' ;
DRN2 = 'EXCO' 'RN2' RESIDU 'SCAL' ;
DGN2 = 'EXCO' ('MOTS' 'RNX2' 'RNY2' 'RNZ2')
RESIDU ('MOTS' 'UX' 'UY' 'UZ') ;
DRET2 = 'EXCO' 'RET2' RESIDU 'SCAL' ;
TPS = TPS '+' DTMIN ;
AL1 = AL1 '+' DALP1 ;
ARN1 = ARN1 '+' DRN1 ;
AGN1 = AGN1 '+' DGN1 ;
AREN1 = AREN1 '+' DRET1 ;
AL2 = AL2 '+' DALP2 ;
ARN2 = ARN2 '+' DRN2 ;
AGN2 = AGN2 '+' DGN2 ;
AREN2 = AREN2 '+' DRET2 ;
'SI' (((&BLITER '/' 20) '*' 20) 'EGA' &BLITER) ;
'MESSAGE' ('CHAINE' 'ITER =' &BLITER ' TPS =' TPS) ;
'FINSI' ;
'SI' (TPS > TFINAL) ;
'QUITTER' BLITER ;
'FINSI' ;
'FIN' BLITER ;
* 'TEMPS' 'IMPR' ;
'TEMPS' ;
* 'OPTION' 'SAUVER' ('CHAINE' 'result.sauv_' RAF 'tps_' TPS ) ;
* 'SAUVER' ;
****************************************************************
****************************************************************
***** The post-treatment ******
****************************************************************
****************************************************************
* 'OPTI' 'REST' 'result.sauv_1tps_5' ;
* 'REST' ;
*
**** The mesh
*
'SI' GRAPH ;
'TRACER' ('DOMA' $DOMTOT 'MAILLAGE')
'TITR' ('CHAINE' 'Maillage: ' ('NBEL' DOMTOT) ' elts');
'FINSI' ;
*
**** Initial conditions
*
MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
'SI' FAUX ;
RN10 RN20 VN10 VN20 PN10 PN20 TN10 TN20 = 'PRIM' 'DEM' PGAS
AL10 AL20 ARN10 ARN20 AGN10 AGN20 AREN10 AREN20 TN1M TN2M EPS ;
CHM_AL10 = 'KCHA' $DOMTOT 'CHAM' AL10 ;
CHM_RN10 = 'KCHA' $DOMTOT 'CHAM' RN10 ;
CHM_VN10 = 'KCHA' $DOMTOT 'CHAM' VN10 ;
CHM_PN10 = 'KCHA' $DOMTOT 'CHAM' PN10 ;
CHM_TN10 = 'KCHA' $DOMTOT 'CHAM' TN10 ;
CHM_AL20 = 'KCHA' $DOMTOT 'CHAM' AL20 ;
CHM_RN20 = 'KCHA' $DOMTOT 'CHAM' RN20 ;
CHM_VN20 = 'KCHA' $DOMTOT 'CHAM' VN20 ;
CHM_PN20 = 'KCHA' $DOMTOT 'CHAM' PN20 ;
CHM_TN20 = 'KCHA' $DOMTOT 'CHAM' TN20 ;
'TRAC' CHM_AL10 MOD1
'TITR' ('CHAINE' 'alp_1 at t=' 0.0) ;
'TRAC' CHM_RN10 MOD1
'TITR' ('CHAINE' 'rho_1 at t=' 0.0) ;
'TRAC' CHM_VN10 MOD1
'TITR' ('CHAINE' 'v_1 at t= ' 0.0) ;
'TRAC' CHM_PN10 MOD1
'TITR' ('CHAINE' 'p_1 at t= ' 0.0) ;
'TRAC' CHM_TN10 MOD1
'TITR' ('CHAINE' 'T_1 at t= ' 0.0) ;
'TRAC' CHM_AL20 MOD1
'TITR' ('CHAINE' 'alp_2 at t=' 0.0) ;
'TRAC' CHM_RN20 MOD1
'TITR' ('CHAINE' 'rho_2 at t=' 0.0) ;
'TRAC' CHM_VN20 MOD1
'TITR' ('CHAINE' 'v_2 at t= ' 0.0) ;
'TRAC' CHM_PN20 MOD1
'TITR' ('CHAINE' 'p_2 at t= ' 0.0) ;
'TRAC' CHM_TN20 MOD1
'TITR' ('CHAINE' 'T_2 at t= ' 0.0) ;
'FINSI' ;
*
**** Results
*
RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS AL1 AL2
ARN1 ARN2 AGN1 AGN2 AREN1 AREN2 TN1M TN2M EPS ;
'SI' FAUX ;
CHM_AL1 = 'KCHA' $DOMTOT 'CHAM' AL1 ;
CHM_RN1 = 'KCHA' $DOMTOT 'CHAM' RN1 ;
CHM_VN1 = 'KCHA' $DOMTOT 'CHAM' VN1 ;
CHM_PN1 = 'KCHA' $DOMTOT 'CHAM' PN1 ;
CHM_TN1 = 'KCHA' $DOMTOT 'CHAM' TN1 ;
CHM_AL2 = 'KCHA' $DOMTOT 'CHAM' AL2 ;
CHM_RN2 = 'KCHA' $DOMTOT 'CHAM' RN2 ;
CHM_VN2 = 'KCHA' $DOMTOT 'CHAM' VN2 ;
CHM_PN2 = 'KCHA' $DOMTOT 'CHAM' PN2 ;
CHM_TN2 = 'KCHA' $DOMTOT 'CHAM' TN2 ;
'TRAC' CHM_AL1 MOD1
'TITR' ('CHAINE' 'alp_1 at t=' TPS) ;
'TRAC' CHM_RN1 MOD1
'TITR' ('CHAINE' 'rho_1 at t=' TPS) ;
'TRAC' CHM_VN1 MOD1
'TITR' ('CHAINE' 'v_1 at t= ' TPS) ;
'TRAC' CHM_PN1 MOD1
'TITR' ('CHAINE' 'p_1 at t= ' TPS) ;
'TRAC' CHM_TN1 MOD1
'TITR' ('CHAINE' 'T_1 at t= ' TPS) ;
'TRAC' CHM_AL2 MOD1
'TITR' ('CHAINE' 'alp_2 at t=' TPS) ;
'TRAC' CHM_RN2 MOD1
'TITR' ('CHAINE' 'rho_2 at t=' TPS) ;
'TRAC' CHM_VN2 MOD1
'TITR' ('CHAINE' 'v_2 at t= ' TPS) ;
'TRAC' CHM_PN2 MOD1
'TITR' ('CHAINE' 'p_2 at t= ' TPS) ;
'TRAC' CHM_TN2 MOD1
'TITR' ('CHAINE' 'T_2 at t= ' TPS) ;
'FINSI' ;
*
*** Evolution Objects
*
LXMED = 'PROG' ('DIME' LEX_XOT) '*' 1.0 ;
TABLEG = 'TABLE' ;
TABLEG . 1 = 'MOT' 'TIRC MARQ PLUS' ;
TABLEG . 2 = 'MOT' 'TIRC MARQ CROI' ;
TABLEG . 3 = 'MOT' '' ;
TABLEG . 'TITRE' = 'TABLE' ;
TABLEG . 'TITRE' . 1 = 'MOT' 'phase 1' ;
TABLEG . 'TITRE' . 2 = 'MOT' 'phase 2' ;
TABLEG . 'TITRE' . 3 = 'MOT' 'alp_1*ph_1 + alp_2 ph_2' ;
TABLE2 = 'TABLE' ;
TABLE2 . 1 = 'MOT' 'TIRC MARQ PLUS' ;
TABLE2 . 2 = 'MOT' '' ;
TABLE2 . 'TITRE' = 'TABLE' ;
TABLE2 . 'TITRE' . 1 = 'MOT' 'Num' ;
TABLE2 . 'TITRE' . 2 = 'MOT' 'Exa' ;
eval1 = ('EVOL' 'CHPO' al1 LIGEVO) 'COULEUR' 'ROUG' ;
eval2 = ('EVOL' 'CHPO' al2 LIGEVO) 'COULEUR' 'BLEU' ;
evone = (eval1 '+' eval2) 'COULEUR' 'VERT' ;
evrn1 = ('EVOL' 'CHPO' rn1 LIGEVO) 'COULEUR' 'ROUG' ;
evrn2 = ('EVOL' 'CHPO' rn2 LIGEVO) 'COULEUR' 'BLEU' ;
evrn = ((eval1 * evrn1) '+' (eval2 * evrn2)) 'COULEUR' 'VERT' ;
evrna = 'EVOL' 'MANU' 'x' (LXMED '+' (LEX_XOT * TFINAL * -1))
'SCAL' LEX_RHO ;
evpn1 = ('EVOL' 'CHPO' pn1 LIGEVO) 'COULEUR' 'ROUG' ;
evpn2 = ('EVOL' 'CHPO' pn2 LIGEVO) 'COULEUR' 'BLEU' ;
evpn = ((eval1 * evpn1) '+' (eval2 * evpn2)) 'COULEUR' 'VERT' ;
evpna = 'EVOL' 'MANU' 'x' (LXMED '+' (LEX_XOT * TFINAL * -1))
'SCAL' LEX_P ;
evux1 = ('EVOL' 'CHPO' vn1 LIGEVO 'UX') 'COULEUR' 'ROUG' ;
evux2 = ('EVOL' 'CHPO' vn2 LIGEVO 'UX') 'COULEUR' 'BLEU' ;
evux = ((eval1 * evux1) '+' (eval2 * evux2)) 'COULEUR' 'VERT' ;
evuna = 'EVOL' 'MANU' 'x' (LXMED '+' (LEX_XOT * TFINAL * -1))
'SCAL' (-1 * LEX_U) ;
evuy1 = ('EVOL' 'CHPO' vn1 LIGEVO 'UY') 'COULEUR' 'ROUG' ;
evuy2 = ('EVOL' 'CHPO' vn2 LIGEVO 'UY') 'COULEUR' 'BLEU' ;
evuy = ((eval1 * evuy1) '+' (eval2 * evuy2)) 'COULEUR' 'VERT' ;
evtn1 = ('EVOL' 'CHPO' tn1 LIGEVO) 'COULEUR' 'ROUG' ;
evtn2 = ('EVOL' 'CHPO' tn2 LIGEVO) 'COULEUR' 'BLEU' ;
evtn = ((eval1 * evtn1) '+' (eval2 * evtn2)) 'COULEUR' 'VERT' ;
evtna = 'EVOL' 'MANU' 'x' (LXMED '+' (LEX_XOT * TFINAL * -1))
'SCAL' LEX_T ;
*
* Test
*
'SI' GRAPH ;
'DESSIN' (eval1 'ET' eval2 'ET' evone) 'TITRE'
'alpha (alp_1 + alp_2)'
'LEGE' TABLEG ;
'DESSIN' ((evone '-' (evone '/' evone))) 'TITRE'
'(alp_1 + alp_2), error' ;
'DESSIN' (evrn1 'ET' evrn2 'ET' evrn) 'TITRE' 'Density'
'LEGE' TABLEG ;
'DESSIN' (evrn et evrna) 'TITRE' 'Density' 'LEGE' TABLE2 ;
'DESSIN' (evpn1 'ET' evpn2 'ET' evpn) 'TITRE' 'Pressure'
'LEGE' TABLEG ;
'DESSIN' (evpn et evpna) 'TITRE' 'Pressure' 'LEGE' TABLE2 ;
'DESSIN' (evtn1 'ET' evtn2 'ET' evtn) 'TITRE' 'Temperature'
'LEGE' TABLEG ;
'DESSIN' (evtn et evtna) 'TITRE' 'Temperature' 'LEGE' TABLE2 ;
'DESSIN' (evux1 'ET' evux2 'ET' evux) 'TITRE' 'ux'
'LEGE' TABLEG ;
'DESSIN' (evux et evuna) 'TITRE' 'ux' 'LEGE' TABLE2 ;
'DESSIN' (evuy1 'ET' evuy2 'ET' evuy) 'TITRE' 'uy'
'LEGE' TABLEG ;
'DESSIN' (evuy) 'TITRE' 'uy' ;
'FINSI' ;
*
**** Test
*
lxa = 'EXTRAIRE' EVRNA 'ABSC' ;
lrhoa = 'EXTRAIRE' EVRNA 'ORDO' ;
lx = 'EXTRAIRE' EVRN 'ABSC' ;
lrho = 'EXTRAIRE' EVRN 'ORDO' ;
lrho1 = 'IPOL' lxa lx lrho ;
erro = 'ABS' ((lrho1 '-' lrhoa) '/' lrhoa) ;
lxa1 = (lxa '-'
('PROG' ('DIME' lxa) '*' ('MINIMUM' lxa))) ;
everro = 'EVOL' 'MANU' 'x' lxa1 'y' erro ;
erroint = ('PRIM' everro) ;
'SI' GRAPH ;
'DESSIN' everro 'TITRE' 'Erreur' ;
'DESSIN' erroint 'TITRE' 'Integral de l Erreur' ;
'FINSI' ;
errL1 = ('MAXIMUM' ('EXTRAIRE' erroint 'ORDO')) '/'
('MAXIMUM' lxa1) ;
'MESSAGE' ;
'MESSAGE' ('CHAINE' 'ERR_L1 = ' errL1) ;
'MESSAGE' ;
SI (errL1 > 1.0D-1) ;
'ERREUR' 'errL1 too big !!! ' ;
'ERREUR' 5 ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer