[Getdp] trouble with Heat Equation

Patrick Dular Patrick.Dular at ulg.ac.be
Thu Jun 7 12:57:28 CEST 2001


Hi,

trophime christophe wrote:

> Hi, I'm back with some stupid questions...
>
> I am trying to set a transient Heat Equation
> and I end up with some problems:
>
> 1/ which is the default orientation of the normal
> on line (or surface)?

There is no default orientation of the normal. This depends on the mesh.

> My initial formulation expect the normal to be exterior
> is this right?
>
>   FunctionSpace {
>     { Name Hgrad_v_Th ; Type Form0 ;
>       BasisFunction {
>         // T = T  s   ,  for all nodes
>         //      n  n
>         { Name sn ; NameOfCoef tn ; Function BF_Node ;
>           Support Region[ {Domain_Th, SurfaceConvection,
> SurfaceHeatFlux} ] ; Entity NodesOf[ All ] ; }
>       }
>       Constraint {
>         { NameOfCoef tn ; EntityType NodesOf ;
>           NameOfConstraint FixedTemperature ; }
>       }
>     }
>
>     // Source heat (fully fixed space)
>     { Name Hregion_qth_Heat_Axi ; Type Scalar ;
>       BasisFunction {
>         { Name sr ; NameOfCoef qthsr ; Function BF_Node ;
>           Support DomainS_Th ; Entity NodesOf[ All ] ; }
>       }
>       Constraint {
>         { NameOfCoef qthsr ; EntityType NodesOf ;
>           NameOfConstraint SourceHeatDensity ; }
>       }
>     }
>
>   }
>
>   Formulation {
>     { Name Heat_Axi ; Type FemEquation ;
>       Quantity {
>         { Name T ; Type Local ; NameOfSpace Hgrad_v_Th ; }
>         { Name Qth ; Type Local ; NameOfSpace Hregion_qth_Heat_Axi ; }
>       }
>       Equation {
>         Galerkin { [ k[] * Dof{d T} , {d T} ] ; In Domain_Th ;
>                    Jacobian VolAxi ; Integration GradGrad ; }
>         Galerkin { [ -Dof{Qth} , {T} ]; In DomainS_Th ;
>                    Jacobian VolAxi ; Integration GradGrad ; }
>         Galerkin { [ -h[] * Dof{T} , {T} ]; In SurfaceConvection;
>                    Jacobian SurAxi ; Integration I1; }
>         Galerkin { [ h[] * T_ambiant[] , {T} ]; In SurfaceConvection;
>                    Jacobian SurAxi ; Integration I1; }
>         Galerkin { [ -Flux[] , {T} ]; In SurfaceHeatFlux;
>                    Jacobian SurAxi ; Integration I1; }
>       }
>     }

In your formulation, no explicit normal is used. The normal has only been used in the theoretical establishment of the formulation.

With an exterior normal, I think that you should change the sign of the Galerkin terms 3 and 4 (In SurfaceConvection). The Galerkin term 5 (In SurfaceHeatFlux) considers that the thermal flux (function Flux[]) is positive when entering your domain.

> 2/ how to set both initial and boundary conditions?
> I have tried the following:
>
>    { Name FixedTemperature; Type Assign;
>       Case {
>         { Region Region[{Domain_Th, SurfaceConvection,
> SurfaceHeatFlux}]; Type Init; Value T_ref;}
>         { Region BottomSurfaceInd1; Type Assign; Value T_Bottom;}
>         { Region TopSurfaceInd1; Type Assign; Value T_Top;}
>         { Region BottomSurfaceInd; Type Assign; Value T_Bottom;}
>         { Region TopSurfaceInd; Type Assign; Value T_Top;}
>        }
>     }
>
> But I get Neuman BC on the lines where I want to set a Dirichlet BC.

This is because the first Case in the Constraint has the priority on all the others (it covers the entire domain, containing BottomSurfaceInd1, ...). These other cases are therefore not taken into account. A way to avoid this is to move the Init constraint to the end of the case list.

> ______________________________________________
> GetDP mailing list
> GetDP at geuz.org
> http://www.geuz.org/mailman/listinfo/getdp

--
Patrick Dular, Dr. Ir., Chercheur qualifii F.N.R.S. (Research associate)
Dipartement d'Electriciti Appliquie
Universiti de Lihge - Institut Montefiore - Bbt. B28 - Parking 32
B-4000 Lihge - Belgique - Tel. +32-4-3663710 - Fax +32-4-3662910
E-mail: Patrick.Dular at ulg.ac.be