* fichier : deduad3d.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * NOM : DEDUAD3D * DESCRIPTION : cas test 3d pour deduadap * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) * mél : gounand@semt2.smts.cea.fr ********************************************************************** * VERSION : v1, 21/09/2005, version initiale * HISTORIQUE : v1, 21/09/2005, 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 deduad3d.dgibi' ; 'SAUTER' 2 'LIGNE' ; * * * interact= FAUX ; graph = FAUX ; debug = FAUX ; * *BEGINPROCEDUR cas3d ************************************************************************ * NOM : CAS3D * DESCRIPTION : Construit les cas pour deduadap 3D * * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) * mél : gounand@semt2.smts.cea.fr ********************************************************************** * VERSION : v1, 15/12/2004, version initiale * HISTORIQUE : v1, 15/12/2004, 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 ! ************************************************************************ * * 'DEBPROC' CAS3D ; 'ARGUMENT' mesh*'ENTIER' ; 'ARGUMENT' nbmail2*'ENTIER' ; 'ARGUMENT' ltri/'LOGIQUE' ; * 'SI' ('NON' ('EXISTE' ltri)) ; ltri = 'VRAI' ; 'FINSI' ; * 'SI' ('NON' ('EXISTE' disc)) ; disc = 'LINE' ; 'FINSI' ; * 'SI' ('<' nbmail2 1) ; cherr = 'CHAINE' 'Nombre de mailles inférieur à 2...' ; 'ERREUR' cherr ; 'FINSI' ; nbmail = '*' nbmail2 2 ; * 'SI' ltri ; 'SI' ('EGA' disc 'LINE') ; 'OPTION' 'ELEM' 'TRI3' ; 'SINON' ; 'OPTION' 'ELEM' 'TRI6' ; 'FINSI' ; 'SINON' ; 'SI' ('EGA' disc 'LINE') ; 'OPTION' 'ELEM' 'QUA4' ; 'SINON' ; 'OPTION' 'ELEM' 'QUA8' ; 'FINSI' ; 'FINSI' ; * p000 = 0. 0. 0. ; p100 = .5 0. 0. ; p200 = 1. 0. 0. ; p010 = 0. .5 0. ; p110 = .5 .5 0. ; p210 = 1. .5 0. ; p020 = 0. 1. 0. ; p120 = .5 1. 0. ; p220 = 1. 1. 0. ; p001 = 0. 0. .5 ; p101 = .5 0. .5 ; p201 = 1. 0. .5 ; p011 = 0. .5 .5 ; p111 = .5 .5 .5 ; p211 = 1. .5 .5 ; p021 = 0. 1. .5 ; p121 = .5 1. .5 ; p221 = 1. 1. .5 ; p002 = 0. 0. 1. ; p102 = .5 0. 1. ; p202 = 1. 0. 1. ; p012 = 0. .5 1. ; p112 = .5 .5 1. ; p212 = 1. .5 1. ; p022 = 0. 1. 1. ; p122 = .5 1. 1. ; p222 = 1. 1. 1. ; * n2 = nbmail2 ; n1 = '-' nbmail 1 ; 'SI' ('OU' ('EGA' mesh 1) ('EGA' mesh 3)) ; ba = 'ET' ('DROIT' n2 p000 p100) ('DROIT' n2 p100 p200) ; dr = 'ET' ('DROIT' n2 p200 p210) ('DROIT' n2 p210 p220) ; ha = 'ET' ('DROIT' n2 p220 p120) ('DROIT' n2 p120 p020) ; ga = 'ET' ('DROIT' n2 p020 p010) ('DROIT' n2 p010 p000) ; ligg = 'ET' ('DROIT' n2 p000 p001) ('DROIT' n2 p001 p002) ; 'FINSI' ; 'SI' ('EGA' mesh 2) ; ba = 'ET' ('DROIT' n1 p000 p100) ('DROIT' 1 p100 p200) ; dr = 'ET' ('DROIT' n1 p200 p210) ('DROIT' 1 p210 p220) ; ha = 'ET' ('DROIT' 1 p220 p120) ('DROIT' n1 p120 p020) ; ga = 'ET' ('DROIT' 1 p020 p010) ('DROIT' n1 p010 p000) ; ligg = 'ET' ('DROIT' n1 p000 p001) ('DROIT' 1 p001 p002) ; 'FINSI' ; * bas = 'DALLER' ba dr ha ga ; 'SI' ('EGA' disc 'LINE') ; 'OPTION' 'ELEM' 'CUB8' ; 'SINON' ; 'OPTION' 'ELEM' 'CU20' ; 'FINSI' ; emt = 'ENVELOPPE' mt ; * amt = 'ARETE' mt ; * 'TRACER' 'CACH' mt ; pmt = 'CHANGER' emt 'POI1' ; * 'TRACER' (emt 'ET' ('COULEUR' pmtz0 'ROUG')) ; * 'LISTE' pmtz0 ; * 'TRACER' (emt 'ET' ('COULEUR' fz0 'ROUG')) ; * 'LISTE' pmtz1 ; * * Cas QUAF * 'SI' ('EGA' disc 'QUAF') ; mt = 'CHANGER' mt 'QUAF' ; fz0 = 'CHANGER' fz0 'QUAF' ; fz1 = 'CHANGER' fz1 'QUAF' ; fy0 = 'CHANGER' fy0 'QUAF' ; fy1 = 'CHANGER' fy1 'QUAF' ; fx0 = 'CHANGER' fx0 'QUAF' ; fx1 = 'CHANGER' fx1 'QUAF' ; 'ELIMINATION' (mt 'ET' fx0 'ET' fx1 'ET' fy0 'ET' fy1 'ET' fz0 'ET' fz1 'ET' ba) 1.D-6 ; _mt = mt ; 'SINON' ; _mt = 'CHANGER' mt 'QUAF' ; 'FINSI' ; * * Blocages * rigblo = ('BLOQUE' 'UX' (fx0 'ET' fx1)) 'ET' ('BLOQUE' 'UY' (fy0 'ET' fy1)) 'ET' ('BLOQUE' 'UZ' (fz0 'ET' fz1)) ; * * Métrique * $mt = 'MODELISER' mt 'THERMIQUE' ; 'SI' ('ET' ('>EG' mesh 1) ('<EG' mesh 2)) ; met = 'CHAINE' 'rien' ; 'FINSI' ; 'SI' ('EGA' mesh 3) ; * xmt ymt zmt = 'COORDONNEE' mt ; * g11 = 'NOMC' 'G11' ('+' ('*' xmt 10.) 0.1); * g22 = 'NOMC' 'G22' ('+' ('*' ymt 10.) 0.1) ; * g33 = 'NOMC' 'G33' ('+' ('*' zmt 10.) 0.1) ; * g21 = 'NOMC' 'G21' ('*' xmt 0.D0) ; * g31 = 'NOMC' 'G31' g21 ; * g32 = 'NOMC' 'G32' g21 ; * cg11 = 'CHANGER' 'CHAM' g11 $mt 'NOEUD' ; * cg22 = 'CHANGER' 'CHAM' g22 $mt 'NOEUD' ; * cg33 = 'CHANGER' 'CHAM' g33 $mt 'NOEUD' ; * cg12 = 'CHANGER' 'CHAM' g12 $mt 'NOEUD' ; * cg13 = 'CHANGER' 'CHAM' g13 $mt 'NOEUD' ; * cg23 = 'CHANGER' 'CHAM' g23 $mt 'NOEUD' ; * met = cg11 'ET' cg22 'ET' cg33 'ET' cg12 'ET' cg13 'ET' cg23 ; $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'QUAF' ; xmt ymt zmt = 'COORDONNEE' mtc ; met = g11 'ET' g22 'ET' g33 'ET' g21 'ET' g31 'ET' g32 ; 'FINSI' ; 'RESPRO' mt _mt met rigblo cblo ; * * End of procedure file CAS3D * 'FINPROC' ; *ENDPROCEDUR cas3d * 'SI' ('NON' interact) ; 'OPTION' 'TRAC' 'PS' ; 'SINON' ; 'OPTION' 'TRAC' 'X' ; 'FINSI' ; * * Pour les tests, on regarde les valeurs max. des indicateurs * d'isotropie et d'equidistribution * * * Ici les valeurs de référence * lok = VRAI ; idx = 0 ; * * Maillage : * mesh = 1 : maillage régulier * mesh = 2 : maillage concentré à gauche * mesh = 3 : maillage régulier + métrique concentrée à gauche * ltri = VRAI * nbmail2 : nombre de mailles divisé par 2 * 'QUAI' : quadratique incomplet (mécanique) * 'QUAF' : quadratique fluide tdisc = 'TABLE' ; tdisc . 1 = 'LINE' ; tdisc . 2 = 'QUAI' ; tdisc . 3 = 'QUAF' ; 'REPETER' idisc 2 ; 'REPETER' itri 2 ; 'REPETER' imesh 3 ; iidisc = &idisc ; iitri = &itri ; iimesh = &imesh ; * iidisc = 1 ; * iitri = 2 ; * iimesh = 3 ; gdisc = tdisc . iidisc ; 'SI' ('EGA' iidisc 1) ; nbmail2 = 3 ; 'SINON' ; nbmail2 = 2 ; 'FINSI' ; 'SI' ('EGA' iitri 1) ; ltri = VRAI ; 'SINON' ; ltri = FAUX ; 'FINSI' ; * * Maillage * 'SI' ltri ; mtri = 'CHAINE' 'triangle' ; 'SINON' ; mtri = 'CHAINE' 'carre' ; 'FINSI' ; mes = 'CHAINE' 'mesh=' iimesh ' ; ' mtri ' ; ' gdisc ; 'MESSAGE' mes ; 'SI' graph ; tit = 'CHAINE' 'Maillage initial ' mes ; 'SI' interact ; 'TRACER' 'CACH' mail 'TITR' tit ; 'SINON' ; 'TRACER' 'CACH' mail 'TITR' tit 'NCLK' ; 'FINSI' ; 'FINSI' ; * * adaptation * * dep = 'DEDU' 'ADAP' mail mblo cblo 'METR' met 'CSTE' * debug ; 'METR' met 'CSTE' debug ; 'SINON' ; 'FINSI' ; * * tracé * orig = 'FORME' ; 'FORME' dep ; 'SINON' ; 'FINSI' ; maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ; macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ; 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ; 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ; * Tests idx = '+' idx 1 ; visor='EXTRAIRE' lmaisor idx ; tiso = ('<' maciso ('*' visor 1.05)) ; 'SI' ('NON' tiso) ; cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < ' visor ; 'MESSAGE' cherr ; 'FINSI' ; lok = 'ET' lok tiso ; vequr='EXTRAIRE' lmaequr idx ; tequ = ('<' macequ ('*' vequr 1.05)) ; 'SI' ('NON' tequ) ; cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < ' vequr ; 'MESSAGE' cherr ; 'FINSI' ; lok = 'ET' lok tequ ; * 'SI' graph ; tit = 'CHAINE' 'Maillage final ' mes ; 'SI' interact ; 'TRACER' 'CACH' mail 'TITR' tit ; 'SINON' ; 'TRACER' 'CACH' mail 'TITR' tit 'NCLK' ; 'FINSI' ; $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'LINE' ; tit = 'CHAINE' 'Isotropie ' mes ; 'SI' interact ; 'TRACER' cliso mb 'TITR' tit ; 'SINON' ; 'TRACER' cliso mb 'TITR' tit 'NCLK' ; 'FINSI' ; tit = 'CHAINE' 'Equidis. ' mes ; 'SI' interact ; 'TRACER' clequ mb 'TITR' tit ; 'SINON' ; 'TRACER' clequ mb 'TITR' tit 'NCLK' ; 'FINSI' ; 'FINSI' ; 'FORME' orig ; * 'TEMPS' 'SGAC' 'IMPR' ; 'FIN' imesh ; 'FIN' itri ; 'FIN' idisc ; * * Fin du jeu de données * '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 ; 'FINSI' ; 'SI' ('NON' lok) ; 'ERREUR' 5 ; 'FINSI' ; * * End of dgibi file DEDUAD3D * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales