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
gravity_constant mr_gravThe 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.
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 formula: (y-padtoe)*(padheel-y)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.
show facet where color == whiteAlso, refine a couple times to check all the constraints on edges and facets.