Download pret_scal1.dgibi

Back to the list

* fichier :  pret_scal1.dgibi
**********************************************************************
**** APPROCHE VF                                                  ****
****                                                              ****
**** OPERATEUR PRET                                               ****
**** Operateur qui reconstruit les variables primitives aux faces ****
****                                                              ****
**** A. BECCANTINI SFME/LTMF                       NOVEMBRE 01    ****
**********************************************************************

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

*
*** GRAPH
*

* GRAPH = VRAI ;
 GRAPH = FAUX ;


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

*
**** Deux carre
*

 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;


 DOM10  = 'DALL' L12 L25 L56 L61
          'PLANE';
 DOM20  = 'DALL' L23 L34 L45 ('INVERSE' L25)
          'PLANE';

*
*** Point face entre le deux carre, ou on fait les controlles
*

 P10 = 1.0 0.5;


 DOM1 =  DOM10 ;
 DOM2 =  DOM20 ;


'ELIMINATION' (DOM1 ET DOM2) 1D-6;
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 ;

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

 'SI' GRAPH;
   'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' ('DOMA' $DOMTOT 'FACEL')
   'ET' P1) 'TITRE' 'Domaine et FACEL';
 'FINSI' ;

 ETATG = 'PROG' 1.0 2.0 3.0 4.0 ;
 ETATD = ETATG '*' 10 ;
 
 SN =('MANUEL' 'CHPO' ('DOMA' $DOM1 'CENTRE') 4 'C1' 1.0 'C2' 2.0 
     'C3' 3.0 'C4' 4.0 'NATU' 'DISCRET') 'ET'
     ('MANUEL' 'CHPO' ('DOMA' $DOM2 'CENTRE') 4 'C1' 10.0 'C2' 20.0 
     'C3' 30.0 'C4' 40.0 'NATU' 'DISCRET') ;

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

*********************************************************
*** Control des etats sur la surface qui contient P1 ****
*********************************************************


 GEOP1    = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
 GEOP2    = ('DOMA' $DOMTOT 'FACE')  'ELEM' 'APPUYE' 'LARGEMENT' P1;


 
 SGEOP1  = 'REDU' SF GEOP1;

 C1g = 'EXTRAIRE' SGEOP1 'C1' 1 1 1;
 C1d = 'EXTRAIRE' SGEOP1 'C1' 1 1 3;

 C2g = 'EXTRAIRE' SGEOP1 'C2' 1 1 1;
 C2d = 'EXTRAIRE' SGEOP1 'C2' 1 1 3;

 C3g = 'EXTRAIRE' SGEOP1 'C3' 1 1 1;
 C3d = 'EXTRAIRE' SGEOP1 'C3' 1 1 3;

 C4g = 'EXTRAIRE' SGEOP1 'C4' 1 1 1;
 C4d = 'EXTRAIRE' SGEOP1 'C4' 1 1 3;

 CHPNOR = 'DOMA' $DOMTOT 'NORMALE' ;

*
**** Orientation de la normal n de castem par raport a la
*    notre; t est par consequence
*

 ORIENT = 'EXTRAIRE' CHPNOR P1 'UX' ;

*
**** ORIENT = -1 -> Mon etat gauche est son etat droite
*

 'SI' (ORIENT > 0);

    ERRLIG = 'PROG' C1g C2g C3g C4g;
                
    ERRLID = 'PROG' C1d C2d C3d C4d; 

 'SINON' ;                

    ERRLID = 'PROG' C1g C2g C3g C4g;
                
    ERRLIG = 'PROG' C1d C2d C3d C4d;
    
 'FINSI' ;

 ERRO = 'MAXIMUM' ('PROG' 
   ('MAXIMUM' (ETATG '-' ERRLIG) 'ABS')
   ('MAXIMUM' (ETATD '-' ERRLID) 'ABS')
 );


 'SI' (ERRO > 1.0D-14)
    'MESSAGE' 'Ordre en espace = 1';
    'MESSAGE' 'PRET = ???'
    'ERREUR' 5 ;
 'FINSI' ;

'FIN' ;


 

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer