Skip to main content
Image
Velocity and temperature of the melt

Introduction

This demonstration case models unsteady turbulent 3D melt flow in a laboratory model of Czochralski crystal growth system using OpenFOAM. The buoyancy effects as well as the crystal and crucible rotation are considered.

Large Eddy Simulation (LES) model is used to describe the turbulence effects. Optionally, Reynolds-Averaged Navier–Stokes (RANS) model, such as k-ω SST or k-ε can be used instead. For the mesh generation, the Gmsh program is used. The physics simulations are performed using the OpenFOAM library. 

This demonstration can be used for evaluation of the melt flow in a Czochralski crystal growth system. Another purpose is to demonstrate the typical workflow and steps of HPC calculations.

Problem background

This case considers a 3D simulation domain describing the melt inside a crucible according to the paper Krauze, A., Jēkabsons, N., Muižnieks, A., Sabanskis, A., & Lācis, U. (2010). Applicability of LES turbulence modeling for CZ silicon crystal growth systems with traveling magnetic field. Journal of crystal growth, 312(21), 3225-3234. The geometry is axisymmetric, the crystallization interface is flat and its center coincides with the symmetry axis. The heat input from the crucible side and heat losses from the free melt surface are specified by the user. Melt velocity U and temperature T are calculated. Their values are averaged in time; the temperature fluctuations are computed as well, see Figure below.

To get these visualizations, ParaView program is required.

Example of obtained results: melt velocity, temperature, temperature fluctuations

Boundary conditions for melt velocity are:

  • Rotational velocities at crystal and crucible
  • Slip condition at freesurf

Boundary conditions for melt temperature are:

  • Fixed temperatures at crystal
  • Prescribed heat flux density at crucible and freesurf (depending on the radial position)

Running the case on an HPC cluster

The demonstration case is prepared as a public Git repository. It can be cloned and run using this link. Automatization of pre- and post-processing (for improving convenience for first-time users) is realized by Python and shell scripts.

For example, to prepare mesh, just execute the following command:

./run1-create-mesh.sh

A quarter of the whole mesh (mesh.msh) is first generated by Gmsh from mesh.geo, which is then imported to OpenFOAM and mirrored across xy and xz planes to create the full axisymmetric geometry. After the mesh is ready, mesh-*.png files will appear in the current directory. They show mesh slices in three planes (xz, yz and xy) and allow to check if the mesh looks good before continuing to the next step. An example of these images is shown below:

An example of created mesh

To make adjusting the most relevant parameters easier, they are collected in the file parameters.py. For example, to change the geometry, adjust the values assigned to geometric parameters before starting the simulation.

For the detailed step-by-step instructions see this link.