Gull Wing Lead Array Example for the
Surface Evolver
A gull wing lead is a wire coming from a chip bending horizontally to
make contact with a solder pad on a substrate.
This set of examples models one such joint, beginning very simply and
adding features until a fairly complex model is reached.
The lead has three sections: a horizontal section
above the pad, a circular section rising up at one end, then
a second circular section curving over to horizontal where the
lead enters the chip.
The ultimate goal here is to find the equilibrium shape of the liquid
solder, and the forces exerted by the solder on the lead. Only
translational forces will be done; torques will be left as an
exercise for the reader.
The system of units is somewhat ideosyncratic,
using the milkilogramsecond system (1 mil = 0.001 inch), but that is
what is used by some in industry and illustrates the point that the
Evolver doesn't care what system of units you use as long as you are
consistent.
A list of the
various datafiles is below, with brief descriptions. Each datafile has
its own page, which elaborates on the added features and their implementation.
Note that the ordering of the datafiles is treelike, rather than linear.
The complete set of datafiles and auxiliary command files is available in
gullwingfiles.zip
or gullwingfiles.tar.
NOTE: These models require
Evolver version 2.12 (March 21, 1999)
or higher to run.
One of the benefits of writing my own software is that if it needs
features, I can add them. Some of the datafiles could run on old
versions with a little editing, but some definitely need the new
features.
It is assumed that you are familiar with the operation of the Surface
Evolver at least to the level of the basic
Evolver Tutorial examples
cube.fe,
cat.fe, and
mound.fe.
Also, it would be well to look first at the
Ball Grid Array set of
examples first, since that has a much simpler geometry.
The general sequence of steps in modeling a surface is:
 Create a physical/mathematical model, in the sense of
deciding on geometry, energies, and constraints.
 Construct an initial datafile embodying the model, with appropriate
variables, constraints, quantities, and geometric elements.
 Figure out a good evolution script.
 Write scripts for the calculation of whatever forces, torques, etc.
you want as output data.
 Estimate the accuracy of your data as a function of refinement,
using known special cases or by looking at the convergence of a
sequence of values for successive refinements.
 Write scripts to automatically evolve and collect data over a range
of parameters.
The Datafiles:
The sequence of datafiles starts simple and adds features. The sequence
is not strictly linear; the main sequence keeps the contact surface on
the chip explicitly represented by facets, and a sideline replaces those
facets with edge integrals. Each datafile link here opens a commentary
page, from which one can also open the datafile in a separate browser
window. The idea is to be able to look at the commentary and datafile
simultaneously. The datafiles themselves also contain a little commentary.
You are also urged to have the Evolver running and run the models
as they are discussed.

gullwing1.fe
Simplest model. Start here.
Just the pad and lead, no solder.

gullwing2.fe
Adding solder completely surrounded by facets.

gullwing3.fe
Removing interface facets and replacing them with
edge integrals, for more convenient evolution.
Evolution, and force calculations.

gullwing4.fe
Final polishing, and using Hessian commands to
show convergence.
Last modified 8/12/99.
Surface Evolver home page
More Surface Evolver examples
Ken Brakke's home page