Numérotation des lignes :

* fichier :  konv_fmm_test2.dgibi*********************************************************************************************************************************************************************************************************************** *                                                                     * * 'KONV' OPERATOR                                                     **  FREE MATRIX METHOD implicitation.                                  **                                                                     * *  VF "cell-centered" discretization of the Euler equations.          **  Unknowns : U (density, momentum, total energy per volume unity     **  (conservative variables))                                          **  In the i-th cell we have to compute                                **                                                                     **    (U_i^{n+1} - U_i^{n})  * AN_i(U^{n}) =                           **        RES_i(U^{n}) + BN_i(U^{n}) - BN_i(U_i^{n+1})                 **                                                                     * * In this test case we compute AN et BN in a particular 1D case.      **                                                                     * * A. Beccantini                                                       * * SFME/LTMF                                                           * * 03/05/01                                                            * *********************************************************************** *********************** MAILLAGE **********************  TYEL = 'QUA4' ;  'OPTION'  'DIME' 2  'ELEM' TYEL  'ISOV' 'SULI'    'ECHO' 1 'TRAC' 'X' ;  GRAPH = VRAI ; GRAPH = FAUX ; ***  RAF = 1 ;  NX = 1 ; NY = 1 ; DX = 0.5 ;  A0 = 0.  0. ; A1 = 0.5 0. ; A2 = 0.5 0.5 ; A3 = 0.  0.5 ; ***** LIGB*  LIGB= A0 'DROIT' NX A1 ; ***** LIGH*  LIGH = A3 'DROIT' NX A2 ; ***** DOMINT*  DOMINT =  LIGH 'REGLER' NY LIGB ; LIGCON = 'CONTOUR' DOMINT ; **** LIGG*  LIGG = LIGCON 'ELEM' 'COMP' A0  A3 ; ***** LIGD*  LIGD = LIGCON 'ELEM' 'COMP' A2  A1 ;  FROD = LIGD 'TRANSLATION' 1 (DX 0.0) ; FROG = LIGG 'TRANSLATION' 1 ((-1.0 '*' DX) 0.0) ; * DOMTOT = total region  DOMTOT = DOMINT 'ET' FROD 'ET' FROG  ; 'ELIMINATION' (1.0D-3 '/' RAF) DOMTOT ; ***** Creation of DOMAINE tables via the MODEL object*   $DOMTOT = 'MODELISER' DOMTOT 'EULER' ;$DOMINT  = 'MODELISER' DOMINT 'EULER' ; $FROD = 'MODELISER' FROD 'EULER' ;$FROG    = 'MODELISER' FROG   'EULER' ; $LIGG = 'MODELISER' LIGG 'EULER' ;$LIGD    = 'MODELISER' LIGD   'EULER' ;  TDOMTOT  = 'DOMA' $DOMTOT 'VF' ; TDOMINT = 'DOMA'$DOMINT 'VF' ; TFROD    = 'DOMA' $FROD 'VF' ; TFROG = 'DOMA'$FROG   'VF' ; TLIGG    = 'DOMA' $LIGG 'VF' ; TLIGD = 'DOMA'$LIGD   'VF' ;  QDOMTOT = TDOMTOT . 'QUAF' ; QDOMINT = TDOMINT . 'QUAF' ; QFROD   = TFROD   . 'QUAF' ; QFROG   = TFROG   . 'QUAF' ; QLIGG   = TLIGG   . 'QUAF' ; QLIGD   = TLIGD   . 'QUAF' ;   'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QDOMINT ; 'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QFROD ; 'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QFROG ; 'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QLIGD ; 'ELIMINATION' QDOMTOT (1.0D-3 '/' RAF) QLIGG ;***** SEG2 mesh for BC*  ELP1 = 'MANUEL' 'POI1' ('POIN' 1 ('DOMA' $LIGD 'CENTRE')) ; ELTINT = ('DOMA'$DOMINT 'FACEL')  'ELEM' 'APPUYE'  'LARGEMENT'    ELP1 ; ELTFRO =  'ELEM' ('DOMA' $FROD 'FACEL') 'APPUYE' 'LARGEMENT' ELP1 ; P1 = 'POIN' 1 ELTINT ; P2 = 'POIN' 1 ELTFRO ; COND = 'MANUEL' 'SEG2' P1 P2 ; NBL1 = ('NBNO' ('DOMA'$LIGD 'CENTRE')) '-' 1 ; 'SI' (NBL1 > 0) ;  'REPETER' BL1 NBL1 ;    ELP1 = 'MANUEL' 'POI1' ('POIN' (&BL1 '+'  1)          ('DOMA' $LIGD 'CENTRE')) ; ELTINT = ('DOMA'$DOMINT 'FACEL')  'ELEM' 'APPUYE'  'LARGEMENT'       ELP1 ;    ELTFRO =  'ELEM' ('DOMA' $FROD 'FACEL') 'APPUYE' 'LARGEMENT' ELP1 ; P1 = 'POIN' 1 ELTINT ; P2 = 'POIN' 1 ELTFRO ; COND = COND 'ET' ('MANUEL' 'SEG2' P1 P2) ; 'FIN' BL1 ; 'FINSI' ; COND = COND 'COULEUR' 'ROUG' ; ELP1 = 'MANUEL' 'POI1' ('POIN' 1 ('DOMA'$LIGG 'CENTRE')) ;   ELTINT =  ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' ELP1 ; ELTFRO = 'ELEM' ('DOMA'$FROG 'FACEL')  'APPUYE'  'LARGEMENT'    ELP1 ; P1 = 'POIN' 1 ELTINT ; P2 = 'POIN' 1 ELTFRO ; CONG = 'MANUEL' 'SEG2' P1 P2 ;  'SI' (NBL1 > 0) ; NBL1 = ('NBNO' ('DOMA' $LIGG 'CENTRE')) '-' 1 ; 'REPETER' BL1 NBL1 ; ELP1 = 'MANUEL' 'POI1' ('POIN' (&BL1 '+' 1) ('DOMA'$LIGG 'CENTRE')) ;    ELTINT =  ('DOMA' $DOMINT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' ELP1 ; ELTFRO = 'ELEM' ('DOMA'$FROG 'FACEL')  'APPUYE'  'LARGEMENT'       ELP1 ;    P1 = 'POIN' 1 ELTINT ;    P2 = 'POIN' 1 ELTFRO ;    CONG = CONG 'ET' ('MANUEL'  'SEG2' P1 P2) ; 'FIN' BL1 ; 'FINSI' ;  CONG = CONG 'COULEUR' 'ROUG' ;  'SI' GRAPH ;    'TRACER' (DOMTOT 'ET'  COND 'ET' CONG)  'TITRE'        'Domaine total' ; 'FINSI' ; ***************************************************************************************************************** Initial conditions ************************************************************************************************************************************ * ******************************************************************** PROCEDURE POUR CALCULER LES VARIABLES CONSERVATIVES ********************************************************************  'DEBPROC' CONS ; 'ARGUMENT' RN*'CHPOINT' VN*'CHPOINT' PN*'CHPOINT' GAMN*'CHPOINT' ;  RVN  =  RN '*' VN ('MOTS' 'SCAL' 'SCAL') ('MOTS' 'UX' 'UY')    ('MOTS' 'UX' 'UY') ; CELL = 'PSCAL' RVN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY') ; RECIN = 0.5 '*' CELL ; REIN = PN '/' (GAMN '-' 1.0) ; RETN = RECIN '+' REIN ;  DETR CELL ; DETR RECIN ; DETR REIN ; 'RESPRO' RVN RETN ;  'FINPROC' ; *********************************************************************************************************************************************************************************************  GAMAIR = 1.4 ;   RN0  = ('MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 1.4 'NATURE' 'DISCRET') ; VN0 = ('MANU' 'CHPO' ('DOMA'$DOMTOT 'CENTRE') 2 'UX'  0.5        'UY' 0.0  'NATURE' 'DISCRET') ;  PN0  = ('MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' 4.0 'NATURE' 'DISCRET') ; GAMN = 'MANU' 'CHPO' ('DOMA'$DOMTOT 'CENTRE') 1 'SCAL' GAMAIR        'NATURE' 'DISCRET' ;  GN0 RETN0 = CONS RN0 VN0 PN0 GAMN  ;  VN1 PN1 = 'PRIM' 'PERFMONO' RN0 GN0 RETN0 GAMN ;  ERRO = 'MAXIMUM' (PN1 '-' PN0) 'ABS' ;  'SI' (ERRO > 1.0D-6) ;    'MESSAGE' 'Problem in the ic file!!!'    'ERREUR' 5 ; 'FINSI' ; ***** Plot of IC*  MOD1  =  'MODELISER'  ('DOMA' $DOMTOT 'MAILLAGE' ) 'THERMIQUE'; 'SI' GRAPH ; CHM_RN = 'KCHA'$DOMTOT 'CHAM' RN0 ;    CHM_PN   =  'KCHA' $DOMTOT 'CHAM' PN0 ; CHM_VN = 'KCHA'$DOMTOT 'CHAM'  VN0 ;     'TRACER'  CHM_RN  MOD1        'TITR'  ('CHAINE'  'RN at t='  0.0);    'TRACER'  CHM_PN  MOD1        'TITR'  ('CHAINE'  'PN at t='  0.0);    'TRACER'  CHM_VN MOD1       'TITR'  ('CHAINE' 'VN at t='  0.0);  'FINSI' ;  MOTRN   = 'RN' ; MOTRNX  = 'RUX' ; MOTRNY  = 'RUY' ; MOTRETN = 'RETN' ; LISTINCO = 'MOTS' MOTRN MOTRNX MOTRNY MOTRETN ; ******************************************************************************************* TEST **************************************************************************************************************  ZERO = 1.0D-8 ; SAFFAC = 10. ; PINT = 'POIN' 1 ('DOMA' $DOMINT 'CENTRE') ; cson = 2. ; sigmaf = cson '+' 0.5 ; rsurf = 0.5 ; rvolu = 0.25 ; rdia = 0.5 ; deltat = saffac '*' 0.5 '*' (rdia '/' sigmaf) ; ani = ((1. '/' deltat) '+' ((rsurf '/' rvolu) '*' sigmaf)) ; ani = ani '+' ((rsurf '/' rvolu) '*' cson) ; * ANINT = 'MANUEL' 'CHPO' ('DOMA'$DOMINT 'CENTRE') 1 'SCAL' ani ;  ROF VITF PF GAMF = 'PRET' 'PERFMONO'  1 1     $DOMTOT RN0 VN0 PN0 GAMN ; ANI1 = 'KONV' 'VF' 'PMONOFMM' 'AN' LISTINCO$DOMTOT  RN0 GN0 RETN0 GAMN SAFFAC ;   ERRO = 'MAXIMUM' ('REDU' ('ABS' (ANINT  '-' ANI1))        ('DOMA' $DOMINT 'CENTRE')) ; 'SI' (ERRO > ZERO) ; 'MESSAGE' 'Probleme en KONV' ; 'ERREUR' 5 ; 'FINSI' ; BNI1 = 'KONV' 'VF' 'PMONOFMM' 'BN' LISTINCO$DOMTOT  RN0 GN0 RETN0 GAMN ;  ro = 'EXTRAIRE' RN0 'SCAL' PINT ; roux = 'EXTRAIRE' GN0 'UX' PINT ; rouy = 'EXTRAIRE' GN0 'UY' PINT ; retn = 'EXTRAIRE' RETN0 'SCAL' PINT ;  bcel = -1 '*' (sigmaf * rsurf '/' rvolu) ; bcel = bcel '-' (cson * rsurf '/' rvolu) ;  bn1 = bcel * ro ; bn2 = bcel * roux ; bn3 = bcel * rouy ; bn4 =  bcel * retn ;  bna1 = 'EXTRAIRE' BNI1 'RN'   PINT ; bna2 = 'EXTRAIRE' BNI1 'RUX'  PINT ; bna3 = 'EXTRAIRE' BNI1 'RUY'  PINT ; bna4 = 'EXTRAIRE' BNI1 'RETN' PINT ;  ERRO = 'MAXIMUM' ('ABS' ('PROG' (bn1 '-' bna1) (bn2 '-' bna2)    (bn3 '-' bna3) (bn4 '-' bna4))) ;  'SI' (ERRO > ZERO) ;    'MESSAGE' 'Probleme en KONV' ;    'ERREUR' 5 ; 'FINSI' ;  'FIN' ;

© Cast3M 2003 - Tous droits réservés.
Mentions légales