|
Axysymmetric_Heat |
Top Previous Next |
|
{ AXISYMMETRIC_HEAT.PDE }
{ **************************************************************
This problem demonstrates axi-symmetric heatflow.
The heat flow equation in any coordinate system is
div(K*grad(T)) + Source = 0.
The following problem is taken from Zienkiewicz, "The Finite Element Method in Engineering Science", p. 306 (where the solution is plotted, but no dimensions are given). It describes the flow of heat in a spherical vessel. The outer boundary is held at Temp=0, while the inner boundary is held at Temp=100.
************************************************************** }
title "Axi-symmetric Heatflow "
coordinates ycylinder("R","Z") { select a cylindrical coordinate system, with the rotational axis along the "Y" direction and the coordinates named "R" and "Z" } variables Temp { Define Temp as the system variable, with approximate value range 0 to 50 }
definitions K = 1 { define the conductivity } source = r { define the source (this problem doesn't have one) }
Initial values Temp = 0 { unimportant in linear steady-state problems }
equations { define the heatflow equation: } div(K*grad(Temp)) + Source = 0
boundaries { define the problem domain } Region 1 { ... only one region }
start(5,0) natural(Temp)=0 { define the bottom symmetry boundary condition } line to (6,0)
value(Temp)=0 { fixed Temp=0 in outer boundary } line to (6,3) { walk the funny stair-step outer boundary } to (5,3) to (5,4) to (4,4) to (4,5) to (3,5) to (3,6) to (0,6)
natural(Temp)= 0 { define the left symmetry boundary } line to (0,5)
value(Temp)=100 { define the fixed inner temperature } arc( center=0,0) to close { walk an arc to the starting point }
monitors contour(Temp) { show contour plots of solution in progress }
plots { write these hardcopy files at completion } contour(Temp) { show solution } surface(Temp) vector(-2*pi*r*K*grad(Temp)) as "Heat Flow"
end |