Download rayo-2D-1.dgibi

Back to the list

* fichier :  rayo-2D-1.dgibi
****************************************************************
*
*  test 2D couplage conduction-rayonnement
*  REFERENCE: SPARROW CESS "Radiation Heat Transfer" 1978 p.189
*
*  DONNEES
*  cas de 2 ailettes
*
*  angle entre les ailettes :  45 degres
*  longueur                 :  L=0.1m
*  emissivite               :  0.75
*
*  conductivite lineique                     : LAM=4.536 W/K
*  conditions aux limites  base d ailette    : TB= 2000 K
*                          extremite ailette : flux nul
*  Nombre caracteristique rayonnemnent/conduction  XC=1.
*
*  RESULTATS
*  efficacite de l ailette             0.591
*  puissance rayonnee                  41 kW
*  temperature en milieu d ailette     1820 K
*  temperature en extremite d ailette  1751 K
*
*  Remarque: option convexe pour FFOR
****************************************************************

*** Options ...

    OPTION echo 1 DIME 2 ELEM QUA4 ;

    graph = faux ;

*** Paramètres ...

*   AL angle entre les ailettes ...
    AL = 45. ;

    L = 0.1;  C = COS(AL) ; S = SIN(AL) ;
    A = SIN(AL/2.) ;

*   Nombre de segments / ailette ...
    N = 20 ;

*   Épaisseur des ailettes : 1mm
    dz = 0.001 ;
    dzp = dz ;
    dzn = -1 * dz ;

*   Propriétés physiques ...
    sig=5.67E-8 ; l=0.1; tb=2000. ; emis = 0.75 ;

*   Nombre caractéristique du rayonnement
    xc = 1.0 ;

*** Points ...

    P1 = 0. 0. ; P2 = L  0. ;
    Q1 = 0. 0. ; Q2 = (L*C) (L*S) ;

*** Lignes ...

    L1= D N  P1 P2 ; L2 = D N  Q2 Q1 ;

*** Surfaces ...

    z1 = l1 tran 1 (0. dzn) ;
    z2 = l2 tran 1 ((dzn*s) (dzp*c)) ;

    lim1 = cote 4 z1 ;
    lim2 = cote 2 z2 ;

    cavite = l1 et l2 ;
    tout = z1 et z2 ;
    titr 'Le maillage d ailette' ;
    si(graph) ; trac tout ; finsi ;

*** Modélisation ...

*   conduction
*   calcul de la conductivité lineique
    kr   = sig*tb*tb*tb *l*l ;
    lam  = kr/xc ;
    lamb = lam/dz ;

    mcd1 = modl z1   thermique  ;
    mcd2 = modl z2   thermique  ;
    mcd  = mcd1 et mcd2  ;
    k = mate mcd 'K' lamb ;
    cnd = cond mcd k ;

    mr1 = modl l1  thermique rayonnement 'CAVITE'
    'CONVEXE'  'CONS' 'CAV1';
    mr2 = modl l2  thermique rayonnement 'CAVITE' 
    'CONVEXE' 'CONS' 'CAV1';
    mrt = mr1 et mr2  ;

    e1 = mate mr1 'EMIS' emis ;
    e2 = mate mr2 'EMIS' emis ;
    e = e1 et e2  ;

*** Matrice de rayonnement ...

*    opti 'IMPI' 1 ;
    fft   = fforme  mrt  e;
*   fft   = fforme  mrt        'NNOR' ;
*    opti 'IMPI' 0 ;
*  list fft; 
   chamr = raye mrt  fft e ;
*list chamr;
*opti donn 5;

*** Conditions aux limites ...

    c1 = bloq lim1 'T' ;
    tim1 = depi c1 tb ;
    c2 = bloq lim2 'T' ;
    tim2 = depi c2 tb ;

*** Initialisation de la température ...

    tp = manu chpo tout 1 'T' 2000. natu 'DIFFUS';
    nbpsup = nbno tout ;

