* 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