Download proi2.dgibi

Back to the list

* fichier : proi2.dgibi
'OPTI' 'ECHO' 0 ;
************************************************************************
* NOM         : PROI2
* DESCRIPTION : Petit cas-test qui ne fonctionnait pas avant la fiche
*               5791.
*               Pour l'élément linéaire et quadratique, OK
*               Pour l'élément QUAF, la subroutine qsijs convergeait
*               vers un point à l'extérieur de l'élément, alors que
*               p1 est bien à l'intérieur.
*
*               Diagnostic : mauvais point de départ pour le Newton
*               dans qsijs et minimums locaux externes au QUAF du aux
*               fonctions de forme du TRI7
*
*               Remède appliqué : dans zoneg2, d'abord utiliser les
*               fonctions de forme linéaires correspondantes pour
*               trouver un meilleur point de départ pour le Newton
*               avec les fonctions de forme QUAF.
*
* LANGAGE     : GIBIANE-CAST3M
* AUTEURS     : Sébastien CADALEN (CEA/DEN/DM2S/SFME/MTMS)
*             : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
*               mél : gounand@semt2.smts.cea.fr
**********************************************************************
* VERSION    : v1, 17/07/2007, version initiale
* HISTORIQUE : v1, 17/07/2007, création
* HISTORIQUE :
* HISTORIQUE :
************************************************************************
* Prière de PRENDRE LE TEMPS de compléter les commentaires
* en cas de modification de ce sous-programme afin de faciliter
* la maintenance !
************************************************************************
*
'SAUTER' 2 'LIGNE' ;
'MESSAGE' ' Execution de proi2.dgibi' ;
'SAUTER' 2 'LIGNE' ;
*
interact= FAUX ;
graph   = FAUX ;
*
'OPTION' 'DIME' 2 'ELEM' 'TRI6'  ;
'SI' ('NON' interact) ;
  'OPTION' 'TRAC' 'PS' ;
'SINON' ;
  'OPTION' 'TRAC' 'X' ;
'FINSI' ;  
*
lok = VRAI ;
*                                                 le point de projection
p1      = 1.994096174677 0.250764704078                                ;
p1      = 'MANUEL' 'POI1' p1                                           ;
*                                                            le triangle
a1      = 2.000000000000 0.246676917055                                ;
a2      = 2.000000000000 0.251339919124                                ;
a3      = 2.000000000000 0.259936440173                                ;
a4      = 1.991898333835 0.254935379427                                ;
a5      = 1.983261903334 0.247161839055                                ;
a6      = 1.994853332086 0.246695009358                                ;
a7      = 1.995340470147 0.251134301758                                ;
*                                                        projection LINE
'MESSAGE' 'Projection LINE' ;
tri1    = 'MANUEL' 'TRI3' a1 a3 a5                                     ;
$tri1   = 'MODELISER' tri1 'THERMIQUE'                                 ;
chp1    = 'MANUEL' 'CHPO' tri1 1 'SCAL' 1.                             ;
che1    = 'CHANGER' 'CHAM' chp1 $tri1                                  ;
'SI' graph ;
   'TRACER' ('ET' tri1 p1) ;
'FINSI' ;   
pp1     = 'PROI' p1 che1                                               ;
*
* Le test effectué repose sur le fait que si le chpoint renvoyé par PROI
* est vide, mp1 vaut 0. et pas 1.
*
mp1     = 'MAXIMUM' pp1 ;
tst     = ('EGA' mp1 1. 0.001) ;
'SI' ('NON' tst) ;
   cherr = 'CHAINE' '!!! Erreur, on aurait voulu mp1 = 1 et non ' mp1 ;
  'MESSAGE' cherr ;                          
'FINSI' ;                          
lok = lok 'ET' tst ;
*                                                        projection QUAD
'MESSAGE' 'Projection QUAD' ;
tri2    = 'MANUEL' 'TRI6' a1 a2 a3 a4 a5 a6                            ;
$tri2   = 'MODELISER' tri2 'THERMIQUE'                                 ;
chp1    = 'MANUEL' 'CHPO' tri2 1 'SCAL' 1.                             ;
che1    = 'CHANGER' 'CHAM' chp1 $tri2                                  ;
pp1     = 'PROI' p1 che1                                               ;
'SI' graph ;
   'TRACER' ('ET' tri2 p1) ;
'FINSI' ;   
mp1     = 'MAXIMUM' pp1 ;
tst     = ('EGA' mp1 1. 0.001) ;
'SI' ('NON' tst) ;
   cherr = 'CHAINE' '!!! Erreur, on aurait voulu mp1 = 1 et non ' mp1 ;
  'MESSAGE' cherr ;                          
'FINSI' ;                          
lok = lok 'ET' tst ;
*                                                        projection QUAF
'MESSAGE' 'Projection QUAF' ;
tri3    = 'MANUEL' 'TRI7' a1 a2 a3 a4 a5 a6 a7                         ;
*$tri3   = 'MODELISER' tri3 'NAVIER_STOKES' 'QUAF'                      ;
$tri3   = 'MODELISER' tri3 'THERMIQUE'                                 ;
chp1    = 'MANUEL' 'CHPO' tri3 1 'SCAL' 1.                             ;
che1    = 'CHANGER' 'CHAM' chp1 $tri3                                  ;
'SI' graph ;
   'TRACER' ('ET' tri3 p1) ;
'FINSI' ;   
pp1     = 'PROI' p1 che1                                               ;
mp1     = 'MAXIMUM' pp1 ;
tst     = ('EGA' mp1 1. 0.001) ;
'SI' ('NON' tst) ;
   cherr = 'CHAINE' '!!! Erreur, on aurait voulu mp1 = 1 et non ' mp1 ;
  'MESSAGE' cherr ;                          
'FINSI' ;                          
lok = lok 'ET' tst ;
*
* Fin du jeu de donnees 
*
'SAUTER' 2 'LIGNE' ;
'SI' lok ;
   'MESSAGE' 'Tout sest bien passe' ;
'SINON' ;
   'MESSAGE' 'Il y a eu des erreurs' ;
'FINSI' ;   
'SAUTER' 2 'LIGNE' ;
'SI' interact ;
   'OPTION' 'DONN' 5 'ECHO' 1 ;
'FINSI' ;   
'SI' ('NON' lok) ;
   'ERREUR' 5 ;
'FINSI' ;   
*
* End of dgibi file PROI2
*
'FIN' ;

 

© Cast3M 2003 - All rights reserved.
Disclaimer