* fichier : darcy2.dgibi ************************************************************************ ************************************************************************ * ******************** CAS TEST : darcy2.dgibi ********************** * GRAPH = 'N' ; 'SAUT' 'PAGE' ; * *------------------------------------------------------------------- * TEST DARCY2 * CALCUL DARCY ORTHOTROPE * Résolution par une méthode d'éléments finis mixtes hybrides. * * Ce test permet de vérifier le bon fonctionnement des opérateurs * utilisés afin de résoudre les équations de DARCY par une méthode * d'éléments finis mixtes hybrides dans CASTEM2000. * * On effectue un calcul sur un domaine carré, maillé 'aléatoirement' * par des quadrangles et des triangles. Les conditions aux limites * sont du type charge imposée. * * La solution analytique en charge étant un polynome de degré un, * la vitesse est constante. * H(x,y) = -45x -80y + 22.5 * V(x,y) = ( -45*KX ; -80*KY) * * On s'attend à peu d'erreur bien que le maillage soit 'aléatoire'. * *------------------------------------------------------------------- * 'SAUT' 'PAGE' ; * *- Options générales de calcul. * * * ------------ * = MAILLAGE = * ------------ *- Création des points supports des DROITES * L = 0.1D0 ; ML = -0.1D0 ; A0 = ML ML ; B0 = L ML ; A1 = 0.D0 ML ; B1 = L 0.D0 ; C0 = L L ; D0 = ML L ; C1 = 0.05D0 L ; D1 = ML -0.05D0 ; * *- Création et découpage des DROITES frontieres * INUMX = 8 ; INUMY = 8 ; INUMP = 2 ; DRBAS = DRBA1 'ET' DRBA2 ; DRDRO = DRDR1 'ET' DRDR2 ; DRHAU = DRHA1 'ET' DRHA2 ; DRGAU = DRGA1 'ET' DRGA2 ; * *- Creation maillage GEOMETRIQUE * BDHG = DRBAS 'ET' DRDRO 'ET' DRHAU 'ET' DRGAU ; QFTOT = CHANGE PTOT2 QUAF ; * *- Creation maillage HYBRIDE y compris sous-objets (cond. limites) * ELI0 = L / INUMX / 100.D0 ; *HYTOT = 'DOMA' PTOT2 ELI0 ; *CHYB1 = 'DOMA' HYTOT 'SURFACE' ; *CHYB2 = 'DOMA' HYTOT 'NORMALE' ; *MCHYB = 'DOMA' HYTOT 'ORIENTAT' ; *HYGAU = 'DOMA' DRGAU 'INCL' HYTOT ELI0 ; *HYDRO = 'DOMA' DRDRO 'INCL' HYTOT ELI0 ; *HYHAU = 'DOMA' DRHAU 'INCL' HYTOT ELI0 ; *HYBAS = 'DOMA' DRBAS 'INCL' HYTOT ELI0 ; QFGAU = CHANGE DRGAU QUAF ; QFDRO = CHANGE DRDRO QUAF ; QFHAU = CHANGE DRHAU QUAF ; QFBAS = CHANGE DRBAS QUAF ; * * ---------------- * = MODELISATION = * ---------------- * *MODHYB = MODE HYTOT 'DARCY' 'ORTHOTROPE' 'HYQ4' 'HYT3' ; *option donn 5 ; * * -------------------------------------- * = Tenseur de perméabilité orthotrope = * -------------------------------------- * VKX = 1.D0 ; VKY = 0.75D0 ; BZ = 1.D0 0.D0 ; * *option donn 5 ; * * ----------------------- * = Solution analytique = * ----------------------- * * Charge aux faces AA =-45.D0 ; BB =-80.D0 ; CC = 22.5D0 ; AAA = ( -1.D0 ) * VKX * AA ; BBB = ( -1.D0 ) * VKY * BB ; *XX YY = 'COOR' HYTOT.'FACE' ; TANF1 = AA * XX ; TANF2 = BB * YY ; PANAF = TANF1 + TANF2 + CC ; * * Charge aux centres des éléments * La charge étant linéaire, la moyenne est au centre de l'élément * TANC1 = AA * XXC ; TANC2 = BB * YYC ; PANAC = TANC1 + TANC2 + CC ; * * Vitesse aux faces et aux centres * * ------------------------- * = matrice Masse HYBride = * ------------------------- *option donn 5 ; * ------------------------- * = MAtrice globale en TH = * ------------------------- * ---------------- * = TH imposée = * ---------------- *BBGAU = 'BLOQ' HYGAU.'CENTRE' 'TH' ; * *TTIMP = 'REDU' PANAF HYGAU.'CENTRE' ; * * * * ---------------- * = Assemblage = * ---------------- CCC1 = HND1A 'ET' BBHAU 'ET' BBBAS 'ET' BBDRO 'ET' BBGAU ; FFF1 = EEHAU 'ET' EEBAS 'ET' EEDRO 'ET' EEGAU ; * ----------------- * = Résolution Th = * ----------------- *option donn 5 ; * ---------------- * = Résolution H = * ---------------- * ---------------- * = Résolution V = * ---------------- VFACE1 = QFACE1 * CHYB2 / CHYB1 ; * ----------------- * = Calcul ERREUR = * ----------------- ERRTP1 = ERRTP1 - PANAF / PANAF ; ERRTP1 = 'ABS' ERRTP1 ; * *option donn 5 ; ERRP1 = ERRP1 - PANAC / PANAC ; ERRP1 = 'ABS' ERRP1 ; * VNN = VAVN * CHYB2 ; DVN1 = VNN - VFACE1 ; SDF1 = 'ABS' ( DVN1N / DVDV ) ; SDF1 = SDF1 '**' 0.5 ; * VD1 = VANAC - VCENT1 ; SDC1 = 'ABS' ( VC1 / VDVD ) ; SDC1 = SDC1 '**' 0.5 ; * ------------------- * = TRACE RESULTATS = * ------------------- * Dans chaque cas on trace : * L'erreur relative sur la charge H * L'erreur relative sur la vitesse V * 'SI' ('NEG' GRAPH 'N') ; * ERRP1 = 'KCHA' HYTOT 'CHAM' ERRP1 ; * SDS1 = 'KCHA' HYTOT 'CHAM' SDC1 ; 'TITR' 'darcy2 : erreur relative charge' ; 'TRAC' MODHYB ERRP1 ; 'TITR' 'darcy2 : erreur relative vitesse' ; 'TRAC' MODHYB SDS1 ; 'FINSI' ; * ------------------- * = Gestion ERREURS = * ------------------- * 'SAUT' 'PAGE' ; 'MESS' ' ERREURS RELATIVES ' ; 'MESS' ' TH H Vf Vc' ; 'MESS' ' ' maxtp1 ' ' maxp1 ' ' maxvf1 ' ' maxvc1 ; * EPS0 = 1.E-12 ; EPS1 = 1.E-10 ; LOG1 = MAXTP1 > EPS0 ; LOG2 = MAXP1 > EPS0 ; LOG3 = MAXVF1 > EPS1 ; LOG4 = MAXVC1 > EPS0 ; L0 = LOG1 'OU' LOG2 'OU' LOG3 'OU' LOG4 ; * 'SI' ( L0 ) ; 'SINO' ; 'FINS' ; * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales