Download testkcha.dgibi

Back to the list

* fichier :  testkcha.dgibi
******************** CAS TEST : testkcha.dgibi ************************
*
* Cas-Test vérifiant le bon fonctionnement de l'opérateur 'KCHA' dans
* les deux sens.
*
 OPTION ECHO 1 ;
CRIT1 = 1.D-14 ;
'SAUTER' 'PAGE';

'TITRE' 'Validation du l opérateur KCHA';

'OPTION' 'DIME' 2 'ELEM' 'QUA4' ;

*
* Création maillage :
*
INX    = 4 ;
INY    = 2 ;
*
X0     = 0. ;
Y0     = 0. ;
*
LX     = 1. ;
LY     = 1. ;
*
P1     = X0 Y0 ;
P2     = P1 'PLUS' (LX 0.) ;
P3     = P1 'PLUS' (LX LY) ;
P4     = P1 'PLUS' (0. LY) ;
*
L1     = 'DROIT' P1 INX P2 ;
L2     = 'DROIT' P2 INY P3 ;
L3     = 'DROIT' P3 INX P4 ;
L4     = 'DROIT' P4 3 P1 ;
*
LTOT   = L1 'ET' L2 'ET' L3 'ET' L4 ;
MTOT   = 'SURFACE' LTOT;
*
MTOT1  = 'ELEM' MTOT 'TRI3' ;
MTOT2  = 'ELEM' MTOT 'QUA4' ;
*
MTOTF  = 'CHANGER'  MTOT  'QUAF'  ;
MTOTF1 = 'CHANGER'  MTOT1 'QUAF'  ;
MTOTF2 = 'CHANGER'  MTOT2 'QUAF'  ;
ELIM 0.01 ( MTOTF 'ET' MTOTF1 'ET' MTOTF2) ;
*TRAC MTOT;
*
* Construction modèles et compagnie
*
*HYTOT  = 'DOMA' MTOT ;
*HYDO1  = 'DOMA' MTOT1 'INCL' HYTOT 0.01;
*HYDO2  = 'DOMA' MTOT2 'INCL' HYTOT 0.01;
*
MODHYB = 'MODELE' MTOTF  'DARCY' 'ISOTROPE'  ;
MODHY1 = 'MODELE' MTOTF1 'DARCY' 'ISOTROPE'  ;
MODHY2 = 'MODELE' MTOTF2 'DARCY' 'ISOTROPE'  ;

'LISTE' ('DOMA' modhyb 'TABLE');
*
* ==========
* 1er test :
* ==========
*
* Champ-point test, transformé en CHAMELEM puis ren CHPO :
*
CHP1   = 'COOR' 1 ('DOMA' MODHYB 'CENTRE' ) ;
CHAM1  = 'KCHA' MODHYB 'CHAM' CHP1   ;
CHP2   = 'KCHA' MODHYB 'CHPO' CHAM1  ;
 
* test : 
err1   = 'MAXIMUM' ('ABS' (CHP2 - CHP1));
*
* =========
* 2e test :
* =========
*
* Champ par élément test, transformé en champ-point puis ren CHAMELEM:
* Dû à une erreur dans l'opérateur 'MANU', il faut -aujourd'hui-
* imposer un nom de constituant à la main pour chaque chamelem créé.
*
CHAM31 = 'MANU' 'CHML' MODHY1 'COM1' 10. 'GRAVITE' ;
CHAM31 = 'CHANGER' 'CONS' cham31 'HOP' ;
CHAM32 = 'MANU' 'CHML' MODHY2 'COM2' 20. 'GRAVITE' ;
CHAM32 = 'CHANGER' 'CONS' cham32 'HOP' ;
CHAM3  = CHAM31 'ET' CHAM32 ;
CHAM3  = 'REDU' cham3 ('DOMA' MODHYB 'MAILLAGE') ;

CHP3   = 'KCHA' MODHYB 'CHPO' CHAM3;
CHAM4  = 'KCHA' MODHYB 'CHAM' CHP3;
CHAM4  = 'CHANGER' 'CONS' cham4 'HOP' ;

* test : 
err2   = 'MAXIMUM' ('ABS' (CHAM3 - CHAM4));

*
* =========
* 3e test :
* =========
*
* option 'QUAF' pour appuyer le chamelem sur le maillage quaf au lieu du
* maillage de base
CHAM4  = 'KCHA' MODHYB CHP3  'CHAM' 'QUAF' ;
* il faut préciser que le chamelem s'appuie sur des quaf (sinon erreur)
CHP4   = 'KCHA' modhyb cham4 'CHPO' 'QUAF' ;

* test : 
err3   = 'MAXIMUM' ('ABS' (CHP4 - CHP3));

*
* =========
* 4e test :
* =========
*
* Création chpoint à partir d'un chamelem non aux centres
* kcha fera alors la moyenne par élément sur tous les points
xx     = 'COOR' 1 MTOT ;
* appuyé aux noeuds du quaf
cham5  = 'CHANGER' xx modhyb 'CHAM' ;
chpo5  = 'KCHA' cham5 modhyb 'CHPO' 'QUAF' ;
* appuyé aux noeud du maillage
cham6  = 'CHANGER' xx mtot   'CHAM' ;
chpo6  = 'KCHA' cham6 modhyb 'CHPO' ;

* =======
* Sortie 
* =======

'SI' ((err1 > crit1) 'OU' (err2 > crit1) 'OU' (err3 > crit1)) ;
   'ERREUR' 5;
'SINON';
   'ERREUR' 0;
'FINSI';
 
*'TEMPS' 'SGAC' 'IMPR' ; 

'FIN' ;

 

© Cast3M 2003 - All rights reserved.
Disclaimer