T.C. Illingworth, I.O. Golosnoy, T.W. Clyne
The Gordon Laboratory,
Department of Materials Science and Metallurgy,
University of Cambridge,
Cambridge,
CB2 3QZ,
U.K.
E-mail: tci20@cam.ac.uk
Added to MAP: April 2004.
A one-dimensional model which describes the changing concentration profiles in two-phase systems where diffusion across the interface causes the phase boundary to move (at a constant temperature). In particular, this model has been used to study transient liquid phase bonding.
Language: | C/C++ |
Product form: | Source Code |
The evolution of two-phase moving boundary problems cannot be described by closed-form analytical equations. Under the assumtion that fluxes are adequately described by Fick's second law (with a constant diffusion coefficient in each phase) and that local equilibrium exists at the phase boundary, this program calculates a numerical solution to a set of differential equations which model such a problem. Full details are presented in an accompanying paper (see the reference below; the paper can be downloaded here).
Essentially, a 'Front Fixing' co-ordinate transformation is used to introduce a co-ordinate system in which the interface is stationary. It is then possible to ensure that solute is conserved and to introduce optimised meshes so that the accuracy of predictions can be improved. In order to generate a numerically stable solution for any discretisation scheme, a fully implicit algorithm is solved at each timestep. Such an approach is inherently non-linear; by iteratively solving a linearised version of the problem at each timestep, the efficiency of the algorithm is improved without any sacrifice in accuracy.
The code availble here describes a one-dimensional planar geometry in which the boundary conditions at both ends are set to ensure zero flux. In addition, the mathematical formulation assumes that the diffusion is substitutional in nature. In this way, the algorithm can be used to model the TLP bonding process for certain alloy systems.
dt | n_t | ||||
s | L | ||||
n | c_A | D_A | |||
u[0] | u[1] | u[2] | ... | u[n-2] | u[n-1] |
p[0] | p[1] | p[2] | ... | p[n-2] | p[n-1] |
m | c_B | D_B | |||
v[0] | v[1] | v[2] | ... | v[m-2] | v[m-1] |
q[0] | q[1] | q[2] | ... | q[m-2] | q[m-1] |
As an example, the interface motion predicted by the algorithm when the parameters and initial conditions of the attached Input.txt are used is presented in the attached file Results.txt
The error depends not only on the way in which space and time are discretised; the velocity of the interface veocity is also important. The magnitude of any error therefore depends on the initial profile as well as the physical properties of the system being modelled.
Experiments indicate that numerical solutions for the interface position are: first order accurate in space (for spatial discretisations which divide each phase uniformly); and first order accurate in time (for timesteps which are constant throughout each simulation).
More information, including an animation showing how composition profiles are calculated to vary in a particular case, can be found on the project website.
subroutines.cpp and .h
InOut.cpp and .h
trimatrix.cpp and .h
datastructures.h
diffusion, moving boundary, transient liquid phase
MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.