*** Résolution (par itérations) ...

*   Coeff. de relaxation ...
    alfa = 0.6 ;

    listemp = prog ;
    listres = prog ;

    maxiter = 100 ;
    critconv = 1.e-5 ;
    opti echo 1 ;
    REPE bloc1 ;

       nbiter = &bloc1 ;

       t_cavi   = redu (exco 'T' tp 'T') cavite ;
       te_cavi = chan 'CHAM' t_cavi   mrt  'GRAVITE' ;
       cr = rayn mrt  chamr te_cavi   ;

       cndtot = cr et cnd et c1 et c2 ;

       residu = cndtot * tp ;
       normres = ((xtx (exco 'Q' residu)) / nbpsup) ** 0.5 ;
       mess '   La norme du flux résiduel = ' normres ;
       si((nbiter > 1) et (normres < critconv)) ;
          mess 'Convergence à l itération ' (nbiter-1) ;
          quitter bloc1 ;
       finsi ;
       si(nbiter > maxiter) ;
          mess 'Erreur ! Pas de convergence après ' (nbiter-1)
               ' itérations !' ;
          erre 2 ;
          quitter bloc1 ;
       finsi ;
       listres = listres et (prog normres) ;

       mess '---------------------------------------' ;
       mess 'Itération N° ' &bloc1 ;

       tt = resou cndtot (tim1 et tim2) ;

       dt = exco 'T' (tt - tp) 'T' ;
       normdt = ((xtx dt) / nbpsup) ** 0.5 ;
       mess '   La norme de delta t = ' normdt ;

       tn = (alfa * tt) + ((1.-alfa) * tp) ;
       tp = tn ;

       mess '   La température au bout = ' (extr tn 'T' q2) ;
       listemp = listemp et (prog (extr tn 'T' q2)) ;

    FIN bloc1 ;
*   opti echo 1 ;

*** Post-traitement ...

    titre 'Champ de température final' ;
    si(graph) ; trac tout (exco 'T' tn) ; finsi ;

    tana = 1751. ;
    tsol = extr tn 'T' q2 ;
    mess 'La température en extrémité = ' tsol ;

    ppmilieu = (L/2) 0 ;
    pmilieu = l1 poin proc ppmilieu ;
    leurdist = norm (moin pmilieu ppmilieu) ;
    si(leurdist < 1.e-6) ;
       tmili = extr tn 'T' pmilieu ;
       mess 'La température au milieu = ' tmili ;
    sinon ;
       mess 'Impossible d extraire la température'
            ' au milieu de l ailette' ;
    finsi ;

    titr 'Évolution de la température au bout de l ailette' ;
    listpas = prog 1. pas 1. (nbiter - 1) ;
    evtemp = evol manu 'pas' listpas 'T' listemp ;
    listpas2 = prog 1. (nbiter - 1) ;
    listvex  = prog tana tana ;
    evexa = evol manu 'pas' listpas2 'T' listvex ;
    si(graph) ; dess (evtemp et evexa) ; finsi ;

* evres = evol manu 'pas' listpas 'dQ' listres ; dess evres ;

    qfinal = cndtot * tn ;
    rqfinal = resu qfinal ;
*   list rqfinal ;
*
    qreac = reac (c1 et c2) tn ;
    puemis = maxi (resu (exco 'Q' qreac)) ;
    mess 'Puissance émise = ' puemis ;

* efficacité de l'ailette
    pref = 2. * kr * tb * (sin(AL/2.)) / L ;
    effica = puemis/pref ;
    mess 'Efficacité = ' effica ;

    RESI=ABS((tsol -tana)/tana);
    mess 'Erreur relative ' (100*RESI) '%' ;
    SI(RESI <EG 5E-4);
       ERRE  0;
    SINO;
       ERRE  5;
    FINSI;

*** Bye ...

    FIN;
 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer