Friday, September 27, 2013

Python Software Foundation - SfePy : GSoC 2013 : The Begining!

Hi Pythonistas,

GSoC finally comes to an end.
It was a wonderful experience.
My projects and docs are available on my repo.
It was an awesome experience going through the wonderful projects of other pythonistas.

Adios & Cheers!

Monday, September 16, 2013

Python Software Foundation - SfePy : GSoC 2013 : The Final Lap

Hi Pythonistas,

So finally I am heading into the final lap of GSoC 2013.
Just a few more steps away from complete integration and need to update the doc strings.

Pushed my latest codes.
Feeling awesome!


Liquid Fraction


Thursday, September 12, 2013

Python Software Foundation - SfePy : GSoC 2013 : Week 12 & 13

Hi Pythonistas,

PS: I will get a bit informal in today's report. Do forgive me for that.

Past 14 days have given me the best coding experience of my lifetime. After doing rigorous research I had formalized my problem statement earlier and started working on it. I realised the true intricacies in my problem when I started searching for methods by which phase change simulations are implemented. I had to change my earlier timeline and jump to my project problem directly. This field is a relatively new field and the algorithms have been developed surrounding the legacy SIMPLE algorithm by Patankar. From Brent, A.D., Voller, V.R. and Reid, K.J.(1988) to Chakraborty, P R and Dutta, P (2011), people have developed the enthalpy update scheme for accounting phase change keeping Patankar's algorithm as the base. I was familiar with SIMPLE algorithm earlier so I have developed a phase change solver for SfePy using Semi-Implicit Method for Pressure Linked Equations (Revised) or SIMPLER algorithm which is much more robust than SIMPLE algorithm.

The solver code is located here.
Download test problem file here.

Run python
You will get an output dir containing the vtk files which can be viewed using
./ <file>.vtk


The entire group can be loaded in Paraview and you can get the animation.

The code has been validated for the melting gallium experiment performed by Gau and Viskanta(1986) & Brent et al.(1988).

You can see that the code is following the trend and the difference is due to the slight change in thermophysical properties of Gallium taken in the code which might be different while performing the experiments.

Do leave your views in the comments below.


Phase Change Solver - SfePy GSoC 2013

Hi Pythonistas,

Here are some videos of the final result I obtained using the new solver I developed for Phase Change Effect Simulation.
A more detailed blogpost will follow soon.
Right now just enjoy the videos. :)


Tuesday, September 3, 2013

Python Software Foundation - SfePy : GSoC 2013 : Week 10 & 11

The final problem accounting convection-diffusion along with phase change has been defined below along with the governing equations and validation case studies.

Heat transfer in the processing of materials involving solid-liquid phase transformations (melting and solidification) is commonplace in such fields as metallurgy, crystal growth from melts and solutions, purification of materials, and solidification of metals. The associated density gradients in a gravitational field can induce natural convection flows. Convection in the liquid phase influences the process in two different ways, one of which is beneficial and the other of which can be detrimental. During melting convection increases the overall transport rate and, hence, the growth rate of the new phase, which is desirable. On the other hand, during solidification convection decreases the growth of the new phase and also seems to affect the morphology of the solid-liquid interface adversely. The nature of the solid is largely determined by what occurs in the vicinity of the solid-liquid interface. The heat release (absorption), density change, and other processes that take place in the vicinity of the transformation front result in nonuniformities along the front that cause its shape to change. The resulting density gradients in the liquid generate buoyancy-driven convection that can affect the transport of heat, constituent chemicals, and the growth rate.
The physical domain considered is shown in the figure. The vertical side walls of the enclosure are maintained at uniform temperatures, while the connecting horizontal walls are adiabatic. The govering equations are written for the entire domain assuming constant thermophysical properties, Boussinesq approximation, laminar, incompressible, and Newtonian two-dimensional flow. The solid-liquid interface motion due to volume change upon melting or solidification is neglected through the assumption ρs = ρl.









Specific heat capacity



Thermal conductivity



Thermal expansion coefficient



Latent heat of fusion






Volume fraction














Source term



















Governing Equations

The continuum relations:
gl + gs = 1
fl + fs = 1
fl = glρl ρ
fs = gsρs ρ
ρ = glρl + gsρs
u = flul + fsus
keff = glkl + gsks
cp = flcpl + fscps

1. Continuity
(u) = 0

2. Momentum
ρ u t + u u = p + μ2u + ρgβ(T T ref) + Bu

Now the key lies in modelling the source term. The coefficient B which should tend to 0 as the liquid volume fraction gl approaches unity, and should become a large negative number to anhilate the motion in the fluid region at gl = 0. Whereas these asymtotic conditions can be satisfied by several functions, we adopt the suggestion of Brent et al. :
B = C(1 gl)2 (gl3 + b)

C = 1.6 × 106

b = 0.001

2. Energy
Writing a general equation for conservation of thermal energy for all the zones in the domain is facilitated by focusing on an element undergoing phase change. Below are the energy equation of solid and liquid phases under the thermal equilibrium condition Tl = Ts = T:
(ρsgsHs) t + (ρsgsusHs) = (gsksT) + Ss

(ρlglHl) t + (ρlglulHl) = (glklT) + Sl

where Ss and Sl are the interphase energy terms, having the same magnitude but being opposite in sign.
A single governing enthalpy equation results:
(ρHm) t + ρ(fsusHs + flulHl) = (keffT)

Hm = fsHs + flHl = Hs + fl(Hl Hs)

The latent heat content of the element is due to the fraction of liquid converted to, or from, the corresponding quantity of solid. Hence we write
ΔH = fl(Hl Hs) = flL

Hm = Hs + flL

Hs = cpT

Hl = Hs + L

where L is the latent heat of fusion.
The zones where T > Tmelt, the entire element is in the liquid state and fl = 1.
The zones where T < Tmelt, the entire element is in the liquid state and fl = 0.
It is the elements undergoing phase change at T = Tmelt, where fl varies between 0 and 1. Substituting Hm and Hl in equation we get
(ρH) t + (ρuH) = (keff cp H)Se

u = flul

Se = (ρΔH) t = ρL(fl) t

Initial Conditions
fl = 0 everywhere
T = Tint everywhere
u = 0 everywhere.

Boundary Conditions
fl = 1 Left wall
fl = 0 Right wall
fl[i][j] = fl[i 1][j] Top
fl[0][j] = fl[1][j] Bottom
T = Thot Left wall
T = Tcold Right wall
u = 0 Walls

Validation Cases
Melting Gallium : Gau and Viskanta
Melting Gallium : Brent et al.
Melting Calcium chloride : Zivkovic and Fujii

  1. Zivkovic, B., Fujii, I., 2001. “An Analysis of Isothermal Phase Change of Phase Change Material within Rectangular and Cylindrical Containers”. Solar Energy, 70, pp. 51-61.
  2. Brent, A.D., Voller, V.R., Reid, K.J., 1988. “Enthalpy-porosity Technique for Modeling Convection-diffusion Phase Change: Application to the Melting of a Pure Metal”. Numerical Heat Transfer, 13(3), pp. 297-318.
  3. Gau, C., Viskanta, R., 1986. “Melting and Solidification of a Pure Metal on a Vertical Wall”. Journal of Heat Transfer, 108(1), pp. 174-181.
  4. Rajeev, K., Das, S., 2010. “A Numerical Study for Inward Solidification of a Liquid Contained in Cylindrical and Spherical Vessel”. Thermal Science, 14(2), pp. 365-372.
  5. Vreeman, C. J., Krane, M. J. M., Incropera, F. P. , 2000. “The Effect of Free-Floating Dendrites and Convection on Macrosegregation in Direct Chill Cast Aluminum Alloys. Part 1: Model Development”. Int. J. Heat Mass Transfer, 43, pp. 677-686.
  6. Flemings, M. C., 1974. Solidification Processing. McGraw-Hill, New York.
  7. Kumar, A., Walker, M. J., Sundarraj, S., Dutta, P., 2011. “Grain Floatation During Equiaxed Solidification of an Al-Cu Alloy in a Side-Cooled Cavity: Part II-Numerical Studies”. Metallurgical and Materials Transactions, 42(B), pp. 783-799.
  8. Voller, V.R., 2006. Handbook of Numerical Heat Transfer, 2nd ed.. Wiley, New York, NY, pp. 593-622.