// Filename freebridge.fe. // Modification of Kusner's Evolver file bridge.fe by his student, Matt Tagliani. // working model (6/94) of two pendant drops bridging without imposed symmetry. // (minor modifications to script by RK, 25 April 1996, at NIST) /* this file gives a pair of solder beads connected by a bridge which will evolve to a (possibly asymmetric) disconnected pair of beads if the volume fraction and gravity:surface tension fraction are correct; by varying these fractions, as well as the other parameters, optimal configurations can easily be obtained: note, my gravity has negative (pendant) sign*/ square_curvature 0 /* to allow some smoothing - turn on later! */ /*pad radius*/ PARAMETER RR=.8 /*wedge angle for the array, in this version this value is moot*/ PARAMETER TT=pi/2 /*pi/6: hexagonal; pi/4: square; pi/3: triangle; pi/2: linear*/ /*half interpin distance*/ PARAMETER DD=1 /*volume fraction*/ PARAMETER FF=1.5 /*gravity:surface tension fraction*/ PARAMETER GG=1 constraint 1 /*the pad*/ formula: z=0 constraint 2 /*the pad rim*/ formula: (x+1)^2+y^2=RR^2 constraint 3 /* other pad rim */ formula: (x-1)^2+y^2=RR^2 constraint 4 /*the wall that is their boundary*/ formula: x=0 vertices 1 -1 0 1 2 0 0 1 /*constraint 4*/ 3 0 .25 .75 /*constraint 4*/ 4 0 0 .5 /*constraint 4*/ 5 -.25 0 0 constraint 1 constraint 2 6 -1 .6 0 constraint 1 constraint 2 7 -1 .5 .5 // //board from which they hang. // 8 -2 -1 0 fixed 9 2 -1 0 fixed 10 2 1 0 fixed 11 -2 1 0 fixed // 12 0 -.25 .75 /*constraint 4*/ 13 -1 -.6 0 constraint 1 constraint 2 14 -1 -.5 .5 // //new points that make up the back // 15 -1.6 .6 0 constraint 1 constraint 2 16 -1.8 0 0 constraint 1 constraint 2 17 -1.6 -.6 0 constraint 1 constraint 2 18 -1.6 0 .6 // //This is the second drop. // 19 .25 0 0 constraint 1 constraint 3 20 1 .6 0 constraint 1 constraint 3 21 1 -.6 0 constraint 1 constraint 3 22 1.6 .6 0 constraint 1 constraint 3 23 1.6 -.6 0 constraint 1 constraint 3 24 1.8 0 0 constraint 1 constraint 3 25 1.6 0 .6 26 1 0 1 27 1 .5 .5 28 1 -.5 .5 edges 1 1 2 2 2 3 constraint 4 3 3 4 constraint 4 4 4 5 5 5 6 constraint 1 constraint 2 6 6 7 7 7 1 // // The board // 8 8 9 fixed /*display brown board*/ 9 9 10 fixed 10 10 11 fixed 11 11 8 fixed // 12 2 12 constraint 4 13 12 4 constraint 4 14 5 13 constraint 1 constraint 2 15 13 14 16 14 1 17 6 15 constraint 1 constraint 2 18 15 16 constraint 1 constraint 2 19 16 17 constraint 1 constraint 2 20 17 13 constraint 1 constraint 2 21 1 18 22 18 16 // // This is the second drop's edges. // 23 2 26 24 4 19 25 26 27 26 27 20 27 26 28 28 28 21 29 26 25 30 25 24 31 21 23 constraint 1 constraint 3 32 23 24 constraint 1 constraint 3 33 24 22 constraint 1 constraint 3 34 22 20 constraint 1 constraint 3 35 19 20 constraint 1 constraint 3 36 19 21 constraint 1 constraint 3 faces 1 8 9 10 11 fixed density 0 /* display board */ 2 1 2 3 4 5 6 7 3 -16 -15 -14 -4 -13 -12 -1 4 17 18 -22 -21 -7 -6 5 21 22 19 20 15 16 6 23 25 26 -35 -24 -3 -2 /*2*/ 7 12 13 24 36 -28 -27 -23 8 29 30 33 34 -26 -25 9 -30 -29 27 28 31 32 bodies 1 2 3 4 5 6 7 8 9 volume (FF*TT) //density 1 read col:=set facet color brown where id=1 or id=10 or id=11 or id=12 col P 9 P 8 inf:={printf "volume fraction"; print FF; printf "gravity:surface tension fraction"; print GG;printf "number of bridges"; print pi/TT;printf "1/2 interpin distance"; print DD;printf "pad radius"; print RR} inf doit:={G -2*GG;r;l .2;r;V;u;V;u;g;t .06;w .003;V;u;V;u;V;{g5; l .2;t .06; w .003; t .06;V;u}2;V;u;U;{g5;l .1; t .04; w .002; t .04;u}10;g10;inf}