Author |
Message |
Gasper Vindisar (gvindisa)
New member Username: gvindisa
Post Number: 1 Registered: 12-2004
| Posted on Thursday, December 09, 2004 - 06:24 am: | |
Hi! I'm dealing with a transient problem of simultaneous heat and mass (vapor) transfer. As a first case I'm trying to solve a 1D problem of drying of a very long spruce specimen. My final goal is modeling of 2D problems (walls) with internal heat sources. As a mathematical model I use Luikov equations. I’m using student edition of FlexPDE 4.2.3.s. Spruce should initially have 25 deg. Celsius and 86% Relative Humidity. Surrounding environment has same temperature and only 4% RH. Never the less if I describe whole geometry or introduce symmetry and if I present coupled problem or decouple the equations (prescribing value 0 to four constants) FlexPDE computes same results for moisture content in time. Drying results also correspond very well to calculations preformed with other programs. The problem occurs when calculating the temperature in spruce. Since evaporation heat is very significant (2500kJ/kg) one expects temperature fall at the beginning and after some time return to equilibrium state (at coupled problems). But the fact is that I can not prescribe such value for evaporation heat (maybe at max half that value) – (‘Time step has fallen …’ is reported) and never the less what value I prescribe nothing really happens with temperature. I wonder how could I improve my script. Gasper
|
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 279 Registered: 06-2003
| Posted on Thursday, December 09, 2004 - 06:17 pm: | |
The file you posted runs fine on v4.2.3s. Is there some change that has to be made to cause it to fail? You should post the version that fails.
|
Gasper Vindisar (gvindisa)
New member Username: gvindisa
Post Number: 2 Registered: 12-2004
| Posted on Friday, December 10, 2004 - 03:40 am: | |
Indeed sent problem runs well since evaporation heat hl is set to only 2500*10¡2 instead of 10 times higher value (the correct value). With such a number the reported error occures. Although I suppose also with 10 times smaller value some temperature changes should be observed. Kindly ask you to run a file with correct values!
|
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 282 Registered: 06-2003
| Posted on Friday, December 10, 2004 - 02:50 pm: | |
A little algebra shows that the time derivatives can be isolated as follows: dt(temp)*(1-lambda*mi)= L*div(gradtemp)) +mi*D*div(grad(moist)) dt(moist)*(1-lambda*mi)= D*div(grad(moist)) +lambda*L*div(grad(temp)) This arrangement runs successfully. My guess is that there is some sort of cancellation in the way you originally wrote the equations, resulting in a 0/0 at early time.
|
Gasper Vindisar (gvindisa)
Junior Member Username: gvindisa
Post Number: 3 Registered: 12-2004
| Posted on Monday, December 13, 2004 - 09:43 am: | |
Indeed now the code runs fine! So if I understand well it's necessary (or only in this case preferable?) to isolate the time derivates of single variables. Still no temperature changes are calculated although I suppose there should be some effect of evaporation and change of heat capacity. Anyway this may already be a question that overpasses the problem of pure code writing. Thank you for the advice and best regards! Gasper |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 285 Registered: 06-2003
| Posted on Monday, December 13, 2004 - 04:02 pm: | |
There is no theoretical reason why the time derivatives should be isolated, but the characteristics of the local coupling matrix for the time derivative terms impacts the numerics of the solution process. I infer that in your case the local coupling matrix as originally stated is nearly singular, leading to numerical troubles. I have not investigated in detail what this matrix was, but found experimentally that segregation of time derivatives solved the problem. |