Download konv_scal_cons.dgibi

Back to the list

* fichier :  konv_scal_cons.dgibi
***********************************************************
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour le    ****
**** transport des scalaires                           **** 
**** OPERATEURS PRET, KONV                             ****
****                                                   ****
**** Consistence                                       ****
****                                                   ****
**** A. BECCANTINI DM2S/SFME   NOVEMBRE 2001           ****
***********************************************************
***********************************************************

 'OPTION'  'DIME' 2 'ELEM' QUA4 'ECHO' 0  'TRAC' 'X' ;

*
*** GRAPH
*

 GRAPH = FAUX ;
* GRAPH = VRAI ;

***************************
***** DOMAINE SPATIAL  ****
***************************

 A1 = 0.0D0 0.0D0;
 A2 = 1.0D0 0.0D0;
 A3 = 2.0D0 0.0D0;
 A4 = 2.0D0 1.0D0;
 A5 = 1.0D0 1.0D0;
 A6 = 0.0D0 1.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;


 DOM1 = 'DALL' L12 L25 L56 L61
         'PLANE';
 DOM2 = 'DALL' L23 L34 L45 ('INVERSE' L25)
         'PLANE';
 DOMTOT = DOM1 'ET' DOM2 ;
 'ELIMINATION' 0.0001 DOMTOT ;

*
*** Point ou on controlle la consistence
*

 P1 = 1.0 0.5;

 $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' ;

 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
 
 'SI' GRAPH;
       'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'  
       ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
 'FINSI' ;
         
*
*** Etats gauche et droit
*

 rog = 1.11;
 ung  = 1.3;
 pg   = 1234.7;
 gamg = 1.4D0;

 rod = 11.11;
 und  = 11.3;
 pd   =11234.7;
 gamd = 1.41D0;

*
**** Redefinition de P1 dans $DOMTOT 'FACE'
*

 P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;

***********************
**** Les CHPOINTs  ****
***********************

 SN = ('MANUEL' 'CHPO' ('DOMA' $DOM1 'CENTRE') 4 'RN' rog 'UN' ung
      'PN' pg 'GAMN' gamg 'NATURE' 'DISCRET') 'ET'
      ('MANUEL' 'CHPO' ('DOMA' $DOM2 'CENTRE') 4 'RN' rod 'UN' und
      'PN' pd 'GAMN' gamd 'NATURE' 'DISCRET') ;
      
 UN = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'FACE') 2 'UX' 1.0 'UY' 0.0 ;

 SF =  'PRET' 'CLAUDEIS' 'FACE' 1  $DOMTOT SN ;

 FLUX DT = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'UPWIND'
             $DOMTOT SF UN ;

 FLUX1 DT1 = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'CENTERED'
             $DOMTOT SF UN ;

 'SI' (('ABS' (DT '-' 0.5)) > 1.0D-6) ;
    'MESSAGE' 'DT = ???' ;
    'MESSAGE' 'KONV =???' ;
    'ERREUR' 5 ;
 'FINSI' ;
 
*

 SURFP1 = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXSURFAC') P1 'SCAL' ;

 
 FP1 = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' rog 'UN' ung
      'PN' pg 'GAMN' gamg 'NATURE' 'DISCRET') * SURFP1 * (-1) ;
      
 FPC = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' ((rog '+' rod) '/'
    2.) 'UN' ((ung '+' und) '/' 2.) 'PN' ((pg '+' pd) '/' 2.)
    'GAMN' ((gamg '+' gamd) '/' 2.) 'NATURE' 'DISCRET') '*'
    SURFP1 * (-1) ;
      

 ERRO = FLUX 'ET' FP1 ;

 ERRO = 'REDU' ERRO  ('MANUEL' 'POI1' P1) ;
 
 ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;

 'SI' (ERROSCAL > 1.0D-6) ;
    'MESSAGE' 'PRET =???' ;
    'MESSAGE' 'KONV UPWIND =???' ;
    'ERREUR' 5 ;
 'FINSI' ;

 ERRO = FLUX1 'ET' FPC ;
 ERRO = 'REDU' ERRO  ('MANUEL' 'POI1' P1) ;
 ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;

 'SI' (ERROSCAL > 1.0D-6) ;
    'MESSAGE' 'PRET =???' ;
    'MESSAGE' 'KONV CENTERED =???' ;
    'ERREUR' 5 ;
 'FINSI' ;

*
**** UN = -1
*
  
 UN = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'FACE') 2 'UX' -1.0 'UY' 0.0 ;

 FLUX DT = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'UPWIND'
             $DOMTOT SF UN ;

 FLUX1 DT1 = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'CENTERED'
             $DOMTOT SF UN ;

 SURFP1 = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXSURFAC') P1 'SCAL' ;

 
 FP1 = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' rod 'UN' und
      'PN' pd 'GAMN' gamd 'NATURE' 'DISCRET') * SURFP1 ;
      
 ERRO = FLUX 'ET' FP1 ;

 ERRO = 'REDU' ERRO  ('MANUEL' 'POI1' P1) ;
 
 ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;

 'SI' (ERROSCAL > 1.0D-6) ;
    'MESSAGE' 'PRET =???' ;
    'MESSAGE' 'KONV =???' ;
    'ERREUR' 5 ;
 'FINSI' ;
 
 'SI' (('ABS' (DT '-' 0.5)) > 1.0D-6) ;
    'MESSAGE' 'DT = ???' ;
    'MESSAGE' 'KONV =???' ;
    'ERREUR' 5 ;
 'FINSI' ;
 
 FPC = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' ((rog '+' rod) '/'
    2.) 'UN' ((ung '+' und) '/' 2.) 'PN' ((pg '+' pd) '/' 2.)
    'GAMN' ((gamg '+' gamd) '/' 2.) 'NATURE' 'DISCRET') '*'
    SURFP1  ;
      
 ERRO = FLUX1 'ET' FPC ;
 ERRO = 'REDU' ERRO  ('MANUEL' 'POI1' P1) ;
 ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;

 'SI' (ERROSCAL > 1.0D-6) ;
    'MESSAGE' 'PRET =???' ;
    'MESSAGE' 'KONV CENTERED =???' ;
    'ERREUR' 5 ;
 'FINSI' ;
 
 'FIN' ;

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer