Phase Change Problems: A Student in Coventry Explores Solutions

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 2K views
arehman1289
Messages
11
Reaction score
0
Hello,

I am a student in Coventry, UK working on Phase Change Problems and going through 1-Phase Neumann Analytical solutions.

As per most books, or specifically Mathematical Modeling of Melting and Freezing Processes chapter 2 (attached) page 36, equation 15, the general equation of temperature distribution, after solving parabolic differential equations is given?

http://www.math.utk.edu/~vasili/475/Handouts/4.PhChgbk.2.1.pdfFollowing are the attached graphs from the book and the plot I get from matlab, with the following values .

lambda = 0. 3777
alpha l = 1. 347 ´10-3
x = 1 cm
tl = 25 degrees
delta tl = 25 degrees

The problem lies in the initial value of temperature. I always get it in negative although the initial temperature is 0 degrees. If you look at the equation 15 (from the link) for time = 0, the denominator is always (erf(0.377) 0.41 while the numerator is 1 giving the temperature answer in negative. hence i thought it is a printing error or any other logical explanation ? Is it something to do with the error functions ?

I would really really appreciate your response.

Thanks & Regards
Abdur
 

Attachments

  • untitled.jpg
    untitled.jpg
    7.6 KB · Views: 650
  • Neumann_book.JPG
    Neumann_book.JPG
    25.4 KB · Views: 689
Physics news on Phys.org
I have also attached the simple code of matlab.
Matlab:
cpL =  4186;
kL =  0.564;
rho =  1000;
temp_melt =  0;
latent_heat =  333400;
temp_source =  25;
time_total = 12600;

alp_L = kL/(rho*cpL);
dT = temp_source - temp_melt;
stephan_l = (cpL*dT)/latent_heat ;

time_latent = [0:1:time_total];
x = 0.01

temp_latent = temp_source - dT*(erf(x./(2.*sqrt(alp_L.*time_latent)))./erf(0.3777));

plot(time_latent,temp_latent);
 
Last edited by a moderator: