Gull Wing home page
Previous Gull Wing page
Next Gull Wing page
Gull Wing Lead Example gullwing-2 for the
[Click for the gullwing-2.fe
datafile in a second window.]
This file adds the liquid solder, completely surrounded by facets.
Surrounding the solder with facets is easier conceptually than
going immediately to edge integrals, and provides an accuracy
check on the integral form in gullwing-3.fe.
- Solder parameters:
We need to define the physical properties of the liquid solder, so we
put in some appropriate parameters:
parameter gamlv = 0.45 // Liquid-vapor surface energy of solder (Kg/s^2)
parameter den = 1.3e-10 // Density of solder (Kg/mil^3)
parameter mr_grav= 385000 // Acceleration of gravity (mil/s^2)
The internal gravitational constant is set to the proper value with
The values look a little strange because of the unusual mil-Kg-sec system
of units. Also we need to specify the contact angles:
//Contact angles on sides, foot, and bottom surfaces of lead, and pad
parameter theta_side = 20 // Contact angle on sides of the gull wing (degrees)
parameter theta_lower = 20 // Contact angle on the bottom surface of the gull wing (degrees)
parameter theta_toe = 20 // Contact angle on the toe of the gull wing (degrees)
parameter thetap = 20 // Wetting angle on the pad (degrees)
A contact angle is actually used to specify an equivalent contact surface
tension of the form -gamlv*cos(angle). In this datafile, this type of
tension will be applied to the contact facets; in gullwing-3.fe, it will
be incorporated into edge integrals.
- Solder geometry:
- A full new set of constraints is needed to define the various
contact surfaces of the solder: the pad (constraint 5),
the toe of the lead, the
underside of the lead, and the bottom of the lead.
- Also needed are a set of one-sided constraints to keep the
pad contact lines inside the pad. If the pad were to be perfectly
wetting, then we could just fix the contact line to the edge of the
pad, and life would be simple. However, we are doing a non-zero
contact angle on the pad, so we need the constraints. There are
four sides on the pad, so we could use four one-sided constraints.
Or we could mathematically combine the constraints into two formulas,
or even one. I initially chose to combine into one formula to start off
with, and see if it causes any problems:
constraint 6 nonnegative // Keep inside pad edges
formula: (padwidth^2/4 - x^2)*(y-padtoe)*(padheel-y)
But it turned out later in evolution that some vertices escaped
to undesired regions, so I made it two constraints:
constraint 6 nonnegative // Keep inside pad edges in x direction
formula: (padwidth^2/4 - x^2)
constraint 7 nonnegative // Keep inside y direction
These will be applied to all vertices, edges, and facets on the pad. It
might not seem necessary to apply them to the facets on the pad, since the
ultimate effect is to apply them to interior vertices resulting from
refinement. But experience has shown me that interior vertices can
do strange things when the evolution does not go right, so it is
better to keep them under control. Besides, the interior vertices will
be gone when we get to serious evolution in gullwing-3.fe.
- Also need one-sided constraints to keep
contact lines from going above or below or sideways off the lead.
These are constraints 20-23. Constraints 22 and 23 use conditional
expressions to do 3-way piecewise definitions of the formulas. Each
could have been expanded into three constraints with simpler formulas,
but then we would have problems when vertices want to slide back and
forth between sections. Better to have the complexity once here than
repeatedly in evolution.
- Now we put in a full new set of vertices, edges, and faces to
define the liquid solder. Also one body to prescribe the volume
of the solder. All the faces are oriented with outward
normals, for easy incorporation into the body.
The solder facets are all given tensions to provide the proper
surface energies and contact angles.
- I have started the solder fairly low on the lead, since I have
found it usually works better for solder to spread rather than shrink.
Shrinking leads to short edges and tiny triangles that can stall the
evolution until they are dealt with.
- Visually check that everything is right with the contact
facets by displaying only them with
show facet where color == white
Also, refine a couple times to check all the constraints on
edges and facets.
- I have set the body volume to 3780, simply because this was the
volume of the initial configuration as shown by the 'v' command.
- If you try evolving this datafile, you will see the problems
caused by the interface facets. Contact lines tend to cross over
interior vertices, and since contact facets have negative tension,
they tend to explode when they get overrun. Fixing the contact
facets so the interior vertices can't move doesn't help, since
there is still the overrunning problem.
- We're not even going to try to evolve this datafile, but
go on to gullwing-3.fe, and just use this datafile to verify
Gull Wing home page
Previous gullwing page
Next gullwing page
Surface Evolver home page
More Surface Evolver examples
Ken Brakke's home page
This page last modified August 12, 1999