1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
// mound.fe
// Evolver data for drop of prescribed volume sitting on plane with gravity.
// Contact angle with plane can be varied.
PARAMETER angle = 90 // interior angle between plane and surface, degrees
gravity_constant 0 // start with gravity off
#define WALLT (-cos(angle*pi/180)) // virtual tension of facet on plane
constraint 1 /* the table top */
formula: x3 = 0
energy: // for contact angle
e1: -(WALLT*y)
e2: 0
e3: 0
vertices
1 0.0 0.0 0.0 constraint 1 /* 4 vertices on plane */
2 1.0 0.0 0.0 constraint 1
3 1.0 1.0 0.0 constraint 1
4 0.0 1.0 0.0 constraint 1
5 0.0 0.0 1.0
6 1.0 0.0 1.0
7 1.0 1.0 1.0
8 0.0 1.0 1.0
9 2.0 2.0 0.0 fixed /* for table top */
10 2.0 -1.0 0.0 fixed
11 -1.0 -1.0 0.0 fixed
12 -1.0 2.0 0.0 fixed
edges /* given by endpoints and attribute */
1 1 2 constraint 1 /* 4 edges on plane */
2 2 3 constraint 1
3 3 4 constraint 1
4 4 1 constraint 1
5 5 6
6 6 7
7 7 8
8 8 5
9 1 5
10 2 6
11 3 7
12 4 8
13 9 10 no_refine fixed /* for table top */
14 10 11 no_refine fixed
15 11 12 no_refine fixed
16 12 9 no_refine fixed
faces /* given by oriented edge loop */
1 1 10 -5 -9
2 2 11 -6 -10
3 3 12 -7 -11
4 4 9 -8 -12
5 5 6 7 8
7 13 14 15 16 no_refine density 0 fixed /* table top for display */
bodies /* one body, defined by its oriented faces */
1 1 2 3 4 5 volume 1 density 1
read
re := {refine edges where on_constraint 1 }
// Typical evolution
gogo := { re; g 5; r; g 5; r; g 5; hessian; hessian; }
// Evolution with 45 degree contact angle
gogo2 := { angle := 45; re; g 5; V;V; r; g 5; V;V; r; g 5; hessian; hessian; }
// Evolution with 90 contact and high gravity
gogo3 := { angle := 90; G 5; re; g 5; r; g 5; r; g 5; hessian; hessian; }
// Evolution with 90 contact and negative gravity, i.e. pendant drop
gogo4 := { angle := 90; G -2; re; g 5; r; g 5; r; g 5; hessian; hessian; }
// Pendant drop falling off ceiling
gogo5 := { angle := 90; G -5; re; g 10; t .1; unset vertex constraint 1; g 3; }
|