/* -------------------------------------------------------------------
   Fichier "four.geo"

   Ce fichier est la description geometrique utilisee par GMSH pour 
   generer le fichier "four.msh".
   ------------------------------------------------------------------- */

Include "electrode.geo" ;

//                   DESCRIPTION DU FOUR
//                   -------------------

// Dimensions du Four (hauteur, Longueur, largeur en mètre)

   hF = 2. ; LF = 5.;  lF = 3. ;

// Densité de maillage (taille des mailles autour d'un point géomètrique)

  lfour = 0.3 ; 

// Description géomètrique du four
 
  Point(1) = { 3., 1.5, 0., lfour};
  Point(2) = {-2., 1.5, 0., lfour};
  Point(3) = {-2.,-1.5, 0., lfour};
  Point(4) = { 3.,-1.5, 0., lfour};
  Point(5) = { 3., 1.5, 2., lfour};
  Point(6) = {-2., 1.5, 2., lfour};
  Point(7) = {-2.,-1.5, 2., lfour};
  Point(8) = { 3.,-1.5, 2., lfour};

  Line(1) = {1,2};
  Line(2) = {2,3};
  Line(3) = {3,4};
  Line(4) = {4,1};

  Line(5) = {5,6};
  Line(6) = {6,7};
  Line(7) = {7,8};
  Line(8) = {8,5};

  Line(9)  = {1,5};
  Line(10) = {2,6};
  Line(11) = {3,7};
  Line(12) = {4,8};

// Surface dessus du Four

  DessusFour = newreg; Line Loop(DessusFour) = {5,6,7,8}; 

//Bords du Four

  BordFour[0] = newreg; Line Loop(BordFour[0]) = {1,10,-5, -9}; 
  BordFour[1] = newreg; Line Loop(BordFour[1]) = {2,11,-6,-10}; 
  BordFour[2] = newreg; Line Loop(BordFour[2]) = {3,12,-7,-11}; 
  BordFour[3] = newreg; Line Loop(BordFour[3]) = {4, 9,-8,-12}; 

// Fond du Four

  FondFour = newreg;  Line Loop(FondFour) = {1,2,3,4};

// Discrétisation des arêtes du four (Nb éléments / arête )

  dLF = 8 + 1;
  dlF = 4  + 1;
  dhF = 3  + 1;

  Transfinite Line {1,3,5,7} = dLF;
  Transfinite Line {2,4,6,8} = dlF;
  Transfinite Line {9,10,11,12} = dhF;


//             CONSTRUCTION DES ELECTRODES
//             ---------------------------

// Nombre d'Eléments linéiques sur quart perimètre

   NbEl = 2.;



// ELECTRODE I

   t = 1;

   // Rayon et Hauteur Electrode

   r = 0.05; h = 1;

   // Centre Electrode

   xc = 0 ; yc = 0 ; zc = 0 ;

   // Vecteur axe electrode

   Kx = 0 ; Ky = 0. ; Kz = 1. ;

   Call Electrode;



// ELECTRODE II

   t = 2 ;

   // Rayon et Hauteur Electrode

   r = 0.05; h = 1;

   // Centre Electrode

   xc = 0 ; yc = 0.5 ; zc = 0 ;

   // Vecteur axe electrode

   Kx = 0 ; Ky = 0. ; Kz = 1 ;

   Call Electrode;


// ELECTRODE III

   t = 3;

   /// Rayon et Hauteur Electrode

   r = 0.05; h = 1;

   // Centre Electrode

   xc = 0 ; yc = -0.5 ; zc = 0 ;

   // Vecteur axe electrode

   Kx = 0 ; Ky = 0 ; Kz = 1 ;

   Call Electrode;




// Surface du Fond du Four - trace(s) Electrode(s)


  Plane Surface(FondFour) = { FondFour,ContPiedElect[1],ContPiedElect[2],ContPiedElect[3]}; 


// Surface dessus du Four - trace(s) Electrode(s)


  Plane Surface(DessusFour) = {DessusFour};


// Surface Bords du Four - trace(s) Electrode(s)

  Plane Surface(BordFour[0]) = { BordFour[0]};
  Plane Surface(BordFour[1]) = { BordFour[1]};
  Plane Surface(BordFour[2]) = { BordFour[2]};
  Plane Surface(BordFour[3]) = { BordFour[3]};

//Surface extérieure du Four

  FrontExtFour = newreg;

  Surface Loop(FrontExtFour) = {-FondFour,-DessusFour, -BordFour[]}; 

// Volume Verre

  verre = newreg ;
  Complex Volume(verre) = {FrontExtFour,FrontElect[]};
  Physical Volume(verre) = verre;

// numero de la region volumique verre

  Printf("Numero de la region vol verre %g ", verre) ;
//  Printf("Numero de la region surf FondFour %g ", FondFour) ;







