// catdisk.fe

// Evolver data for catenoid with central disk. Actually, it
// is cat.fe with an evolution that creates a central disk.

// Stable for RMAX/ZMAX > 2.452
PARAMETER  RMAX = 1.5088795  
PARAMETER  ZMAX = 0.5

boundary 1 parameters 1     //  upper ring
x1:  RMAX * cos(p1)
x2:  RMAX * sin(p1)
x3:  ZMAX


boundary 2 parameters 1    //   lower ring
x1:  RMAX * cos(p1)
x2:  RMAX * sin(p1)
x3:  -ZMAX


vertices   // given in terms of boundary parameter
1    0.00  boundary 1   fixed
2    pi/3  boundary 1   fixed
3  2*pi/3  boundary 1   fixed
4    pi    boundary 1   fixed
5  4*pi/3  boundary 1   fixed
6  5*pi/3  boundary 1   fixed
7    0.00  boundary 2   fixed
8    pi/3  boundary 2   fixed
9  2*pi/3  boundary 2   fixed
10   pi    boundary 2   fixed
11 4*pi/3  boundary 2   fixed
12 5*pi/3  boundary 2   fixed

edges
1    1  2  boundary 1   fixed
2    2  3  boundary 1   fixed
3    3  4  boundary 1   fixed
4    4  5  boundary 1   fixed
5    5  6  boundary 1   fixed
6    6  1  boundary 1   fixed
7    7  8  boundary 2   fixed
8    8  9  boundary 2   fixed
9    9  10 boundary 2   fixed
10   10 11 boundary 2   fixed
11   11 12 boundary 2   fixed
12   12 7  boundary 2   fixed
13   1  7
14   2  8
15   3  9
16   4  10
17   5  11
18   6  12

faces
1   1 14 -7 -13
2   2 15 -8 -14
3   3 16 -9 -15
4   4 17 -10 -16
5   5 18 -11 -17
6   6 13 -12 -18

read
hessian_normal

// Creating central disk.  This happens automatically after file is loaded.
edgeswap edge where id >= 13 and id <= 18; // get edges going around middle
newf := new_facet(13,-14,-15,-16,-17,-18); // defined by edge list 

// Typical evolution
gogo := { g 5; r; V; V; g 5; hessian;
          r; V; V;  g 5;   hessian;
          r; V; V;  g 10; hessian; V; V; hessian;
          r; V; V;  g 10; hessian; hessian;
        }
