* 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