* fichier : lapnvf2.dgibi ************************************************************************ * Section : Thermique Diffusion * Section : Thermique Transitoire ************************************************************************ * ********************* cas test lapnvf2.dgibi ********************* * *----------------------------------------------------------------- * Cas Test pour l'operateur LAPN version VF *----------------------------------------------------------------- * On cherche la solution stationnaire d'un problème de diffusion * thermique sur un disque où on impose une température T1 sur le * disque de rayon r1 et T2 à l'exterieur du disque de rayon r2. * * La solution analytique ne dépend que du rayon r, soit : * * T2 log (r/r1) - T1 log (r/r2) * T(r) = ----------------------------- * log r2 - log r1 * * On complique le pb initial (lapnvf.dgibi) en résolvant en fait * dD/dt + lapl(T) = 0 * D - T = 0 * afin de tester LAPN et MDIA couplant T et U. *----------------------------------------------------------------- * Auteurs : J.CREUZIL et F.DABBENE (TTMF) 12/97 *----------------------------------------------------------------- * *- Options * 'OPTI' 'DIME' 2 'ELEM' 'TRI3' 'ECHO' 0 ; 'OPTI' 'TRAC' 'PS' ; GRAPH = 'N' ; * *- Données du problème * R1 = 3.0 ; R2 = 9.0 ; T1 = 200.0 ; T2 = 100.0 ; * *- Maillage * R0 = R1 - 0.5 ; R3 = R2 + 0.5 ; MR0 = -1.D0 * R0 ; MR1 = -1.D0 * R1 ; MR2 = -1.D0 * R2 ; MR3 = -1.D0 * R3 ; * PC = 0.0 0.0 ; P0 = R0 0.0 ; P1 = R1 0.0 ; P2 = R2 0.0 ; P3 = R3 0.0 ; P4 = 0.0 R0 ; P5 = 0.0 R1 ; P6 = 0.0 R2 ; P7 = 0.0 R3 ; P8 = MR0 0.0 ; P9 = MR1 0.0 ; P10 = MR2 0.0 ; P11 = MR3 0.0 ; * N = 12 ; N1 = 10 ; P0P1 = P0 'DROI' 2 P1 ; P1P2 = P1 'DROI' N P2 ; P2P3 = P2 'DROI' 2 P3 ; P4P5 = P4 'DROI' 2 P5 ; P5P6 = P5 'DROI' N P6 ; P6P7 = P6 'DROI' 2 P7 ; P9P8 = P9 'DROI' 2 P8 ; P10P9 = P10 'DROI' N P9 ; P11P10 = P11 'DROI' 2 P10; P5P4 = 'INVE' P4P5 ; P6P5 = 'INVE' P5P6 ; P7P6 = 'INVE' P6P7 ; P4P0 = 'CERC' N1 P4 PC P0 ; P5P1 = 'CERC' N1 P5 PC P1 ; P1P5 = 'INVE' P5P1 ; P2P6 = 'CERC' N1 P2 PC P6 ; P6P2 = 'INVE' P2P6 ; P3P7 = 'CERC' N1 P3 PC P7 ; P8P4 = 'CERC' N1 P8 PC P4 ; P5P9 = 'CERC' N1 P5 PC P9 ; P9P5 = 'INVE' P5P9 ; P6P10 = 'CERC' N1 P6 PC P10; P10P6 = 'INVE' P6P10 ; P7P11 = 'CERC' N1 P7 PC P11; P4P7 = P4P5 'ET' P5P6 'ET' P6P7 ; M10 = 'DALL' P1P2 P2P6 P6P5 P5P1 ; 'OPTI' 'ELEM' 'QUA4' ; M00 = 'DALL' P0P1 P1P5 P5P4 P4P0 ; M20 = 'DALL' P2P3 P3P7 P7P6 P6P2 ; M30 = 'DALL' P9P8 P8P4 P4P5 P5P9 ; M40 = 'DALL' P10P9 P9P5 P5P6 P6P10 ; M50 = 'DALL' P11P10 P10P6 P6P7 P7P11 ; M = M00 'ET' M10 'ET' M20 'ET' M30 'ET' M40 'ET' M50 ; M1 = M00 'ET' M30 ; M3 = M20 'ET' M50 ; M2 = M10 'ET' M40 ; COT1 = 'CONT' M ; * *- Tables domaines * $M = 'DOMA' M ; $M1 = 'DOMA' M1 'INCL' $M; $M2 = 'DOMA' M2 'INCL' $M; $M3 = 'DOMA' M3 'INCL' $M; $D1 = 'DOMA' P4P7 'INCL' $M; * *- Resolution du probleme * CHP1 = 'MANU' 'CHPO' $M1.'CENTRE' 1 'SCAL' T1 ; CHP2 = 'MANU' 'CHPO' $M3.'CENTRE' 1 'SCAL' T2 ; CHP3 = 'KCHT' $M 'SCAL' 'CENTRE' 0. CHP1 CHP2 ; CHP4 = 'MANU' 'CHPO' $M2.'CENTRE' 1 'SCAL' 0. ; * RV = 'EQEX' $M 'ITMA' 10 'OPTI' 'VF' 'IMPL' 'CENTREE' 'ZONE' $M 'OPER' 'DFDT' 1.D0 'DNM' 'DT' 'INCO' 'DN' 'DN' 'OPTI' 'VF' 'IMPL' 'CENTREE' 'ZONE' $M 'OPER' 'LAPN' 'DIFF' 'INCO' 'CN' 'DN' ; RV = 'EQEX' RV 'OPTI' 'VF' 'IMPL' 'CENTREE' 'ZONE' $M 'OPER' 'MDIA' 1.D0 'INCO' 'DN' 'CN' 'OPTI' 'VF' 'IMPL' 'CENTREE' 'ZONE' $M 'OPER' 'MDIA' -1.D0 'INCO' 'CN' 'CN' ; RV = 'EQEX' RV 'CLIM' 'DN' 'TIMP' $M1.'CENTRE' T1 'CLIM' 'DN' 'TIMP' $M3.'CENTRE' T2 ; RV . 'INCO' = TABLE 'INCO' ; RV . 'INCO' . 'CN' = 'KCHT' $M 'SCAL' 'CENTRE' 1. ; RV . 'INCO' . 'DNM' = 'KCHT' $M 'SCAL' 'CENTRE' 1. ; RV . 'INCO' . 'DN' = 'KCHT' $M 'SCAL' 'CENTRE' 1. ; RV . 'INCO' . 'DIFF' = 'KCHT' $M 'SCAL' 'CENTRE' 2. ; RV . 'INCO' . 'DT' = 20. ; * EXEC RV ; * *- Solution analytique * XC YC = 'COOR' $M.'CENTRE' ; SOL0 = 'LOG' ( R1 / R2 ) ; SOL1 = 'LOG' ( R1 ** T2 / (R2 ** T1)) ; RC = XC*XC + (YC*YC) ** 0.5 ; SS1 = 'MANU' 'CHPO' $M.'CENTRE' 1 'SCAL' (SOL1 / SOL0) ; SS2 = (T1 - T2) / SOL0 * (LOG RC) ; SS4 = 'MANU' 'CHPO' $M1.'CENTRE' 1 'SCAL' T1 ; SS5 = 'MANU' 'CHPO' $M3.'CENTRE' 1 'SCAL' T2 ; SS3 = 'KCHT' $M 'SCAL' 'CENTRE' (SS2 + SS1) SS4 SS5 ; * *- Tracé des résultats * ERR1 = 'ABS' ((RV.INCO.'CN') - SS3) ; 'SI' ('NEG' GRAPH 'N') ; SSS3 = 'ELNO' $M SS3 ; 'TITR' 'Solution (coupe)' ; EV1 = 'EVOL' 'CHPO' SSS3 P4P7 ; 'DESS' EV1 ; MOD1 = 'MODE' M 'THERMIQUE' ; CHAM1 = 'KCHA' $M 'CHAM' (RV.INCO.'CN') ; 'TRAC' MOD1 CHAM1 'TITR' 'Solution' ; CHAM2 = 'KCHA' $M 'CHAM' (RV.INCO.'DN') ; 'TRAC' MOD1 CHAM2 'TITR' 'Solution 2' ; MERR1 = ( 'KCHA' $M 'CHAM' ERR1) ; 'TRAC' MOD1 MERR1 'TITR' 'Erreur relative' ; 'FINSI' ; * *- Gestion des erreurs * MAXE1 = 'MAXI' ERR1 ; 'MESS' 'Erreur Absolue : ' MAXE1 ; 'SI' (MAXE1 '>' 6.) ; 'ERRE' 5 ; 'SINO' ; 'ERRE' 0 ; 'FINS' ; * FIN;