From 1004d113361dfe49721a1d5f5909ca94d7a7615d Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 19 Feb 2003 22:07:02 +0000 Subject: [PATCH] Add nice 3D example from Ali Abakar --- benchmarks/3d/edf/Electrode_8.geo | 337 ++++++++++++++++++++++++++++ benchmarks/3d/edf/Four.geo | 355 ++++++++++++++++++++++++++++++ benchmarks/3d/edf/Param_test.geo | 21 ++ 3 files changed, 713 insertions(+) create mode 100644 benchmarks/3d/edf/Electrode_8.geo create mode 100644 benchmarks/3d/edf/Four.geo create mode 100644 benchmarks/3d/edf/Param_test.geo diff --git a/benchmarks/3d/edf/Electrode_8.geo b/benchmarks/3d/edf/Electrode_8.geo new file mode 100644 index 0000000000..2be5153a4e --- /dev/null +++ b/benchmarks/3d/edf/Electrode_8.geo @@ -0,0 +1,337 @@ +// DESCRIPTION GENERALE D'UNE ELECTRODE +// ------------------------------------ + +Function Electrode + +// Construction de la matrice de changement de repère + +// Calcul de la norme du vecteur axe électrode + +NormeK = Sqrt(Kx*Kx + Ky*Ky + Kz*Kz) ; + +Kx = Kx / NormeK ; +Ky = Ky / NormeK ; +Kz = Kz / NormeK ; + +N = Sqrt( Kx*Kx + Ky*Ky); + +If ( N == 0.) + + Ix = 1. ; + Iy = 0. ; + Iz = 0. ; + + Jx = 0. ; + Jy = 1. ; + Jz = 0. ; + +EndIf + +If ( N > 0.) + + Ix = - Ky / N ; + Iy = Kx / N ; + Iz = 0. ; + + Jx = - Kx * Kz / N ; + Jy = - Ky * Kz / N ; + Jz = N ; + +EndIf + + +// CONSTRUCTION DE LA BOITE DE L'ELECTRODE +// --------------------------------------- + +// Coordonnées des points de constructions de l'electrode dans son repère local +// cercle inférieur + +X[0] = 0 ; Y[0] = 0 ; Z[0] = 0. ; +X[1] = R ; Y[1] = 0 ; Z[1] = 0. ; +X[2] = 0 ; Y[2] = R ; Z[2] = 0. ; +X[3] =-R ; Y[3] = 0 ; Z[3] = 0. ; +X[4] = 0 ; Y[4] =-R ; Z[4] = 0. ; + +// Cercle supérieur + +X[10] = 0 ; Y[10] = 0 ; Z[10] = L ; +X[11] = R ; Y[11] = 0 ; Z[11] = L ; +X[12] = 0 ; Y[12] = R ; Z[12] = L ; +X[13] =-R ; Y[13] = 0 ; Z[13] = L ; +X[14] = 0 ; Y[14] =-R ; Z[14] = L ; + +// Coordonnées des points de constructions de l'electrode dans son repère global + +For i In {0:4} + + x[i] = Ix*X[i] + Jx*Y[i] + Kx*Z[i] + xc; + y[i] = Iy*X[i] + Jy*Y[i] + Ky*Z[i] + yc; + z[i] = Iz*X[i] + Jz*Y[i] + Kz*Z[i] + zc; + +EndFor + +For i In {10:14} + + x[i] = Ix*X[i] + Jx*Y[i] + Kx*Z[i] + xc; + y[i] = Iy*X[i] + Jy*Y[i] + Ky*Z[i] + yc; + z[i] = Iz*X[i] + Jz*Y[i] + Kz*Z[i] + zc; + +EndFor + +// Définition des densité de discrétisation + +kR = 1.; +kL = 0.99; + +dpBoxSup = NbBoxSup +1; +dpBoxInf = NbBoxInf +1; + +lcBoxSup = R * Sin ( Pi/(2*NbBoxSup)) / Sin ( (Pi/2.)*(1-1/(2*NbBoxSup)) ) ; +lBoxSup = R * Sin ( Pi/(2*NbBoxSup)) / Sin ( (Pi/2.)*(1-1/(2*NbBoxSup)) ) ; + +lcBoxInf = R * Sin (Pi/(2*NbBoxInf)) / Sin ( (Pi/2.)*(1-1/(2*NbBoxInf)) ) ; +lBoxInf = R * Sin (Pi/(2*NbBoxInf)) / Sin ( (Pi/2.)*(1-1/(2*NbBoxInf)) ) ; + +If ( lBoxSup >= (R/2.)) + lBoxSup = R/2. ; +// Printf ("Cas 1 : lBoxSup >= R/2 "); +EndIf + +If ( lBoxInf >= (R/2.)) + lBoxInf = R/2. ; +// Printf ("Cas 2 : lBoxInf >= R/2 "); +EndIf + +If ( ( lBoxInf >= (L/2.) ) && ( lBoxSup >= (L/2.) ) ) + lcBoxInf = kR *L/2.; + lcBoxSup = kR *L/2.; + lBoxInf = kL *L/2.; + lBoxSup = kL *L/2.; +// Printf ("Cas 3 : lBoxInf et lBoxSup >= L/2 "); +EndIf + +// Constuction du cercle de base (centre de coordonnées xc,yc,zc) + +p0 = newp; Point(p0) = {x[0], y[0], z[0], lcBoxInf} ; +p1 = newp; Point(p1) = {x[1], y[1], z[1], lBoxInf} ; +p2 = newp; Point(p2) = {x[2], y[2], z[2], lBoxInf} ; +p3 = newp; Point(p3) = {x[3], y[3], z[3], lBoxInf} ; +p4 = newp; Point(p4) = {x[4], y[4], z[4], lBoxInf} ; + +c1 = newreg; Circle(c1) = {p1,p0,p2}; +c2 = newreg; Circle(c2) = {p2,p0,p3}; +c3 = newreg; Circle(c3) = {p3,p0,p4}; +c4 = newreg; Circle(c4) = {p4,p0,p1}; + +// Constuction du cercle supérieur + +p10 = newp; Point(p10) = {x[10], y[10], z[10], lcBoxSup} ; +p11 = newp; Point(p11) = {x[11], y[11], z[11], lBoxSup} ; +p12 = newp; Point(p12) = {x[12], y[12], z[12], lBoxSup} ; +p13 = newp; Point(p13) = {x[13], y[13], z[13], lBoxSup} ; +p14 = newp; Point(p14) = {x[14], y[14], z[14], lBoxSup} ; + +c11 = newreg; Circle(c11) = {p11,p10,p12}; +c12 = newreg; Circle(c12) = {p12,p10,p13}; +c13 = newreg; Circle(c13) = {p13,p10,p14}; +c14 = newreg; Circle(c14) = {p14,p10,p11}; + +// Construction des génératrices + +l1 = newreg; Line(l1) = {p1,p11}; +l2 = newreg; Line(l2) = {p2,p12}; +l3 = newreg; Line(l3) = {p3,p13}; +l4 = newreg; Line(l4) = {p4,p14}; + +// Constructions des contours + +// cercle supérieur + +ll1 = newreg; Line Loop(ll1) = {c11,c12,c13,c14}; + +// Bords de la boite + +ll2 = newreg; Line Loop(ll2) = {c1,l2,-c11,-l1}; +ll3 = newreg; Line Loop(ll3) = {c2,l3,-c12,-l2}; +ll4 = newreg; Line Loop(ll4) = {c3,l4,-c13,-l3}; +ll5 = newreg; Line Loop(ll5) = {c4,l1,-c14,-l4}; + +// cercle inférieur + +ll6 = newreg; Line Loop(ll6) = {c1,c2,c3,c4}; + + +// CONSTRUCTION DE L'ELECTRODE +// --------------------------- + + +// Coordonnées des points de constructions de l'electrode dans son repère local +// cercle inférieur + +X[21] = r ; Y[21] = 0 ; Z[21] = 0. ; +X[22] = 0 ; Y[22] = r ; Z[22] = 0. ; +X[23] =-r ; Y[23] = 0 ; Z[23] = 0. ; +X[24] = 0 ; Y[24] =-r ; Z[24] = 0. ; + +// Cercle supérieur + +X[30] = 0 ; Y[30] = 0 ; Z[30] = l ; +X[31] = r ; Y[31] = 0 ; Z[31] = l ; +X[32] = 0 ; Y[32] = r ; Z[32] = l ; +X[33] =-r ; Y[33] = 0 ; Z[33] = l ; +X[34] = 0 ; Y[34] =-r ; Z[34] = l ; + +// Coordonnées des points de constructions de l'electrode dans son repère global + +For i In {21:24} + + x[i] = Ix*X[i] + Jx*Y[i] + Kx*Z[i] + xc; + y[i] = Iy*X[i] + Jy*Y[i] + Ky*Z[i] + yc; + z[i] = Iz*X[i] + Jz*Y[i] + Kz*Z[i] + zc; + +EndFor + +For i In {30:34} + + x[i] = Ix*X[i] + Jx*Y[i] + Kx*Z[i] + xc; + y[i] = Iy*X[i] + Jy*Y[i] + Ky*Z[i] + yc; + z[i] = Iz*X[i] + Jz*Y[i] + Kz*Z[i] + zc; + +EndFor + +// Définition des densités de discrétisation + +kr = 1.; +kl = 1.; + +dpESup = NbElSup +1; +dpEInf = NbElInf +1; + +lcElecSup = kr * r * Sin ( Pi/(2*NbElSup)) / Sin ( (Pi/2.)*(1-1/(2*NbElSup)) ) ; +lElecSup = kl * r * Sin ( Pi/(2*NbElSup)) / Sin ( (Pi/2.)*(1-1/(2*NbElSup)) ) ; + +lcElecInf = kr * r * Sin ( Pi/(2*NbElInf)) / Sin ( (Pi/2.)*(1-1/(2*NbElInf)) ) ; +lElecInf = kl * r * Sin ( Pi/(2*NbElInf)) / Sin ( (Pi/2.)*(1-1/(2*NbElInf)) ) ; + +// Constuction du cercle de base (centre de coordonnées xc,yc,zc) + +p21 = newp; Point(p21) = {x[21], y[21], z[21], lElecInf} ; +p22 = newp; Point(p22) = {x[22], y[22], z[22], lElecInf} ; +p23 = newp; Point(p23) = {x[23], y[23], z[23], lElecInf} ; +p24 = newp; Point(p24) = {x[24], y[24], z[24], lElecInf} ; + +c21 = newreg; Circle(c21) = {p21,p0,p22}; +c22 = newreg; Circle(c22) = {p22,p0,p23}; +c23 = newreg; Circle(c23) = {p23,p0,p24}; +c24 = newreg; Circle(c24) = {p24,p0,p21}; + +// Constuction du cercle supérieur + +p30 = newp; Point(p30) = {x[30], y[30], z[30], lcElecSup} ; +p31 = newp; Point(p31) = {x[31], y[31], z[31], lElecSup} ; +p32 = newp; Point(p32) = {x[32], y[32], z[32], lElecSup} ; +p33 = newp; Point(p33) = {x[33], y[33], z[33], lElecSup} ; +p34 = newp; Point(p34) = {x[34], y[34], z[34], lElecSup} ; + +c31 = newreg; Circle(c31) = {p31,p30,p32}; +c32 = newreg; Circle(c32) = {p32,p30,p33}; +c33 = newreg; Circle(c33) = {p33,p30,p34}; +c34 = newreg; Circle(c34) = {p34,p30,p31}; + +// Construction des génératrices + +l11 = newreg; Line(l11) = {p21,p31}; +l12 = newreg; Line(l12) = {p22,p32}; +l13 = newreg; Line(l13) = {p23,p33}; +l14 = newreg; Line(l14) = {p24,p34}; + +// Constructions des contours + +// cercle supérieur + +ll21 = newreg; Line Loop(ll21) = {c31,c32,c33,c34}; + +// Bords de l'electrode + +ll22 = newreg; Line Loop(ll22) = {c21,l12,-c31,-l11}; +ll23 = newreg; Line Loop(ll23) = {c22,l13,-c32,-l12}; +ll24 = newreg; Line Loop(ll24) = {c23,l14,-c33,-l13}; +ll25 = newreg; Line Loop(ll25) = {c24,l11,-c34,-l14}; + +// cercle inférieur + +ll26 = newreg; Line Loop(ll26) = {c21,c22,c23,c24}; + + +// CONSTRUCTION DES SURFACES DE ELECTRODE +// -------------------------------------- + +// Disque supérieur + +ps1 = newreg; Plane Surface(ps1) = {ll21}; + +// Bords de l'electrode + +rs1 = newreg; Ruled Surface(rs1) = {ll22}; +rs2 = newreg; Ruled Surface(rs2) = {ll23}; +rs3 = newreg; Ruled Surface(rs3) = {ll24}; +rs4 = newreg; Ruled Surface(rs4) = {ll25}; + +BordElect[t-1] = newreg ; +Physical Surface(BordElect[t-1]) = { rs1, rs2, rs3, rs4, ps1}; + +// CONSTRUCTION DES SURFACES DE LA BOITE +// ------------------------------------- + +// Disque supérieur + +ps3 = newreg; Plane Surface(ps3) = {ll1}; + +// Bords de l'electrode + +rs5 = newreg; Ruled Surface(rs5) = {ll2}; +rs6 = newreg; Ruled Surface(rs6) = {ll3}; +rs7 = newreg; Ruled Surface(rs7) = {ll4}; +rs8 = newreg; Ruled Surface(rs8) = {ll5}; + +// Définition de la frontière électrode-boite + +FrontElect[t-1] = newreg ; +Surface Loop (FrontElect[t-1]) = { ps3, rs5, rs6, rs7, rs8}; +Physical Surface(FrontElect[t-1]) = { ps3, rs5, rs6, rs7, rs8}; + +// Anneau inférieur + +ps4 = newreg; Plane Surface(ps4) = {ll6,ll26}; + +// Construction du volume de la boite + +BoiteElect[t-1] = newreg ; +Surface Loop (BoiteElect[t-1]) = { ps4, rs5, rs6, rs7, rs8, ps3, rs1, rs2, rs3, rs4, ps1}; +Volume(BoiteElect[t-1]) = BoiteElect[t-1]; +Physical Volume(BoiteElect[t-1]) = BoiteElect[t-1]; + +// Définition du contour de la base de boîte d'electrode + +ContBaseBoiteElect[t-1]= newreg ; +Line Loop (ContBaseBoiteElect[t-1]) = {c1,c2,c3,c4} ; + +// DISCRETISATION DES ARETES +// ------------------------- + +// Discrétisation du contour circulaire de la boite (Nb de Noeuds / quart périmètre) + +// Transfinite Line {c1,c2,c3,c4} = dpBoxInf; +// Transfinite Line {c11,c12,c13,c14} = dpBoxSup; +// Transfinite Line {l1,l2,l3,l4} = dpBoxGen; + +// Discrétisation du contour circulaire de l'électrode (Nb de Noeuds / quart périmètre) + +// Transfinite Line {c21,c22,c23,c24} = dpEInf; +// Transfinite Line {c31,c32,c33,c34} = dpESup; +// Transfinite Line {l11,l12,l13,l14} = dpEGen; + +Return + + + diff --git a/benchmarks/3d/edf/Four.geo b/benchmarks/3d/edf/Four.geo new file mode 100644 index 0000000000..068af23890 --- /dev/null +++ b/benchmarks/3d/edf/Four.geo @@ -0,0 +1,355 @@ +// Ce fichier est la description geometrique utilisee par GMSH pour +// generer le fichier "four.msh". +// +// Copyright (C) 2003 Ali ABAKAR <abakar@edf.fr> +// +// - Modified on Wed Feb 19 13:48:25 2003 by Christophe Geuzaine + +// DESCRIPTION DU FOUR +// ------------------- + +// Dimensions du Four (hauteur, Longueur, largeur en mètre) + +HauteurFour = 1.4 ; LongueurFour = 14.; LargeurFour = 8.8 ; +ProfondeurMarche = 1. ; LongueurMarche = 2. ; + +// Paramètres maillage + +Include "Param_test.geo"; + +// Description géomètrique du four + +// Création des points + +pf1 = newp; Point(pf1) = { LongueurFour, LargeurFour/2., -ProfondeurMarche, lfour}; +pf2 = newp; Point(pf2) = { LongueurFour-LongueurMarche, LargeurFour/2., -ProfondeurMarche, lfour}; +pf3 = newp; Point(pf3) = { LongueurFour-LongueurMarche, LargeurFour/2., 0., lfour}; +pf4 = newp; Point(pf4) = { 0., LargeurFour/2., 0., lfour}; + +pf5 = newp; Point(pf5) = { LongueurFour, -LargeurFour/2., -ProfondeurMarche, lfour}; +pf6 = newp; Point(pf6) = { LongueurFour-LongueurMarche, -LargeurFour/2., -ProfondeurMarche, lfour}; +pf7 = newp; Point(pf7) = { LongueurFour-LongueurMarche, -LargeurFour/2., 0., lfour}; +pf8 = newp; Point(pf8) = { 0., -LargeurFour/2., 0., lfour}; + +pf9 = newp; Point(pf9) = { LongueurFour, LargeurFour/2., HauteurFour, lfour}; +pf10 = newp; Point(pf10) = { 0., LargeurFour/2., HauteurFour, lfour}; +pf11 = newp; Point(pf11) = { 0.,-LargeurFour/2., HauteurFour, lfour}; +pf12 = newp; Point(pf12) = { LongueurFour,-LargeurFour/2., HauteurFour, lfour}; + +// Construction des arêtes du four + +// Arêtes horizontales du fond de la marche + +lf1 = newreg; Line(lf1) = {pf1,pf2}; +lf2 = newreg; Line(lf2) = {pf2,pf6}; +lf3 = newreg; Line(lf3) = {pf6,pf5}; +lf4 = newreg; Line(lf4) = {pf5,pf1}; + +// Arêtes horizontales du fond du four (partie supérieure) + +lf5 = newreg; Line(lf5) = {pf3,pf4}; +lf6 = newreg; Line(lf6) = {pf4,pf8}; +lf7 = newreg; Line(lf7) = {pf8,pf7}; +lf8 = newreg; Line(lf8) = {pf7,pf3}; + +// Arêtes horizontales dessus du four + +lf9 = newreg; Line(lf9) = {pf9 ,pf10}; +lf10 = newreg; Line(lf10) = {pf10,pf11}; +lf11 = newreg; Line(lf11) = {pf11,pf12}; +lf12 = newreg; Line(lf12) = {pf12,pf9 }; + +// Arêtes verticales du four + +lf13 = newreg; Line(lf13) = {pf1 ,pf9}; +lf14 = newreg; Line(lf14) = {pf2 ,pf3}; +lf15 = newreg; Line(lf15) = {pf4 ,pf10}; +lf16 = newreg; Line(lf16) = {pf8 ,pf11}; +lf17 = newreg; Line(lf17) = {pf6, pf7 }; +lf18 = newreg; Line(lf18) = {pf5, pf12}; + +// Définition des contour(s) du dessus du four + +DessusFour[0] = newreg; Line Loop(DessusFour[0]) = {lf9,lf10,lf11,lf12}; + +// Définitions des contours des bords du four + +// Bord en y = LargeurFour/2. + +BordFour[0] = newreg; Line Loop(BordFour[0]) = {lf1,lf14,lf5,lf15,-lf9, -lf13}; + +// Bord en x = 0. + +BordFour[1] = newreg; Line Loop(BordFour[1]) = {lf6,lf16,-lf10,-lf15}; + +// Bord en y = - LargeurFour/2. + +BordFour[2] = newreg; Line Loop(BordFour[2]) = {lf7,-lf17,lf3,lf18,-lf11,-lf16}; + +// Bord en x = LongueurFour + +BordFour[3] = newreg; Line Loop(BordFour[3]) = {lf4, lf13,-lf12,-lf18}; + +// Définitions des contour(s) du fond du Four + +FondFour[0] = newreg; Line Loop(FondFour[0]) = {lf1,lf2,lf3,lf4}; +FondFour[1] = newreg; Line Loop(FondFour[1]) = {lf5,lf6,lf7,lf8}; +FondFour[2] = newreg; Line Loop(FondFour[2]) = {-lf8,lf14,-lf2,-lf17}; + +// Discrétisation des arêtes du four (Nb éléments / arête ) + +dLF = NbElLongF + 1; +dlF = NbElLargF + 1; +dhF = NbElHautF + 1; + +Transfinite Line {lf5,lf7,lf9,lf11} = dLF; +Transfinite Line {lf4,lf6,lf8,lf10,lf12} = dlF; +Transfinite Line {lf2,lf8} = 2*dlF; +Transfinite Line {lf1,lf3,lf14,lf17,lf15,lf16} = dhF; +Transfinite Line {lf13,lf18} = 2*dhF; + +// CONSTRUCTION DES ELECTRODES +// --------------------------- + +Include "Electrode_8.geo" ; + +// 1ère barrière d'électrodes +// -------------------------- + +// Rayon et Hauteur Electrode + +r = 0.076/2.; l = 0.35; + +// Vecteur axe electrode + +Kx = 0 ; Ky = 0. ; Kz = 1. ; +xc = 1.5 ; +L = 0.8 ; + +// ELECTRODE I + +t = 1; +R = 1. ; +yc = 0 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE II + +t = t + 1 ; +R = 0.5 ; +L = 0.8 ; +yc = 3.5 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE III + +t = t+1; +yc = -3.5 ; zc = 0 ; +Call Electrode; + +// 2ème barrière d'électrodes +// -------------------------- + +xc = xc + 2.5 ; + +// ELECTRODE I + +t = t+1; +R = 1. ; +yc = 0 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE II + +t = t + 1 ; +R = 0.5 ; +L = 0.8 ; +yc = 3.5 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE III + +t = t+1; +yc = -3.5 ; zc = 0 ; + +Call Electrode; + +// 3ème barrière d'électrodes +// -------------------------- + +// ELECTRODE I + +xc = xc + 2.25 ; +t = t+1; +R = 1. ; +yc = 0 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE II + +t = t + 1 ; +R = 0.5 ; +L = 0.8 ; +yc = 3.5 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE III + +t = t+1; +yc = -3.5 ; zc = 0 ; + +Call Electrode; + +// 4ème barrière d'électrodes +// -------------------------- + +xc = xc + 2.5 ; + +// ELECTRODE I + +t = t+1; +R = 1. ; +yc = 0 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE II + +t = t + 1 ; +R = 0.5 ; +L = 0.8 ; +yc = 3.5 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE III + +t = t+1; +yc = -3.5 ; zc = 0 ; + +Call Electrode; + +// 5ième barrière d'électrodes +// --------------------------- + +xc = xc + 2.25 ; +R = 0.4 ; L = 0.8 ; +// Rayon et Hauteur Electrode +r = 0.05/2.; l = 0.35; + +// ELECTRODE I + +t = t+1; +yc = 0 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE II + +t = t + 1 ; +yc = 0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE III + +t = t+1; +yc = yc + 0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE IV + +t = t+1; +yc = yc + 0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE V + +t = t+1; +yc = yc + 0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE VI + +t = t+1; +yc = -0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE VII + +t = t+1; +yc = yc -0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE VIII + +t = t+1; +yc = yc -0.9 ; zc = 0 ; + +Call Electrode; + +// ELECTRODE IX + +t = t+1; +yc = yc -0.9 ; zc = 0 ; + +Call Electrode; + + +// CONSTRUCTION DES FACES DE LA GEOMETRIE COMPLETE +// ----------------------------------------------- + +// Surface du Fond du Four - trace(s) Electrode(s) + +Plane Surface(FondFour[0]) = { FondFour[0]}; +Plane Surface(FondFour[1]) = { FondFour[1],ContBaseBoiteElect[]}; +Plane Surface(FondFour[2]) = { FondFour[2]}; + +// Surface dessus du Four - trace(s) Electrode(s) + +Plane Surface(DessusFour[0]) = {DessusFour[0]}; + +// 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]}; + +// CONSTRUCTION DES VOLUMES DE LA GEOMETRIE COMPLETE +// ------------------------------------------------- + +FrontExtFour = newreg; +Surface Loop(FrontExtFour) = {FondFour[],DessusFour[],BordFour[]}; + +Verre = newreg ; +Volume(Verre) = {FrontExtFour,FrontElect[]}; +Physical Volume(Verre) = {Verre}; + +// SUMMARY OF PHYSICAL ENTITIES +// ---------------------------- + +Printf("Physical Volume(Verre): %g ", Verre) ; + +For i In {1: t} + Printf("Physical Volume(Boite %g): %g", i, BoiteElect[i-1]) ; +EndFor + +For i In {1: t} + Printf("Physical Surface(Electrode %g): %g", i, BordElect[i-1]) ; +EndFor + +For i In {1: t} + Printf("Physical Surface(Boite %g): %g", i, FrontElect[i-1]) ; +EndFor diff --git a/benchmarks/3d/edf/Param_test.geo b/benchmarks/3d/edf/Param_test.geo new file mode 100644 index 0000000000..335c968f55 --- /dev/null +++ b/benchmarks/3d/edf/Param_test.geo @@ -0,0 +1,21 @@ +// Paramètres de Discrétisation + +// Nombre d'éléments par arête + +NbElLongF = 25; +NbElLargF = 12; +NbElHautF = 3; + +// Nombre d'Eléments linéiques sur quart perimètre + +NbElSup = 2.; +NbElInf = 2.; +NbBoxSup = 3.; +NbBoxInf = 3.; + +NbBoxGen = 2.; + +// Densité de maillage (taille des mailles autour d'un point géomètrique) + +lfour = LongueurFour/NbElLongF ; + -- GitLab