1D heat problem with conduction and r... Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » 1D heat problem with conduction and radiation « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Chris Walton (ccwalton)
New member
Username: ccwalton

Post Number: 1
Registered: 01-2008
Posted on Wednesday, May 14, 2008 - 01:47 pm:   

I'm interested in a 1D heat problem. A slab of homogeneous solid material has these BCs:
On the bottom: radiative heat exchange with a constant-temperature surface through
a vacuum gap
On top: 1) radiative heat exchange with another constant-temperature surface through
vacuum gap and 2) time-dependent heating at a certain power density arriving at the
surface. The form of this power(time) dependence is complicated and I only know it
as a set of numerical data, though it could be fit with analytical functions if needed.
I would like to know the top surface temperature over time.

This seems so simple that one of the sample problems must cover it, but I couldn't
find one close enough to adapt easily. Any suggestions? Thanks!
Top of pagePrevious messageNext messageBottom of page Link to this message

Marek Nelson (mgnelson)
Moderator
Username: mgnelson

Post Number: 35
Registered: 07-2007
Posted on Wednesday, May 14, 2008 - 03:59 pm:   

Take a look at these samples. They will have most of the pieces you need.

Radiative Boundary - "samples | steady_state | heatflow | radbdry.pde"
1D Heat Flow - "samples | misc | 1D | slab1d.pde"

You should be able to construct your problem by :

1- Start with "slab1d" and change the point values to be point naturals.

2- Add radiative boundary conditions using T^4-To^4 and the proper coefficient.

3- At the heated end, add the extra heat flux (read from a table if you do not have analytic functions - see "TABLE Input function" in the help index).
Top of pagePrevious messageNext messageBottom of page Link to this message

Chris Walton (ccwalton)
New member
Username: ccwalton

Post Number: 2
Registered: 01-2008
Posted on Friday, May 16, 2008 - 04:30 pm:   

That seems all to be working - thanks very much! The model seems right but for one thing: for the radiative BC I put down

NATURAL(temp) = 0.5*(Temp**4-T0**4)

following the sample problem RADBDRY.PDE. T0 = 300 is the wall of the vacuum chamber above the slab, and that's the initial temp of the slab too. The answers on surface temperature of the slab were quite reasonable - about 25degC temp rise (this is with constant power, to check against the SS solution, before turning on the time-dependence of the power). Then checking through the model I realized that the BC doesn't include the Stefan-Boltzmann constant, but it seems it should, since it is meant to specify the flux at that boundary. A scratch calculation including the constant shows that a 325K surface talking to a 300K surface is emitting about 87W/m2 net (at 0.5 emissivity). That's about half the power I'm putting in the top surface, with the rest going through the slab and out the bottom, so that's plausible too. On the other hand, if I put the constant in the FlexPDE model, the temperature runs away to >1000K and the run crashes - the radiative loss is clearly underestimated.

So how can FlexPDE be getting about the right answer with that constant left out?

I saw something else while preparing this question - if I make the T0 (the one above or below the slab) anything other than 300K, the time step gets tiny and the calculation effectively stops. Is that temperature difference causing a discontinuity of the type you warn about, like step functions in temperatures inside a material?
Top of pagePrevious messageNext messageBottom of page Link to this message

Marek Nelson (mgnelson)
Moderator
Username: mgnelson

Post Number: 36
Registered: 07-2007
Posted on Friday, May 16, 2008 - 09:01 pm:   

In the equation div(-k*grad(T))=0, the natural boundary condition statement provides the value of -k*grad(T) at the boundary. Using natural(T)=sigma*T^4 the coefficients k and sigma must be such that k*grad(T) and sigma*T^4 have the same units (dimensions).

So the first check is to see if this is true. If this condition holds and you still have problems, send us your script and we can take a look. Post it here or email to support@pdesolutions.com .
Top of pagePrevious messageNext messageBottom of page Link to this message

Chris Walton (ccwalton)
Junior Member
Username: ccwalton

Post Number: 3
Registered: 01-2008
Posted on Monday, May 19, 2008 - 05:15 pm:   

That condition is met: k in W/mK so k*grad(T) is W/m2, and sigma*T^4 is also W/m2.

I made a simple test case I am posting here to see what's amiss. It is a slab 0.1m thick with 1330W/m3 applied to the whole volume, which for this thickness is equivalent to the 133W/m2 I will eventually apply to a thin layer near the surface to simulate the optical surface heating in real life. This model is to test that radiant cooling (from top surface only) is emitting the same power being delivered to the bulk, which it must at steady state because all other boundaries are insulated.

If the top surface is set natural(temp) = sigma(temp**4-T0**4), two things happen: the temperature gradient goes the wrong way (hotter at the emitting top surface), and the surface temperature runs away over 1000K, where a paper calculation shows surface T should be about 319K to emit 133W/m2 net (in equilibrium with the T0=300K surface, with emissivity 1 always).

If the top surface is set natural(temp) = temp**4-T0**4 (i.e. omitting sigma), the temperature profile is the right direction, but surf temp is very low, about 300.08K. So that's clearly overestimating the radiative loss. If the coefficient is reduced from 1 to 5.67e-8 Wm-2K-4, the simulation gives the same 300.08 answer for few steps, then gets stuck with small time steps, as if an unmanageable discontinuity has arisen.

This model is so simple, but clearly I'm missing something. Thanks for your help!

Chris Walton

application/octet-streamQuasi-1D thermal diffusion with bulk heating and radiant cooling
Source = constant test released.pde (2.6 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Marek Nelson (mgnelson)
Moderator
Username: mgnelson

Post Number: 37
Registered: 07-2007
Posted on Monday, May 19, 2008 - 07:21 pm:   

1)
The sign of your natural(temp) BC needs to be reversed. The way you have your equation written, the natural is the INWARD flux. The term sigma(T^4 - To^4) is formulated for an OUTWARD flux.

2)
Your threshold for Temp should be lower. The threshold defines the smallest VARIATION that must be held to the accuracy control, NOT the minimum VALUE. So a threshold of the same value as your initial value defeats the error controlled time-step. We suggest a threshold of 1 (in this case, one degree).

3)
Your timestep is being clamped because your plots are at specific times. Use CYCLE or less frequent times and the timestep will be free to grow.


The attached script has these changes made and runs in about 12 secs.
application/octet-stream
Source1.pde (2.8 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Chris Walton (ccwalton)
Member
Username: ccwalton

Post Number: 4
Registered: 01-2008
Posted on Friday, May 23, 2008 - 05:21 pm:   

Those fixes are great - thanks! I see how that BC had the wrong sign.

I'd like to ask about a model improvement: I added the table containing the time-dependent heat load on the top surface, mentioned above. It works fine, but I want to go one more step. The heat load in the table represents a process that is repeated a few hundred times. I would like to calculate the cumulative thermal effect of all these by feeding the output T profile of each pass into the T initial condition of the next.

I see in the documentation I can do this with TRANSFER, though FlexPDE appends an index # to the output file so I'll have to change the input file name by hand each time to match - not practical for many repeats. It appears I could also do this with STAGES, but FlexPDE returns an error saying staging isn't allowed in time-dependent problems.

My last method is to repeat the time-dependent BC hundreds of times in the input table and run as one long problem, though these runs are hanging after the first 30-50 passes.

Is there a better way to make one of these methods work?

Chris Walton
Top of pagePrevious messageNext messageBottom of page Link to this message

Marek Nelson (mgnelson)
Moderator
Username: mgnelson

Post Number: 39
Registered: 07-2007
Posted on Friday, May 23, 2008 - 07:53 pm:   

You should be able to repeat the table heat load without modifying your single run table file.

You might try something like this:
- define the time for a single pass of the heat load, say 1000
- define the time within each pass (eg. Tload) using a modulus
- read the table file and assign it to the time within each pass (eg. Tload)
- run the problem to some multiple of the repeat time, say 100 passes

ie.
DEFINITIONS
Tlen = 1000 { time for a single pass }
Tload = MOD (T,Tlen) { current time within the pass }
Heat = TABLE ('name', Tload) { read the table file 'name' and assign the coordinate to Tload }
...
FOR TIME = 0 to 100*Tlen
...


Doing this should cause the values of the heat load to be repeated over time.
You may need to fill out the table data to match your chosen repeat time.

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration