﻿ Sample Problems > Applications > Chemistry > melting

melting

Navigation:  Sample Problems > Applications > Chemistry >

melting   {  MELTING.PDE

This problem shows the application of FlexPDE to the melting of metal.

We choose as our system variables the temperature, "temp", and the

fraction of material which is solid at any point, "solid".

The temperature is given by the heat equation,

where cp is the heat capacity, rho the density and lambda the conductivity.

The latent heat, Qm, is an amount of heat released as "Solid" changes from

zero to one.  We have Qm = integral[0,1]((dH/dSolid)*dSolid), or assuming

dH/dSolid is constant, dH/dSolid = Qm.

Then heat source from freezing is

dH/dt = (dH/dSolid)*(dSolid/dt) = Qm*dt(Solid).

We assume that the solid fraction can be represented by a linear ramp from

one down to zero as the temperature passes from (Tm-T0/2) to (Tm+T0/2).

solid = 1                   when  temp  <  Tm-T0

(Tm+T0/2-temp)/T0   when  Tm-T0 <= temp <= Tm+T0

0                   when  temp  >  Tm+T0

where Tm is the melting temperature, and T0 is a temperature range over

which the melting transition occurs.  Since there are no spatial derivatives

in this equation, we introduce a diffusion term with small coefficient to act

as a noise filter.

The particular problem addressed here is a disk of cold solid material

immersed in a bath of liquid.  The initial temperatures are such that material

first freezes onto the disk, but after  equilibrium is reached all the material

is liquid.    The outer boundary is insulated.

Since the initial condition is a discontinuous distribution, we use a separate

REGION to define the cold initial disk, so that the grid lines will follow the

shape.  We also add a FEATURE bounding the disk  to help the gridder

define the abrupt transition. SELECT SMOOTHINIT helps minimize

interpolator overshoots.

}

TITLE

'Melting Metal'

COORDINATES

ycylinder('r','z')

SELECT

smoothinit

VARIABLES

temp(threshold=1)

solid(threshold=0.01)

DEFINITIONS

Qm= 225000       { latent heat }

Tm=1850           { Melting temperature }

T0= 20           { Melting interval +- T0 }

temp_liq=2000     { initial liquid temperature }

temp_sol=400     { initial solid temperature }

Tinit

R_inf = 0.7       { Domain Radius m}

{ plate }

d=0.05

dd = d/5         { a defining layer around discontinuity }

R_Plate=0.15

K = 30+4.5e-5*(temp-1350)^2 { Conductivity }

rho=2500                     { Density kg/m3 }

cp = 700                     { heat capacity }

INITIAL VALUES

temp=Tinit

solid =  0.5*erfc((tinit-Tm)/T0)

EQUATIONS

temp:  rho*cp*dt(temp) - div(K*grad(temp)) = Qm*dt(solid)

solid: solid - 1e-6*div(grad(solid)) = RAMP((temp-Tm), 1, 0, T0)

BOUNDARIES

region 'Outer'

Tinit = temp_liq

start 'outer' (0,-R_inf)

value(temp)= temp_liq   arc(center=0,0) angle 180

natural(temp)=0         line to close

region 'Plate'

Tinit = temp_sol

start(0,0)

mesh_spacing=dd

line to (R_Plate,0) to (R_Plate,d) to (0,d) to close

TIME  0 by 1e-5 to 600

MONITORS

for cycle=10

grid(r,z) zoom (0,-0.1,0.25,0.25)

elevation(temp) from(0.1,-0.1) to (0.1,0.15) range=(0,2000)

elevation(solid) from(0.1,-0.1) to (0.1,0.15) range=(0,1)

PLOTS

for t= 0 1e-4 1e-3 1e-2 0.1 1 10 by 10 to 100 by 100 to 300 by 300 to endtime

contour(temp)   range=(0,2000)

contour(temp)   zoom (0,-0.2,0.45,0.45) range=(0,2000)

elevation(temp) from(0.1,-0.1) to (0.1,0.15) range=(0,2000)

contour(solid)   range=(0,1)

contour(solid)   zoom (0,-0.2,0.45,0.45) range=(0,1)

surface(solid)   zoom (0,-0.2,0.45,0.45) range=(0,1) viewpoint(1,-1,30)

elevation(solid) from(0.1,-0.1) to (0.1,0.15) range=(0,1)

HISTORIES

history(temp) at (0.051,d/2) (0.075,d/2) (R_plate,d/2)

history(temp) at (0.051,d)   (0.075,d)   (R_plate,d)

history(solid) at (0.051,d/2) (0.075,d/2) (R_plate,d/2)

history(solid) at (0.051,d)   (0.075,d)   (R_plate,d)

history(integral(cp*temp+Qm*(1-solid))) as "Total Energy"

END