
// ----------------------------------------------------------------- //
//                ____           __          __                      //
//               /  _/___  _____/ /_  ______/ /__  _____             //
//               / // __ \/ ___/ / / / / __  / _ \/ ___/             //
//             _/ // / / / /__/ / /_/ / /_/ /  __(__  )              //
//            /___/_/ /_/\___/_/\__,_/\__,_/\___/____/               //
//                                                                   //
// ----------------------------------------------------------------- //

// Inclure le fichier HtsWg_bench1_1b.par pour pourvoir employer les
// constantes qui y sont définies
Include "HtsWg_bench1_1b.par";

// ----------------------------------------------------------------- //
//       ____                                  __                    //
//      / __ \____ __________ _____ ___  ___  / /_________  _____    //
//     / /_/ / __ `/ ___/ __ `/ __ `__ \/ _ \/ __/ ___/ _ \/ ___/    //
//    / ____/ /_/ / /  / /_/ / / / / / /  __/ /_/ /  /  __(__  )     //
//   /_/    \__,_/_/   \__,_/_/ /_/ /_/\___/\__/_/   \___/____/      //
//                                                                   //
// ----------------------------------------------------------------- //

// Taille typique des éléments de maillage demandés. On fixe une taille
// fine pour les éléments dans le conducteur et plus large dans l'air
LtypRuban = EpaiRuban / 12.;
LtypAir = (DairExt - DairInt) / 5.;

// ----------------------------------------------------------------- //
//           ______                          __       _              //
//          / ____/__  ____  ____ ___  ___  / /______(_)__           //
//         / / __/ _ \/ __ \/ __ `__ \/ _ \/ __/ ___/ / _ \          //
//        / /_/ /  __/ /_/ / / / / / /  __/ /_/ /  / /  __/          //
//        \____/\___/\____/_/ /_/ /_/\___/\__/_/  /_/\___/           //
//                                                                   //
// ----------------------------------------------------------------- //

// Point au centre du domaine (utilisé pour tracer les arcs de cercles)
Point(0) = {0., 0., 0., LtypAir};

// Quatre coins du ruban rectangulaire
Point(1) = {-LargRuban/2., -EpaiRuban/2., 0., LtypRuban};
Point(2) = { LargRuban/2., -EpaiRuban/2., 0., LtypRuban};
Point(3) = { LargRuban/2.,  EpaiRuban/2., 0., LtypRuban};
Point(4) = {-LargRuban/2.,  EpaiRuban/2., 0., LtypRuban};

// Quatre points sur le cercle intérieur (limite de l'air)
Point(5) = { DairInt, 0., 0., LtypAir};
Point(6) = { 0., DairInt, 0., LtypAir};
Point(7) = {-DairInt, 0., 0., LtypAir};
Point(8) = { 0.,-DairInt, 0., LtypAir};

// Quatre points sur le cercle extérieur (limite du domaine)
Point(9)  = { DairExt, 0., 0., LtypAir};
Point(10) = { 0., DairExt, 0., LtypAir};
Point(11) = {-DairExt, 0., 0., LtypAir};
Point(12) = { 0.,-DairExt, 0., LtypAir};

// Bords du ruban rectagulaire
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Line Loop(100) = {1, 2, 3, 4};

// Arcs de cercle pour la limite de l'air
Circle(5) = {5, 0, 6};
Circle(6) = {6, 0, 7};
Circle(7) = {7, 0, 8};
Circle(8) = {8, 0, 5};
Line Loop(101) = {5, 6, 7, 8};

// Arcs de cerles pour la limite à l'infini
Circle(9)  = {9, 0, 10};
Circle(10) = {10, 0, 11};
Circle(11) = {11, 0, 12};
Circle(12) = {12, 0, 9};
Line Loop(102) = {9, 10, 11, 12};

// Définition des surfaces : 200 est la section du ruban conducteur,
// 201 est l'air et 202 le milieu infini
Plane Surface(200) = {100};
Plane Surface(201) = {101, 100};
Plane Surface(202) = {102, 101};

// Enfin, les éléments géométriques sont reliés aux régions
// physiques qui leur correspondent
Physical Surface(CONDUCTEUR) = {200};
Physical Surface(AIR) = {201};
Physical Surface(DOMAINE_INFINI) = {202};
Physical Line(BORD_CONDUCTEUR) = {1, 2, 3, 4};
Physical Line(LIMITE_INFINI) = {9, 10, 11, 12};

// On ajoute quelques couleurs pour la lisibilité
Color Red {Surface{200};}
Color SkyBlue {Surface{201};}
Color SkyBlue {Surface{202};}
