m_l=3;

// circonferenza esterna superiore
raggio=91;
z=0;
id_curva=10;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// circonferenza esterna inferiore
raggio=91;
z=-5;
id_curva=20;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// limite zona svuotata superiore di catodo
raggio=45;
z=0;
id_curva=30;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// limite zona svuotata inferiore di catodo
raggio=45;
z=-2.15;
id_curva=40;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// superficie inferiore
id_superficie=120;
Plane Surface(id_superficie) = {20};

// superficie superiore fino a zona n di catodo
id_superficie=110;
Plane Surface(id_superficie) = {10, 30};

// superficie superiore contatto interno di anodo e zona svuotata di catodo
id_superficie=140;
Plane Surface(id_superficie) = {40};

// superificie laterale esterna
id_superficie=190;
Ruled Surface(id_superficie) = {10, 20};

// superificie laterale interna
id_superficie=180;
Ruled Surface(id_superficie) = {40, 30};

// volume
Surface Loop(999) = {120, 190, 110, 180, 140};
Volume(1000) = {999};
