[Getdp] position dependent source term in heat equation
Christophe Geuzaine
c.geuzaine at ulg.ac.be
Mon Dec 13 19:31:12 CET 2004
Fabian Dortu wrote:
> Hello
>
> I try to add a position dependent source term in the heat equation but
> it seems like getdp is using a constant value instead.
>
> The source term is given by:
>
> qVol [ Vol_The ] = 2e9*Exp[-(($X-4)/0.6)^2 -(($Y-0.5)/0.6)^2];
Fabian: just replace "$X" and "$Y" with "X[]" and "Y[]".
(We need to update the documentation about the current values $X, $Y and
$Z, which are currently only updated in pre-processing.)
Christophe
>
> and I have added this line in Formulation:
>
> Galerkin { [ -qVol[] , {T} ];
> In Vol_The; Integration I1; Jacobian JacZyl; }
>
> What am I (or getdp?) doing wrong?
> Note that, using cylindrical or rectangular coordinates give the
> problem.
>
> Thanx,
> Fabian
>
>
> My input files are a modification of the zyl-2d example given on the
> site:
>
> $ more zyl-2d.geo
> lc = 0.1;
> Point(1) = {5, 6, 0, lc};
> Point(2) = {5, 0, 0, lc};
> Point(3) = {1, 0, 0, lc};
> Point(4) = {1, 6, 0, lc};
> Line (1) = {1, 2};
> Line (2) = {2, 3};
> Line (3) = {3, 4};
> Line (4) = {4, 1};
> Line Loop (5) = {1, 2, 3, 4};
> Plane Surface (6) = {5};
> Physical Line (7) = {1};
> Physical Line (8) = {3};
> Physical Line (9) = {2};
> Physical Line (10) = {4};
> Physical Surface (11) = {6};
>
> -------------------------------------------------------------------
>
> $ more zyl-2d.pro
> Group {
> inner = Region[8] ;
> outer = Region[7];
> top = Region[10];
> bottom = Region[9];
> wall = Region[11];
>
>
> Vol_The = Region[{wall, inner, outer, top, bottom}] ;
> boundary = Region[{inner, outer, top, bottom}];
> }
>
> Constraint {
> { Name Sta_T ; Type Assign;
> Case {
> { Region inner; Value 30.; }
> { Region outer; Value 10.; }
> { Region bottom; Value 10; }
> }
> }
> }
>
> Function {
> k[ Vol_The ] = 1.45 ; // [W / m?K] quartz around 20?C
> qVol [ Vol_The ] = 2e9*Exp[-(($X-4)/0.6)^2 -(($Y-0.5)/0.6)^2];
> //qVol [ Vol_The ] = 27;
> }
>
> Include "Thermal.pro"
>
> PostOperation {
>
> { Name map ; NameOfPostProcessing map ;
> Operation {
> Print[ T, OnElementsOf Vol_The , File "T.pos"];
> Print[ q, OnElementsOf Vol_The , File "q.pos"];
> Print[ qVol, OnElementsOf Vol_The , File "qVol.pos"];
> Print[ T, OnLine { {1.,0.5,0} {5.,0.5,0} } {50} , Format Table,
> File "Th.dat"];
> }
> }
> }
>
>
> -----------------------------------------------------------------------
> $ more Thermal.pro
> Jacobian {
> { Name JacZyl ;
> Case {
> { Region wall ; Jacobian VolAxi ; }
> { Region boundary; Jacobian SurAxi ; }
> }
> }
>
> { Name JacRec ;
> Case {
> { Region wall ; Jacobian Vol ; }
> { Region boundary; Jacobian Sur ; }
> }
> }
>
> }
>
> Integration {
> { Name I1 ;
> Case {
> { Type Gauss ;
> Case {
> { GeoElement Point ; NumberOfPoints 1 ; }
> { GeoElement Line ; NumberOfPoints 3 ; }
> { GeoElement Triangle ; NumberOfPoints 4 ; }
> }
> }
> }
> }
> }
>
> FunctionSpace {
> { Name Hgrad_T; Type Form0;
> BasisFunction {
> { Name sn; NameOfCoef Tn; Function BF_Node; Support Vol_The;
> Entity NodesOf[All]; }
> }
> Constraint {
> { NameOfCoef Tn; EntityType NodesOf ; NameOfConstraint Sta_T; }
> }
> }
> }
>
> Formulation {
> { Name The_T ; Type FemEquation;
> Quantity {
> { Name T; Type Local; NameOfSpace Hgrad_T; }
> }
> Equation {
> Galerkin { [ k[] * Dof{d T} , {d T} ];
> In Vol_The; Integration I1; Jacobian JacZyl; }
> Galerkin { [ -qVol[] , {T} ];
> In Vol_The; Integration I1; Jacobian JacZyl; }
> }
> }
> }
>
>
> Resolution {
> { Name linear;
> System {
> { Name T; NameOfFormulation The_T; }
> }
> Operation {
> Generate [T] ; Solve [T] ; SaveSolution [T] ;
> }
> }
> }
>
> PostProcessing {
>
> { Name map; NameOfFormulation The_T;
> Quantity {
> { Name T; Value{ Local{ [ {T} ] ; In Vol_The; Jacobian JacZyl; } } }
> { Name q; Value{ Local{ [ -k[]*{ Grad T} ] ; In Vol_The; Jacobian
> JacZyl;} } }
> { Name qVol; Value{ Local{ [ qVol[] ] ; In Vol_The; Jacobian
> JacZyl;} } }
> }
> }
> }
>
>
> _______________________________________________
> getdp mailing list
> getdp at geuz.org
> http://www.geuz.org/mailman/listinfo/getdp
>
>
--
Christophe Geuzaine
Applied and Computational Mathematics, Caltech
geuzaine at acm.caltech.edu - http://geuz.org