diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique.zip new file mode 100644 index 0000000000000000000000000000000000000000..a5238d3cba54214ec3300ca9fd9732613efce338 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.geo new file mode 100644 index 0000000000000000000000000000000000000000..8628f9ee76525e0ceb30be2d7101bca41b6c6395 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.geo @@ -0,0 +1,71 @@ + +Include "data.geo"; + +lcC = epd/10; +lcdom = Rdom/10; + +Point(1) = {Ri,0,0,lcC}; +Point(2) = {Ri,h/2,0,lcC}; +Point(3) = {Ri+ep,h/2,0,lcC}; +Point(4) = {Ri+ep,0,0,lcC}; +Point(5) = {Ri+ep+epd,0,0,lcC}; +Point(6) = {Ri+ep+epd,h/2,0,lcC}; +Point(7) = {Ri+2*ep+epd,h/2,0,lcC}; +Point(8) = {Ri+2*ep+epd,0,0,lcC}; +Point(9) = {Rdom,0,0,lcdom}; +Point(10) = {0,Rdom,0,lcdom}; +Point(11) = {0,0,0,lcC}; +Point(31) = {((2*Ri+ep+epd)/2)-(2*Ri+2*ep+epd)/8,2*h,0,lcC}; +Point(32) = {((2*Ri+2*ep+epd)/2)-(2*Ri+2*ep+epd)/8,2*h,0,lcC}; +// Point(42) = {(2*Ri+2*ep+epd)/2,h,0,lcC}; +Point(51) = {((2*Ri+3*ep+epd)/2)+(2*Ri+2*ep+epd)/8,2*h,0,lcC}; +Point(52) = {((2*Ri+2*ep+epd)/2)+(2*Ri+2*ep+epd)/8,2*h,0,lcC}; + +Line(1) = {1,2}; +Line(2) = {2,31}; +Line(3) = {3,4}; +Line(4) = {4,5}; +Line(5) = {5,6}; +Line(6) = {7,51}; +Line(7) = {7,8}; +Line(8) = {8,9}; + + + +Line(31) = {31,32}; +Line(51) = {51,52}; + +Circle(9) = {9,11,10}; +Line(10) = {10,11}; +Line(11) = {11,1}; +Line(12) = {3,32}; +Line(32) = {32,52}; +// Line(42) = {42,52}; +Line(52) = {52,6}; + +Line Loop(1) = {11,1,2,31,32,-51,-6,7,8,9,10}; +Plane Surface (1) = {1}; + +Line Loop(2) = {3,4,5,-52,-32,-12}; +Plane Surface(2) = {2}; + +Point(12) = {Rbi,0,0,lcdom}; +Point(13) = {0,Rbi,0,lcdom}; +Line(13) = {9,12}; +Circle(14) = {12,11,13}; +Line(15) = {13,10}; + +Line Loop(3) = {13,14,15,-9}; +Plane Surface(3) = {3}; + +Physical Surface(AIR) = {1}; +Physical Surface(DIELECTRIQUE) = {2}; +Physical Surface(BOITEINF) = {3}; + +Physical Line(DELTAV) = {1,2,3,12,31}; +Physical Line(MASSE) = {5,6,7,51,52}; + + +Color White { Surface{1,3}; } +Color LightGray {Surface{2}; } + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.png new file mode 100644 index 0000000000000000000000000000000000000000..8f92f9f684d50f3e35cf76a204f9ace330baff31 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.pro new file mode 100644 index 0000000000000000000000000000000000000000..5ebc79a65666a880df972da30ca753caf0c28539 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/condo_cylindrique.pro @@ -0,0 +1,109 @@ + +Include "data.geo"; + +Group{ + Domaine = Region[{AIR,DIELECTRIQUE,BOITEINF}]; + Dielectrique = Region[{DIELECTRIQUE}]; + BoiteInf = Region[{BOITEINF}]; + Masse = Region[{MASSE}]; + DeltaV = Region[{DELTAV}]; +} + +Function{ + eps0 = 8.854187818e-12; + epsr = 9.8; + eps[#{AIR,BOITEINF}] = eps0; + eps[#{DIELECTRIQUE}] = eps0*epsr; + V1 = 1; +} + +Jacobian{ + { Name Jvol; + Case { + { Region BoiteInf ; Jacobian VolAxiSphShell{Rdom, Rbi}; } + { Region All ; Jacobian VolAxi ; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + + Constraint { + {Name TensionsImposees ; + Case { + { Region Masse ; Type Assign ; Value 0. ; } + { Region DeltaV ; Type Assign ; Value V1 ; } + } + } + } + + FunctionSpace { + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef vn ; Function BF_Node ; + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef vn ; EntityType NodesOf ; NameOfConstraint TensionsImposees ; } + } + } + } + + Formulation { + { Name Electrostat ; Type FemEquation ; + Quantity { + { Name v ; Type Local ; NameOfSpace Hgrad ; } + } + Equation { + Galerkin { [ eps[]*Dof{Grad v} , {Grad v} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + } + } + } + + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Electrostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + + PostProcessing { + { Name PostProc ; NameOfFormulation Electrostat ; + Quantity { + { Name v ; Value { Term { [ {v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name e ; Value { Term { [ -{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name d ; Value { Term { [ -eps[]*{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name nrj ; Value { Integral { [ 2*Pi*eps[]*SquNorm[{Grad v}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + { Name C ; Value { Integral { [ 4*Pi*eps[]*SquNorm[{Grad v}]/(V1^2) ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + + PostOperation PostOp UsingPost PostProc { + Print[ v, OnElementsOf Domaine, File "v.pos"] ; + Print[ d, OnElementsOf Domaine, File "d.pos"] ; + Print[ e, OnElementsOf Domaine, File "e.pos"] ; + Print[ nrj[Domaine], OnGlobal, File "nrj.dat", + SendToServer "Modele/Resultats/1Energie (J)", Color "AliceBlue" ]; + Print[ C[Domaine], OnGlobal, File "capa.dat", + SendToServer "Modele/Resultats/2Capa (F)", Color "AliceBlue" ]; + } \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/data.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/data.geo new file mode 100644 index 0000000000000000000000000000000000000000..636eced2e0259b649d4244087bc818a09255bf5f --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/data.geo @@ -0,0 +1,22 @@ + +// Données du problème + +// grandeurs géométriques +ep = 0.5e-3; +Ri = 0.5e-2; +epd = 1e-2; +h = 5e-3; + +Rdom = 2*Sqrt[(Ri+2*ep+epd)^2+(h/2)^2]; +ebi = Rdom/10; +Rbi = Rdom+ebi; + +// Numéros régions physiques +AIR = 2000; +DIELECTRIQUE = 2001; +BOITEINF = 2002; + +MASSE = 1000; +DELTAV = 1001; + + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/infos.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/infos.xml new file mode 100644 index 0000000000000000000000000000000000000000..373a405ec5f76a244a2a4ad6d1b1d4af2da3ec6e --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/condo_cylindrique/infos.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>Condensateur Cylindrique particulier</title> + <summary>Condensateur cylindrique avec diélectrique en M. Problème synthétisant l'ensemble des éléments fondamentaux vus en classe.</summary> + <file type="pro">condo_cylindrique.pro</file> + <preview type="png">condo_cylindrique.png</preview> + <url>https://arche.univ-lorraine.fr/course/view.php?id=48027</url> + </model> +</models> + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/notice.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/notice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f629623078b3e55f0a441d0440675a0d3960db27 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Belaidi_Alex/notice.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan.zip new file mode 100644 index 0000000000000000000000000000000000000000..ea2fdd62ecab73a34ef3b0b736fada36b7e2e9f3 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/condo_plan.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/condo_plan.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc8ba41cbf51d2e7aeee1a244e99076dbf3c2ae Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/condo_plan.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/data_condo.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/data_condo.geo new file mode 100755 index 0000000000000000000000000000000000000000..cfe1c5458481b325c29e3f6c8e0c93aaf81bc032 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/data_condo.geo @@ -0,0 +1,32 @@ + +// longueur d'un élément de maillage + +// grandeurs physiques +eps0 = 8.854187818e-12; +epsr = 9.8; +// Numéros régions physiques +AIR = 2000; +DIELECTRIQUE = 2001; + +MASSE = 1000; +DELTAV = 1001; + +//définition des variables D et V1 pour faire varier la dista,ce entr les plaques et la tension imposée + +min = 1; +max = 10; +minV = 0; +maxV = 50; +mine = 1; +maxe = 5; +minl = 1; +maxl = 20; +minh = 0.5; +maxh = 3; +DefineConstant[ + D = { max , Min min , Max max , Step 1 , Name "Variables/Distance entre plaques" } + V1 = { maxV , Min minV , Max maxV , Step 1 , Name "Variables/Tension imposée" } + e = { maxe , Min mine , Max maxe , Step 0.5 , Name "Variables/epaisseur des plaques" } + l = { maxl , Min minl , Max maxl , Step 1 , Name "Variables/longueur des plaques" } + h = { maxh , Min minh , Max maxh , Step 0.1 , Name " Finesse du maillage"} + ] ; \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/info.xml~ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/info.xml~ new file mode 100755 index 0000000000000000000000000000000000000000..e25eedc58e41fbac60116127b6fd0af78fa4e0d6 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/info.xml~ @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>condensateur plan</title> + <summary>Ce fichier permet de résoudre les équations electrostatiques qui régissent le fonctionnement d'un condensateur plan. Il est constitué de deux plaques chargées de part et d'autre d'un diélectrique. Il est possible dans ce code, de régler les dimensions des plaques, l'écarttement entre les deux, la tensions imposée ainsi que la finesse du maillage dans le domaine.</summary> + <file type="pro">tp_gmsh1.pro</file> + <preview type="png">condo_plan.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml new file mode 100755 index 0000000000000000000000000000000000000000..e25eedc58e41fbac60116127b6fd0af78fa4e0d6 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>condensateur plan</title> + <summary>Ce fichier permet de résoudre les équations electrostatiques qui régissent le fonctionnement d'un condensateur plan. Il est constitué de deux plaques chargées de part et d'autre d'un diélectrique. Il est possible dans ce code, de régler les dimensions des plaques, l'écarttement entre les deux, la tensions imposée ainsi que la finesse du maillage dans le domaine.</summary> + <file type="pro">tp_gmsh1.pro</file> + <preview type="png">condo_plan.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml~ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml~ new file mode 100755 index 0000000000000000000000000000000000000000..ea88baaffa195f15830d57c8e02f4506f7a93093 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/infos.xml~ @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>condensateur plan</title> + <summary>Ce fichier permet de résoudre les équations electrostatiques qui régissent le fonctionnement d'un condensateur plan. Il est constitué de deux plaques chargées de part et d'autre d'un diélectrique. Il est possible dans ce code, de régler les dimensions des plaques, l'écarttement entre les deux, la tensions imposée ainsi que la finesse du maillage dans le domaine.</summary> + <file type="pro">tpgmsh1.pro</file> + <preview type="png">condo_plan.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.geo new file mode 100755 index 0000000000000000000000000000000000000000..29e59f3dfa658e2945c77abbac323101a4251db1 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.geo @@ -0,0 +1,73 @@ +Include "data_condo.geo"; + + + Point(1) = {0, 0, 0, h}; // Point construction + Point(2) = {50, 0, 0, h}; + Point(3) = {50, 50, 0, h}; + Point(4) = {0, 50, 0, h}; + Point(5) = {0,20,0,h}; + Point(6) = {0,20+e,0,h}; + Point(7) = {0,20+D+e,0,h}; + Point(8) = {0,20+e+D+e,0,h}; + Point(9) = {l,20,0,h}; + Point(10) = {l,20+e,0,h}; + Point(11) = {l,20+D+e,0,h}; + Point(12) = {l,20+e+D+e,0,h}; + + Line(1) = {1,2}; //Lines + Line(2) = {2,3}; + Line(3) = {3,4}; + Line(4) = {4,8}; + Line(5) = {8,12}; + Line(6) = {12,11}; + Line(7) = {11,7}; + Line(8) = {7,6}; + Line(9) = {6,10}; + Line(10) = {10,9}; + Line(11) = {9,5}; + Line(12) = {5,1}; + Line(13) = {11,10}; + + Line Loop(1) = {1,2,3,4,5,6,13,10,11,12}; + Plane Surface (1) = {1}; + + + Line Loop(2) = {7,8,9,-13}; + Plane Surface(2) = {2}; + + + + Physical Surface(AIR) = {1}; + Physical Surface(DIELECTRIQUE) = {2}; + + Physical Line(DELTAV) = {5,6,7}; + Physical Line(MASSE) = {9,10,11}; + + Curve Loop(3) = {AIR,DIELECTRIQUE,DELTAV,MASSE}; // A Boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.pro new file mode 100755 index 0000000000000000000000000000000000000000..9939e1677654803f1f26b6776ebee7310440eb89 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/condensateur_plan/tp_gmsh1.pro @@ -0,0 +1,109 @@ +Include "data_condo.geo"; + +Group{ + Domaine = Region[{AIR,DIELECTRIQUE}]; + Air = Region[{AIR}]; + Dielectrique = Region[{DIELECTRIQUE}]; + Masse = Region[{MASSE}]; + DeltaV = Region[{DELTAV}]; +} + + +Function{ + eps[#{DIELECTRIQUE}] = eps0*epsr; + eps[#{AIR}] = eps0; +} + + +Jacobian{ + { Name Jvol; + Case { + { Region All ; Jacobian Vol; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + + Constraint { + {Name TensionsImposees ; + Case { + { Region Masse ; Type Assign ; Value 0. ; } + { Region DeltaV ; Type Assign ; Value V1 ; } + } + } + } + + + FunctionSpace { + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef vn ; Function BF_Node ; + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef vn ; EntityType NodesOf ; NameOfConstraint TensionsImposees ; } + } + } + } + + Formulation { + { Name Electrostat ; Type FemEquation ; + Quantity { + { Name v ; Type Local ; NameOfSpace Hgrad ; } + } + Equation { + Galerkin { [ eps[]*Dof{Grad v} , {Grad v} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + } + } + } + + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Electrostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + + + PostProcessing { + { Name PostProc ; NameOfFormulation Electrostat ; + Quantity { + { Name v ; Value { Term { [ {v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name e ; Value { Term { [ -{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name d ; Value { Term { [ -eps[]*{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name nrj ; Value { Integral { [ 2*Pi*eps[]*SquNorm[{Grad v}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + { Name C ; Value { Integral { [ 4*Pi*eps[]*SquNorm[{Grad v}]/(V1^2) ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + + PostOperation PostOp UsingPost PostProc { + Print[ v, OnElementsOf Domaine, File "v.pos"] ; + Print[ d, OnElementsOf Domaine, File "d.pos"] ; + Print[ e, OnElementsOf Domaine, File "e.pos"] ; + Print[ nrj[Domaine], OnGlobal, File "nrj.dat", + SendToServer "Modele/Resultats/1Energie (J)", Color "AliceBlue" ]; + Print[ C[Domaine], OnGlobal, File "capa.dat", + SendToServer "Modele/Resultats/2Capa (F)", Color "AliceBlue" ]; + } + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/notice_condensateur_plan.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/notice_condensateur_plan.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8941a04b98ff198cae4f03b28728e3016f6bbc0a Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Cachia_Joseph/notice_condensateur_plan.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final.zip new file mode 100644 index 0000000000000000000000000000000000000000..79bd31ca7d9c7b507e9ecaa94f46813f6cfd3c06 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.geo new file mode 100644 index 0000000000000000000000000000000000000000..e5cd87f230068113b53471ff185d97bbaa92f3f0 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.geo @@ -0,0 +1,169 @@ +/* ------------------------------------------------------------------- + File "Aimant_fer_de cheval.geo" + + This file is the geometrical description used by GMSH to produce + the file "Aimant_fer_de cheval.msh". + ------------------------------------------------------------------- */ + //SetFactory("OpenCASCADE"); + + Include "data_aimant_fer_de_cheval.geo"; + SetFactory("Built-in"); + Geometry.ExtrudeReturnLateralEntities = 1; + + + p0 = s/5*1e-3;//12.e-3 + pair = 5e-3*s; + + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + //possibilite d'utiliser la fonction extrude pour tirer un volume 3D à partir d'une surface. Ici j'ai fait le volume// + //à la main// + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////// CREATION DU U /////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + ////////////////////////////////////////////// CREATION DES POINTS ///////////////////////////////////////////////// + //Base gauche basse +Point(1) = {0,0,0,p0}; +Point(2) = {Epaisseur,0,0,p0}; + +//Base droite basse +Point(5) = {Longueur-Epaisseur,0,0,p0}; +Point(6) = {Longueur,0,0,p0}; + +//Base gauche haute +Point(9) = {0,Hauteur_barre_droite,0,5*p0}; +Point(10) = {Epaisseur,Hauteur_barre_droite,0,5*p0}; + +//Base droite haute +Point(13) = {Longueur-Epaisseur,Hauteur_barre_droite,0,5*p0}; +Point(14) = {Longueur,Hauteur_barre_droite,0,5*p0}; + + +//Delimitation 2 matériaux +Point(17) = {Longueur/2,Hauteur_barre_droite+Hauteur_arrondi,0,5*p0}; +Point(18) = {Longueur/2,Hauteur_barre_droite+Epaisseur+Hauteur_arrondi,0,5*p0}; + + + +Point(21) = {Longueur/2,Hauteur_barre_droite,0,p0}; + +////////////////////////////////////////////// CREATION DES LIGNES ///////////////////////////////////////////////// + +//Base gauche basse +Line(1) = {1,2}; +//Base droite basse +Line(5) = {5,6}; +//Base gauche haute +Line(9) = {9,10}; +//Base droite haute +Line(13) = {13,14}; +//Separation des materiaux +Line(17) = {17,18}; +//Liason entre les bases gauches +Line(21) = {1,9}; +Line(22) = {2,10}; +//Liason entre les bases droites +Line(25) = {5,13}; +Line(26) = {6,14}; +//Ellipse Droite +Ellipse(30) = {13,21,17}; +Ellipse(31) = {14,21,18}; +//Ellipse Gauche +Ellipse(34) = {9,21,18}; +Ellipse(35) = {10,21,17}; + +////////////////////////////////////////////// REGROUPEMENT DES LIGNES ET MISE EN VOLUME ////////////////////////////// +Curve Loop(1) = {1,22,35,17,-34,-21};//aimantN +Plane Surface(1) = {1}; +Curve Loop(2) = {5,26,31,-17,-30,-25};//aimantS +Plane Surface(2)={2}; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////// CREATION DU BARREAU ///////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////// CREATION DES POINTS ///////////////////////////////////////////////// +Point(23) = {0,-Entrefer1,0,p0}; +Point(24) = {0,-(Entrefer1+Hauteur_barreau),0,p0}; +Point(25) = {Longueur,-(Entrefer1+Hauteur_barreau),0,p0}; +Point(26) = {Longueur,-Entrefer1,0,p0}; + +////////////////////////////////////////////// CREATION DES LIGNES ///////////////////////////////////////////////// +Line(38) = {23,24}; +Line(39) = {24,25}; +Line(40) = {25,26}; +Line(41) = {26,23}; + +Line Loop(3) = {38,39,40,41}; +Plane Surface(3) = {3}; + + + +//generation volume par extrusion par translation +BAR[] = {}; +AimN[] = {}; +AimS[] = {}; +Aiir[] = {}; +Outer[]={}; + +out[] = Extrude {0 ,0 ,Profondeur}{ Surface {1}; Layers {10}; }; +AimS[]+={out(1)}; +out[] = Extrude {0 ,0 ,Profondeur}{ Surface {2}; Layers {10}; }; +AimN[]+={out(1)}; +out[] = Extrude {0 ,0 ,Profondeur}{ Surface {3}; Layers {10}; }; +BAR[] += {out(1)}; + + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////// CREATION DES FRONTIERES (CUBE AIR) ///////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +SetFactory("OpenCASCADE"); +vair = newv; +Box(vair) = {-Longueur, -(Hauteur_totale+Longueur+Entrefer1)/3, -Longueur+Profondeur/2, 3*Longueur, (Hauteur_totale+Longueur+Entrefer1), 2*Longueur}; + +Sext[] = CombinedBoundary{Volume{vair};}; +Sint[] = CombinedBoundary{Volume{AimS[],AimN[],BAR[]};}; + +Delete { + Volume{vair}; +} + +SetFactory("Buit-in"); +ssl = newsl; +ssl2 = ssl+1; +Surface Loop(ssl) = {Sext[]}; +Surface Loop(ssl2) = {Sint[]}; +Volume(vair) = {ssl,-ssl2}; + +Liste_lignes[] = CombinedBoundary{Surface{Sext[]};}; + + + +////////////////////////////////////////////// CREATION DES LIGNES //////////////////////////////////////////////////////// + + +sbords[] = CombinedBoundary{Volume{BAR[]};}; + +Physical Volume(AimantS) = {AimS[]}; +Physical Volume(AimantN) = {AimN[]}; +Physical Volume(AIR) = {vair}; +Physical Volume(BARREAU) = {BAR[]}; + +Physical Surface(OuterSurface) = {Sext[]}; +Physical Surface(NORD) = {52}; +Physical Surface(SUD) = {84}; +Physical Surface(BORDSBARREAU) = {sbords[]}; + +Color Red {Volume{AimN[]};} +Color Green {Volume{AimS[]};} +Color Gray {Volume{vair};} +Color Black {Volume{BAR[]};} + + + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.png new file mode 100644 index 0000000000000000000000000000000000000000..182c5f003034ad2ce0e88298d1072b93784cf782 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.pro new file mode 100644 index 0000000000000000000000000000000000000000..aaf2b2e8d2b63c935c129f979f62fd71b17d9473 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/Aimant_fer_de_cheval2Dextru.pro @@ -0,0 +1,226 @@ +Include "data_aimant_fer_de_cheval.geo"; +Group { + + Aimant = Region[{AimantS,AimantN}]; + Barreau = Region[{BARREAU}]; + Air = Region[{AIR}]; + + Dirichlet = Region[{OuterSurface}]; + Nord = Region[{NORD}]; + Sud = Region[{SUD}]; + //Vol_mu = Region[ {Air, Aimant, Barreau}]; + + Sur_Dirichlet = Region[ OuterSurface ]; + + + + Domaine = Region[ {Air, AimantS,AimantN,BARREAU} ]; + + Bords = Region[{BORDSBARREAU}]; + Couche_Elts = Region[Air, OnOneSideOf Bords] ; + +} + + +Function{ + mu[#{Air}] = mu0; + mu[#{AimantS,AimantN}] = mu0; + mu[#{Barreau}] = mur*mu0; + + // Tenseur : forme en b permettant de calculer la force le dollar permet de définir la variable en argument de la fonction + TM[] = ( SquDyadicProduct[$1] - SquNorm[$1] * TensorDiag[0.5, 0.5, 0.5] ) / mu[] ; + +} + +Jacobian { + { Name JVol; + Case { + { Region Domaine ; Jacobian Vol; } + } + } +} + +Integration { + { Name Int ; + Case { { Type Gauss ; + Case { + { GeoElement Triangle ; NumberOfPoints 4 ; } + { GeoElement Quadrangle ; NumberOfPoints 4 ; } + { GeoElement Tetrahedron ; NumberOfPoints 5 ;} + { GeoElement Hexahedron ; NumberOfPoints 6 ;} + { GeoElement Prism ; NumberOfPoints 6 ; } + } + } + } + } +} +Constraint { + + { Name phi ; + Case { + { Region Sur_Dirichlet ; Value 0. ; } + } + } + + { Name phir_impose ; //contrainte sur la face parallele au barreau + Case { + { Region Nord ; Value 1. ; } + { Region Sud ; Value 0. ; } + } + } + + { Name Dirichlet ; //Surface exterieure, frontière de l'ensemble + Case { + { Region Sur_Dirichlet ; Value 0. ; } + } + } + + { Name Bords_barreau ; //Surface exterieure du barreau, pour calcul de la force + Case { + { Region Bords ; Value 1. ; } + } + } + +} + + + + +FunctionSpace { + + // espace pour calculer le champ permettant d'avoir la direction de Br + { Name Hgrad_aimant ; Type Form0 ; + BasisFunction { + { Name srn ; NameOfCoef phirn ; Function BF_Node ; + Support Aimant ; Entity NodesOf[ All] ; } + } + Constraint { + { NameOfCoef phirn ; EntityType NodesOf ; NameOfConstraint phir_impose ; } + } + } + + // potentiel scalaire magnetique + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef phin ; Function BF_Node ; + Support Domaine ; Entity NodesOf[ All] ; } + } + Constraint { + { NameOfCoef phin ; EntityType NodesOf ; NameOfConstraint Dirichlet ; } + } + } + + // pour le tenseur de Maxwell (sur la couche d'éléments "collés" au barreau) + { Name HBords ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef un ; Function BF_GroupOfNodes ; + Support Air ; Entity GroupsOfNodesOf[ Bords ] ; } + } + Constraint { + { NameOfCoef un ; EntityType GroupsOfNodesOf ; NameOfConstraint Bords_barreau ; } + } + } + + +} + +Formulation { + // champ permettant d'avoir la direction de br par son grad + { Name donne_dir_br; Type FemEquation ; + Quantity { + { Name phir ; Type Local ; NameOfSpace Hgrad_aimant ; } + } + Equation { + Galerkin { [ Dof{d phir} , {d phir} ] ;// d=grad et dof=div + In Aimant ; Jacobian JVol ; Integration Int ; } + } + } + + { Name MagSta_phi; Type FemEquation ; + Quantity { + { Name phir ; Type Local ; NameOfSpace Hgrad_aimant ; } + { Name phi ; Type Local ; NameOfSpace Hgrad ; } + { Name un ; Type Local ; NameOfSpace HBords ; } + } + Equation { + Galerkin { [ mu[] * Dof{d phi} , {d phi} ] ; + In Domaine ; Jacobian JVol ; Integration Int ; } + + Galerkin { [ -braimant/Norm[{d phir}]*{d phir} , {d phi} ] ; + In Aimant ; Jacobian JVol ; Integration Int ; } + + // terme factice pour definir les dof de un (en gros pour que les condition initiale de problème soit bien nulle) + Galerkin { [ 0 * Dof{un} , {un} ] ; + In Air ; Jacobian JVol ; Integration Int ; } + } +} +} + + +Resolution { + + { Name MagneSta_phi ; + System { + { Name Pre ; NameOfFormulation donne_dir_br ; } + { Name A ; NameOfFormulation MagSta_phi ; } + } + Operation { + Generate[Pre] ; Solve[Pre] ; SaveSolution[Pre] ; + Generate[A] ; Solve[A] ; SaveSolution[A] ; + + } + } +} + + +PostProcessing { + + { Name MagSta_phi ; NameOfFormulation MagSta_phi ; + Quantity { + { Name b ; + Value { Local { [ - mu[] * {d phi} ] ; In Domaine ; Jacobian JVol ; } + Local { [ + braimant/Norm[{d phir}]*{d phir} ] ; In Aimant ; Jacobian JVol ; } } } + { Name h ; + Value { Local { [ - {d phi} ] ; In Domaine ; Jacobian JVol ; } } } + { Name br ; Value { Local { [ braimant/Norm[{d phir}]*{d phir} ] ; In Aimant ; Jacobian JVol ; } } } + { Name phi ; Value { Local { [ {phi} ] ; In Domaine ; Jacobian JVol ; } } } + { Name phir ; Value { Local { [ {phir} ] ; In Aimant ; Jacobian JVol ; } } } + { Name grad_un ; Value { Local { [ -{d un} ] ; In Air ; Jacobian JVol ; } } } + { Name f ; Value { Integral { [ - TM[-mu[] * {d phi}] * {d un} ] ;// calcul force avec tenseur trouvé + In Couche_Elts ; Jacobian JVol ; Integration Int ; } } } + { Name fx ; Value { Integral { [ CompX[- TM[-mu[] * {d phi}] * {d un} ] ] ; + In Couche_Elts ; Jacobian JVol ; Integration Int ; } } } + { Name fy ; Value { Integral { [ CompY[- TM[-mu[] * {d phi}] * {d un} ] ] ; + In Couche_Elts ; Jacobian JVol ; Integration Int ; } } } + { Name fz ; Value { Integral { [ CompZ[- TM[-mu[] * {d phi}] * {d un} ] ] ; + In Couche_Elts ; Jacobian JVol ; Integration Int ; } } } + } + } +} + +PostOperation { + + { Name MagneSta_phi ; NameOfPostProcessing MagSta_phi; + Operation { + Print[ br, OnElementsOf Aimant, File "br.pos" ] ; + Print[ grad_un, OnElementsOf Couche_Elts, File "normal.pos" ] ; + Print[ h, OnElementsOf Domaine, File "h.pos" ] ; + Print[ b, OnElementsOf Domaine, File "b.pos" ] ; + Echo[ Str["l=PostProcessing.NbViews-1;", + "View[l].ArrowSizeMax = 100;", + "View[l].CenterGlyphs = 1;", + "View[l].VectorType = 4;" ] , + File "tmp.geo", LastTimeStepOnly] ; + Print[ f[Couche_Elts], OnGlobal, Format Table, File "F.dat" ]; + Print[ fx[Couche_Elts], OnGlobal, Format Table, File "Fx.dat", + SendToServer "Modèle/Résultats/force en x [N]", Color "Ivory" ]; + Print[ fy[Couche_Elts], OnGlobal, Format Table, File "Fy.dat", + SendToServer "Modèle/Résultats/force en y [N]", Color "Ivory" ]; + Print[ fz[Couche_Elts], OnGlobal, Format Table, File "Fz.dat", + SendToServer "Modèle/Résultats/force en z [N]", Color "Ivory" ]; + + } + } +} + + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/data_aimant_fer_de_cheval.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/data_aimant_fer_de_cheval.geo new file mode 100644 index 0000000000000000000000000000000000000000..ec2393c338343af47172829851f14d6c3f6ad4da --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/data_aimant_fer_de_cheval.geo @@ -0,0 +1,46 @@ + +/* Parametre geometrique de la structure*/ + + +Hauteur_arrondi=17.5e-3; //mm +Hauteur_barre_droite=80e-3;//mm +Longueur=63e-3; //mm +Profondeur=14e-3; //mm 6.5 +Epaisseur=6.5e-3; //mm 2.5 +Entrefer=5e-3; //mm//Choix par defaut de l'entrefer +Hauteur_barreau=5e-3; //mm +Hauteur_totale=150e-3; //mm + +BARREAU = 1001; +AIR = 1111; +AimantN = 1051; +AimantS = 1052; + +OuterSurface = 2000; +NORD = 2001; +SUD = 2002; +BORDSBARREAU = 2003; + + +sigma10 = 5.0;//Choix par defaut de l'aimant + +s = DefineNumber[5, Name "Modèle/Paramètres/Taille maillage", +Help "Reduce for finer mesh"]; + +DefineConstant[ + + sigma1 = {sigma10, Choices {1="Ferrites", 2="NdFeB 1.0 T", + 3="NdFeB 1.1 T", 4="NdFeB 1.2 T", 5="NdFeB 1.3 T", 6="NdFeB 1.4 T"}, + Name "Modèle/Paramètres/6 Type d'aimants intérieurs"} + Entrefer1 = {Entrefer, Min 5e-3, Max 5e-2, Step 1e-3, + Name "Modèle/Paramètres/Choix entrefer"} + ]; + +// parametres physiques +mu0=4e-7*Pi; +muraimant = 1.0; +mur=500.0; + +Br = {0.4,1.0,1.1,1.2,1.3,1.4}; +braimant = Br(sigma1-1); + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/infos.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/infos.xml new file mode 100644 index 0000000000000000000000000000000000000000..72b9d64557f4cc9d821daef6b1d0487dcbc61d06 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Aimant_fer_a_cheval_final/infos.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>Aimant fer à cheval avec barreau</title> + <summary>Un aimant permanent et un barreau de fer dans une boite avec des frontières extérieures respectant les conditions de Dirichlet. Calcul de la force exercée sur le barreau.</summary> + <file type="pro">Aimant_fer_de_cheval2Dextru.pro</file> + <preview type="png">Aimant_fer_de_cheval2Dextru.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Notice_MAURY_Quentin.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Notice_MAURY_Quentin.pdf new file mode 100644 index 0000000000000000000000000000000000000000..95d1fcec258875bac3bbd7694563da7e8e73c20c Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Maury_Quentin/Notice_MAURY_Quentin.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.geo new file mode 100644 index 0000000000000000000000000000000000000000..caf3d578cd292ec20f1911ab63fc08ed44f9c76c --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.geo @@ -0,0 +1,164 @@ +//+ +AIR=1000; +CIRCUITMAG=1001; +BOBINEALLER=1002; +BOBINERETOUR=1003; +DIRICHLET=1004; + + + +Point(1) = {-0.5, 0.3, -0.1, 1.0}; +//+ +Point(2) = {0, 0, 0, 1.0}; +//+ +Point(3) = {-0.2, 0.2, -0, 1.0}; +//+ +Point(4) = {-0.2, -0.2, -0, 1.0}; +//+ +Point(5) = {0.3, -0.1, -0, 1.0}; +//+ +Point(6) = {0.2, -0.2, -0, 1.0}; +//+ +Point(7) = {0.2, 0.2, -0, 1.0}; +//+ +Point(8) = {-0.3, 0.2, -0, 1.0}; +//+ +Point(9) = {-0.2, 0.3, -0, 1.0}; +//+ +Point(10) = {0.2, 0.3, -0, 1.0}; +//+ +Point(11) = {0.3, 0.2, -0, 1.0}; +//+ +Point(12) = {-0.3, -0.2, -0, 1.0}; +//+ +Point(13) = {0.3, -0.2, -0, 1.0}; +//+ +Point(14) = {-0.2, -0.3, -0, 1.0}; +//+ +Point(15) = {0.2, -0.3, -0, 1.0}; +//+ +Recursive Delete { + Point{5}; +} +//+ +Recursive Delete { + Point{1}; +} +//+ +Line(1) = {3, 4}; +//+ +Line(2) = {4, 6}; +//+ +Line(3) = {7, 6}; +//+ +Line(4) = {3, 7}; +//+ +Line(5) = {9, 10}; +//+ +Line(6) = {11, 13}; +//+ +Line(7) = {15, 14}; +//+ +Line(8) = {12, 8}; +//+ +Circle(9) = {8, 3, 9}; +//+ +Circle(10) = {10, 7, 11}; +//+ +Circle(11) = {13, 6, 15}; +//+ +Circle(12) = {14, 4, 12}; +//+ +Point(16) = {-0.5, 0.5, -0, 1.0}; +//+ +Point(17) = {0.5, 0.5, 0, 1.0}; +//+ +Point(18) = {0.6, -0.4, 0, 1.0}; +//+ +Point(19) = {-0.6, -0.6, -0, 1.0}; +//+ +Point(20) = {-0.5, -0.6, -0, 1.0}; +//+ +Point(21) = {0.5, -0.6, 0, 1.0}; +//+ +Line(13) = {16, 20}; +//+ +Line(14) = {20, 21}; +//+ +Line(15) = {21, 17}; +//+ +Line(16) = {17, 16}; +//+ +Recursive Delete { + Curve{13}; +} +//+ +Recursive Delete { + Point{16}; Point{20}; +} +//+ +Recursive Delete { + Curve{16}; +} +//+ +Recursive Delete { + Curve{14}; +} +//+ +Recursive Delete { + Point{19}; +} +//+ +Recursive Delete { + Point{18}; +} +//+ +Point(22) = {-0.9, 0.5, -0, 1.0}; +//+ +Point(23) = {-0.9, -0.6, 0, 1.0}; +//+ +Line(16) = {22, 23}; +//+ +Line(17) = {21, 23}; +//+ +Line(18) = {17, 22}; +//+ +Point(24) = {-0.7, 0.2, -0, 1.0}; +//+ +Point(25) = {-0.7, -0.2, -0, 1.0}; +//+ +Line(19) = {24, 25}; +//+ +Line(20) = {12, 25}; +//+ +Line(21) = {8, 24}; +//+ +Line(22) = {8, 12}; +//+ +Curve Loop(1) = {4, 3, -2, -1}; +//+ +Plane Surface(1) = {1}; +//+ +Curve Loop(2) = {5, 10, 6, 11, 7, 12, 8, 9}; +//+ +Plane Surface(2) = {1, 2}; +//+ +Curve Loop(3) = {21, 19, -20, 8}; +//+ +Plane Surface(3) = {3}; +//+ +Curve Loop(4) = {17, -16, -18, -15}; +//+ +Curve Loop(5) = {7, 12, 20, -19, -21, 9, 5, 10, 6, 11}; +//+ +Plane Surface(4) = {4, 5}; +//+ +Physical Surface(AIR) = {4}; +//+ +Physical Surface(CIRCUITMAG) = {2}; +//+ +Physical Surface(BOBINEALLER) = {3}; +//+ +Physical Surface(BOBINERETOUR) = {1}; +outs[] = CombinedBoundary{Surface{1,2,3,4};}; +Physical Line(DIRICHLET) = {outs[]}; \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.pro new file mode 100644 index 0000000000000000000000000000000000000000..1f8399df83f5d38bb9464d86f05d6e99c14affa3 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pellan_Elouann/appli/appli.pro @@ -0,0 +1,124 @@ + + + +AIR=1000; +CIRCUITMAG=1001; +BOBINEALLER=1002; +BOBINERETOUR=1003; +DIRICHLET=1004; +Group{ + Domaine = Region[{AIR,CIRCUITMAG,BOBINEALLER,BOBINERETOUR}]; + Domaine_NonMag = Region[{AIR,BOBINEALLER,BOBINERETOUR}]; + Domaine_Mag = Region[{CIRCUITMAG}]; + + BobineAller = Region[{BOBINEALLER}]; + BobineRetour = Region[{BOBINERETOUR}]; + Bobines = Region[{BOBINEALLER,BOBINERETOUR}]; + Dirichlet = Region[{DIRICHLET}]; +} +Function{ + mu0 = 4e-7*Pi; + mur = 500; + N = 150; + I = 0.5*0.16/N*2e6; + Lz = 20e-2; + nu[#{Domaine_NonMag}] = 1.0/mu0; + nu[#{Domaine_Mag}] = 1.0/(mu0*mur); + j[#{BobineAller}] = Vector[0,0,N*I/0.16]; + j[#{BobineRetour}] = Vector[0,0,-N*I/0.16]; +} + +Jacobian{ + { Name Jvol; + Case { + { Region All ; Jacobian Vol ; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + + Constraint { + {Name Dirichlet ; + Case { + { Region Dirichlet ; Type Assign ; Value 0. ; } + } + } + } + + FunctionSpace { + { Name Hrot ; Type Form1 ; + BasisFunction { + { Name se ; NameOfCoef ae ; Function BF_PerpendicularEdge ; + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef ae ; EntityType NodesOf ; NameOfConstraint Dirichlet ; } + } + } + } + + Formulation { + { Name Magnetostat ; Type FemEquation ; + Quantity { + { Name a ; Type Local ; NameOfSpace Hrot ; } + } + Equation { + + Galerkin { [ nu[]*Dof{Curl a} , {Curl a} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + + Galerkin { [ -j[] , {a} ] ; + In Bobines ; Jacobian Jvol ; Integration Integ ; } + + } + } + } + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Magnetostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + + PostProcessing { + { Name PostProc ; NameOfFormulation Magnetostat ; + Quantity { + { Name a ; Value { Term { [ {a} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name az ; Value { Term { [ Norm[{a}] ] ; In Domaine ; Jacobian Jvol ; } } } + { Name b ; Value { Term { [ {Curl a} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name h ; Value { Term { [ nu[]*{Curl a} ] ; In Domaine ; Jacobian Jvol ; } } } + + { Name L ; Value { Integral { [ N*Lz*Norm[{a}]/(0.16)/I ] ; In Bobines ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + PostOperation PostOp UsingPost PostProc { + Print[ a, OnElementsOf Domaine, File "a.pos"] ; + Print[ az, OnElementsOf Domaine, File "az.pos"] ; + Echo[ Str["View[1].IntervalsType = 1;", "View[1].NbIso = 30;", "View[1].LightLines = 0;"], + File "tmp.geo", LastTimeStepOnly ]; + Print[ b, OnElementsOf Domaine, File "b.pos"] ; + Print[ h, OnElementsOf Domaine, File "h.pos"] ; + //Print[ F_TM[Entrefer], OnGlobal, File "force.dat", + // SendToServer "Modele/Resultats/1Force par Tenseur moyenné (N)", Color "AliceBlue" ]; + Print[ L[Bobines], OnGlobal, File "inductance.dat", + SendToServer "Modele/Resultats/2Inductance (H)", Color "AliceBlue" ]; + } \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.geo new file mode 100644 index 0000000000000000000000000000000000000000..6c9b07bc01300743979897a40918d0d69aaabb52 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.geo @@ -0,0 +1,44 @@ +h = 2; + Point(1) = {0, 0, 0, h}; + Point(2) = {200, 0, 0, h}; + Point(3) = {200, 200, 0, h}; + Point(4) = {0, 200, 0, h}; + + + // définition du condensateur + Point(6) = {90, 0, 0, h}; + Point(7) = {90, 90, 0, h}; + Point(8) = {92, 90, 0, h}; + Point(9) = {92, 0, 0, h}; + Point(10) = {80, 0, 0, h}; + Point(11) = {80, 90, 0, h}; + Point(12) = {78, 90, 0, h}; + Point(13) = {78, 0, 0, h}; + Line(1) = {1,13}; //Lines + Line(2) = {13,12}; + Line(3) = {12,11}; + Line(4) = {11,10}; + Line(5) = {10,6}; + Line(6) = {6,7}; + Line(7) = {7,8}; + Line(8) = {8,9}; + Line(9) = {9,2}; + Line(10) = {2,3}; + Line(11) = {3,4}; + Line(12) = {4,1}; + Line(14) = {7,11}; + Line(15) = {11,7}; + Curve Loop(1) = {1,2,3,15,7,8,9,10,11,12}; + Curve Loop(2) = {5,6,14,4}; + Plane Surface(1) = {1}; // A Surface + Physical Surface(1) = {1}; // Setting a label to the Surface + Plane Surface(2) = {2}; // A Surface + Physical Surface(2) = {2}; // Setting a label to the Surface + Physical Line(3) = {1}; + Physical Line(4) = {1,2}; + Physical Line(5) = {4}; + Physical Line(6) = {6}; + + + + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.pro new file mode 100644 index 0000000000000000000000000000000000000000..b0e3af71f21f6211f478189d060cee824bb73bf3 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Pouzol_Hugo/Projet_gmsh/Projet_Gmsh.pro @@ -0,0 +1,110 @@ + + +Group{ + Domaine = Region[{1,2}]; + aire = Region[{1}]; + condo = Region[{2}]; + Neumann = Region[{3}]; + Dirichlet = Region[{4}]; + Tension1 = Region[{5}]; + Tension2 = Region[{6}]; + } + Function{ + beta[#{condo}] = 1.0; + gamma[#{Neumann}] = 1.0; + } + + Jacobian{ + { Name Jvol; + Case { + { Region All ; Jacobian Vol; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } + { GeoElement Quadrangle ; NumberOfPoints 4; } + } + } + } + } + } + Constraint { + {Name ConditionDirichlet1 ; + Case { + {Region Tension1 ; Type Assign ; Value 0. ;} + } + } + {Name ConditionDirichlet2 ; + Case { + {Region Tension2 ; Type Assign ; Value 50 ;} + } + } + {Name carac ; + Case { + {Region condo ; Type Assign ; Value 1000 ;} + } + } +} + FunctionSpace { + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef phi ; Function BF_Node ; + Support Region[{Domaine,Tension2}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef phi ; EntityType NodesOf ; NameOfConstraint ConditionDirichlet1 ; } + } + } + } + Formulation { + { Name Projet_GMSH ; Type FemEquation ; + Quantity { + { Name u ; Type Local ; NameOfSpace Hgrad ; } + } + Equation { + Galerkin { [ Dof{Grad u} , {Grad u} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + Galerkin { [ -beta[] , {u} ] ; + In condo ; Jacobian Jvol ; Integration Integ ; } + Galerkin { [ -gamma[] , {u} ] ; + In Neumann ; Jacobian Jvol ; Integration Integ ; } + } + } + } + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Projet_GMSH ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + PostProcessing { + { Name PostProc ; NameOfFormulation Projet_GMSH ; + Quantity { + { Name u ; Value { Term { [ {u} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name Grad_u ; Value { Term { [ {Grad u} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name normu ; Value { Integral { [ Norm[{u}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + + PostOperation PostOp UsingPost PostProc { + Print[ Grad_u, OnElementsOf Domaine, File "gradu.pos"] ; + Print[ u, OnElementsOf Domaine, File "u.pos"] ; + Print[ normu[Domaine], OnGlobal, File "normu.dat", + SendToServer "Modele/Resultats/1Norme (u)", Color "AliceBlue" ]; + } + \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan.zip new file mode 100644 index 0000000000000000000000000000000000000000..b7a622507d24402645d071c373de9049b44ea480 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.geo new file mode 100644 index 0000000000000000000000000000000000000000..d9c6669ba4c4cdb7a7ab7c7179c60dfab349cf97 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.geo @@ -0,0 +1,75 @@ +/* ------------------------------------------------------------------- + File "cond_plan.geo" + ------------------------------------------------------------------- */ + Include "data.geo" ; + +/* Création de la géométrie */ + /* Création des points */ + Point(0) = { 0 , 0 , 0 , h_cond }; /* origine */ + Point(1) = { 0, -D/2, 0, h_cond} ; + Point(2) = { 0, -D/2-e_plaque, 0, h_cond} ; + Point(3) = { L_plaque/2, -D/2-e_plaque, 0, h_cond} ; + Point(4) = { L_plaque/2, -D/2, 0, h_cond} ; + + Point(5) = { 0 , D/2, 0, h_cond} ; + Point(6) = { 0 , D/2+e_plaque, 0, h_cond} ; + Point(7) = { L_plaque/2 , D/2+e_plaque, 0, h_cond} ; + Point(8) = { L_plaque/2 , D/2, 0, h_cond} ; + + Point(9) = { 0 , Rdom, 0, h_air} ; + Point(10) = { 0 , Rdom+r, 0 , h_air} ; + Point(11) = { 0 , -Rdom, 0, h_air} ; + Point(12) = { 0 , -Rdom-r, 0, h_air} ; + Point(13) = { Rdom , 0, 0, h_air}; + Point(14) = { Rdom+r, 0, 0, h_air}; + + /* Création des lignes */ + + /* condo bas */ + Line(1) = {1,4}; + Line(2) = {4,3}; + Line(3) = {3,2}; + + /* boite */ + Line(4) = {2,11}; + Line(5) = {11,12}; + Line(6) = {10,9}; + Line(7) = {9,6}; + Circle (8) = {9, 0, 13}; + Circle (9) = {13, 0, 11}; + Circle (10) = {10, 0, 14}; + Circle (11) = {14, 0, 12}; + + /* condo haut */ + Line(12) = {6,7}; + Line(13) = {7,8}; + Line(14) = {8,5}; + + /* ligne inter condo */ + Line(15) = {5,0}; + Line(16) = {0,1}; + Line(17) = {8,4}; + + /* Création des contours */ + Curve Loop(1) = {1, -17, 14, 15 , 16}; /* Espace inter condo = milieu dielectrique */ + Curve Loop(2) = {4, -9, -8, 7, 12, 13, 17, 2, 3}; /* Espace air */ + Curve Loop(3) = { 5, -11, -10, 6, 8, 9 }; /* Boite infini */ + + /* Création des surfaces */ + Plane Surface(1) = {1}; /* Espace inter condo */ + Plane Surface(2) = {2}; /* Espace air */ + Plane Surface(3) = {3}; /* Boite infini */ + + /* Création des surfaces physiques */ + Physical Surface (AIR) = {2}; + Physical Surface (DIELECTRIQUE) = {1}; + Physical Surface (INF_BOX) = {3}; + + /* Création des limites pour les conditions aux limites */ + Physical Line (DIRICHLET) = {10, 11}; + /* Physical Line (NEUMANN) = {8,9}; */ + + Physical Line (CHARGE) = {12,13,14}; + + Physical Line (MASSE) = {1,2,3}; + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.png new file mode 100644 index 0000000000000000000000000000000000000000..1abd42b4937892e1462d51f48874a6e4d1b38436 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.pro new file mode 100644 index 0000000000000000000000000000000000000000..2a5ded3c101ecd1b817639d5ba8190002ae1b501 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/condo_plan.pro @@ -0,0 +1,126 @@ +/* ------------------------------------------------------------------- + File "cond_plan.pro" + ------------------------------------------------------------------- */ + Include "data.geo" ; + +/* On nomme les régions */ +Group{ + Domaine = Region[{AIR,INF_BOX,DIELECTRIQUE}]; + Boite_Infini = Region[{INF_BOX}]; + Air = Region[{AIR}]; + Dielectrique = Region[{DIELECTRIQUE}]; + + DeltaV = Region[{CHARGE}]; /* La plaque supérieure portera la charge */ + Masse = Region[{MASSE}]; + + Dirichlet = Region[{DIRICHLET}]; + /* Neumann = Region[{NEUMANN}]; */ +} + +/* Attribution des valeurs aux grandeurs */ +Function { + eps[#{AIR, INF_BOX}] = epsilon0; + eps[#{DIELECTRIQUE}] = epsilon_r * epsilon0; + Vc = POTENTIEL; + } + +/* Définition du Jacobien */ +Jacobian{ + { Name Jvol; + Case { + { Region Boite_Infini ; Jacobian VolAxiSphShell{Rdom, Rdom+r}; } /* Jacobien volumique axisym spécifique à la boite infini */ + { Region All ; Jacobian VolAxi ; } /* Jacobien volumique axisym pour la reste du système */ + } + } + } + +/* Définition de la nature de l'integrale. Ici: integrale de Gauss sur les ligne et triangle (pas de quad) */ +Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + +/* Imposition des contraintes */ +Constraint { + {Name TensionsImposees ; + Case { + { Region Masse ; Type Assign ; Value 0. ; } /* Tension nulle sur la plaque basse */ + { Region DeltaV ; Type Assign ; Value Vc ; } /* Tension de Vc=1 sur la plaque haute */ + { Region Dirichlet ; Type Assign ; Value 0. ;} /* Condition aux limites de Dirichlet, potentiel électrique nul au bord exterieur de la boite infini */ + } + } + } + +/* Définition de l'espace fonctionnel */ +FunctionSpace { + { Name Hgrad ; Type Form0 ; /* l'espace choisi est H(grad, OMEGA) avec condition de Dirichlet à la limite exterieure */ + BasisFunction { + { Name sn ; NameOfCoef vn ; Function BF_Node ; /* Fonction de base = sn, les coeff = vn, fonctions nodales */ + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef vn ; EntityType NodesOf ; NameOfConstraint TensionsImposees ; } /* Les noeuds devront respecter les conditions aux limites */ + } + } + } + +/* Explication de la quantité à calculer */ +Formulation { + { Name Electrostat ; Type FemEquation ; /* Resolution par element finis */ + Quantity { + { Name v ; Type Local ; NameOfSpace Hgrad ; } /* La variable se nomme v, elle se trouve dans H(_0)^1 */ + } + Equation { + Galerkin { [ eps[]*Dof{Grad v} , {Grad v} ] ; /* Calcul par equation de Galerkin */ + In Domaine ; Jacobian Jvol ; Integration Integ ; } /* Dans tout le domaine, par le jacobien et l'integrale de Gauss definis precedemment */ + } + } + } + +/* Lancement de la resolution, des calculs */ +Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Electrostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + +/* A partir de la resolution, on va calculer les quantites qui nous interessent */ +PostProcessing { + { Name PostProc ; NameOfFormulation Electrostat ; + Quantity { + { Name v ; Value { Term { [ {v} ] ; In Domaine ; Jacobian Jvol ; } } } /* Les potentiels v qui correspondent à la grandeur calcule lors de la resolution */ + { Name e ; Value { Term { [ -{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } /* le champ electrique */ + { Name d ; Value { Term { [ -eps[]*{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } /* l'induction electrique */ + { Name nrj ; Value { Integral { [ 2*Pi*eps[]*SquNorm[{Grad v}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } /* l'energie electrique, integrale volumique d'ou le 2*pi pour prendre en compte l'axisymetrie */ + { Name C ; Value { Integral { [ 4*Pi*eps[]*SquNorm[{Grad v}]/(Vc^2) ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } /* la capacité du condensateur */ + } + } + } + +/* Affichage des fleches et des isovaleurs */ +PostOperation PostOp UsingPost PostProc { + Print[ v, OnElementsOf Domaine, File "v.pos"] ; + Print[ d, OnElementsOf Domaine, File "d.pos"] ; + Print[ e, OnElementsOf Domaine, File "e.pos"] ; + Print[ nrj[Domaine], OnGlobal, File "nrj.dat", + SendToServer "1Energie (J)", Color "AliceBlue" ]; /* C:\Users\Hunte\Desktop\ENSEM\S8\B7\EC2b\condo_plan\ */ + Print[ C[Domaine], OnGlobal, File "capa.dat", + SendToServer "2Capa (F)", Color "AliceBlue" ]; /* C:\Users\Hunte\Desktop\ENSEM\S8\B7\EC2b\condo_plan\ */ + } + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/data.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/data.geo new file mode 100644 index 0000000000000000000000000000000000000000..dfef3976e0b083a8cd9b9c10109a0b95da6efe0a --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/data.geo @@ -0,0 +1,40 @@ +/* ------------------------------------------------------------------- + File "data.geo" + ------------------------------------------------------------------- */ + + +/* Noms des regions */ + +AIR = 1000; +DIELECTRIQUE = 1001; +INF_BOX = 1002; + +CHARGE = 100; +MASSE = 200; + +DIRICHLET = 500; +/* NEUMANN = 501; */ + + +/* Définition des constantes physiques */ +epsilon0 = 8.85418782e-12; /* F.m^-1 */ + + +/* Définition des parmètres geometriques */ +DefineConstant[ + e_plaque = { 5 , Min 0.1 , Max 10 , Step 0.1 , Name "Variables/0 Epaisseur des plaques du condensateur" } + R_plaque = { 25*e_plaque , Min e_plaque , Max 50*e_plaque , Step 1 , Name "Variables/1 Rayon des plaques" } + D = { 10*e_plaque , Min e_plaque , Max 20*e_plaque , Step 0.1 , Name "Variables/2 Distance entre plaques" } + POTENTIEL = { 1 , Min 0 , Max 10 , Step 1 , Name "Variables/3 Tension imposée" } + epsilon_r = { 1 , Min 1 , Max 10 , Step 0.1 , Name "Variables/4 Permittivité relative" } +] ; +L_plaque = 2*R_plaque ; +Rdom = D+L_plaque+e_plaque; /* Rayon environnement */ +r = D/5; /* espace entre les deux demi-cercles */ + + +/* Définition des paramètres de maillage */ + +h_cond = e_plaque/3; /* maillage autour d'une plaque */ +h_air = Rdom/10; /* mailage de l'air*/ + diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/infos.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/infos.xml new file mode 100644 index 0000000000000000000000000000000000000000..4bd2887e29bd0f23c596972d50a7872b9c3aa39b --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Condo_Plan/infos.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>Condensateur plan axisymétrique</title> + <summary>Un modèle de condensateur plan défini axisymétriquement, permettant de faire varier les paramètres géométriques et physiques du condensateur.</summary> + <file type="pro">condo_plan.pro</file> + <preview type="png">condo_plan.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Notice.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Notice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..81509f94fbbbd475f65b433fd4c692793afc9546 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Rochat_Guillaume/Notice.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor.zip new file mode 100644 index 0000000000000000000000000000000000000000..ed118394beafc2b27f68440c3c03d67944b94679 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.geo new file mode 100644 index 0000000000000000000000000000000000000000..dc4eceab924edd8fe6a24ca112437fec3f76c244 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.geo @@ -0,0 +1,64 @@ +Include "data.geo"; + + +Point(1) = {Rint+Eplaque,H/2, 0, h}; +Point(2) = {Rint, H/2, 0, h}; +Point(3) = {Rint, -H/2, 0, h}; +Point(4) = {Rint+Eplaque, -H/2, 0, h}; +Point(5) = {Rint+D+Eplaque, H/2, 0, h}; +Point(6) = {Rint+2*Eplaque+D, H/2, 0, h}; +Point(7) = {Rint+D+2*Eplaque, -H/2, 0, h}; +Point(8) = {Rint+D+Eplaque, -H/2, 0, h}; + +Point(9) = {0, -Rboite, 0, h*10}; +Point(10) = {0, -Rboite-5, 0, h*10}; +Point(11) = {0, Rboite, 0, h*10}; +Point(12) = {0, Rboite+5, 0, h*10}; +Point(13) = {Rboite, 0, 0, h*10}; +Point(14) = {Rboite+5, 0, 0, h*10}; +Point(15) = {0, 0, 0, h*10}; + +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) = {4,8}; + +Circle(11) = {10,15.,12}; +Circle(12) = {9,15.,11}; + +Line(15) = {9,11}; + +Line(17) = {11,12}; +Line(18) = {10,9}; + +Curve Loop(1) = {4,9,-8,-10}; //dielec +Curve Loop(2) = {15,-12}; //boîte +Curve Loop(3) = {1,2,3,4}; //plaque 1 +Curve Loop(4) = {5,6,7,8}; //plaque 2 + + +Curve Loop(5) = {17,-11,18,12}; + + + + + + +Plane Surface(1) = {1}; //dielec +Plane Surface(2) = {2,1,3,4}; //air +Plane Surface(3) = {5}; //boite + + +Physical Surface(dielec) = {1}; +Physical Surface(air) = {2}; +Physical Surface(boiteinf) = {3}; + + +Physical Line(deltav) = {1,2,3,4}; +Physical Line(masse) = {5,6,7,8}; diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.png new file mode 100644 index 0000000000000000000000000000000000000000..396ca99e01eb9706c7dc1bf21a0f7b02ca1f752d Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.pro new file mode 100644 index 0000000000000000000000000000000000000000..baf8f8d66811e2240eab3aa785fdeff9df8d7bfc --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/condocyl.pro @@ -0,0 +1,109 @@ + +Include "data.geo"; + +Group{ + Domaine = Region[{air,boiteinf,dielec}]; + Dielectrique = Region[{dielec}]; + BoiteInf = Region[{boiteinf}]; + Masse = Region[{masse}]; + DeltaV = Region[{deltav}]; +} + +Function{ + eps0 = 8.854187818e-12; + epsr = 9.8; + eps[#{air,boiteinf}] = eps0; + eps[#{dielec}] = eps0*epsr; + V1 = 1; +} + +Jacobian{ + { Name Jvol; + Case { + { Region BoiteInf ; Jacobian VolAxiSphShell{Rboite, Rboite+5}; } + { Region All ; Jacobian VolAxi ; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + + Constraint { + {Name TensionsImposees ; + Case { + { Region Masse ; Type Assign ; Value 0. ; } + { Region DeltaV ; Type Assign ; Value V1 ; } + } + } + } + + FunctionSpace { + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef vn ; Function BF_Node ; + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef vn ; EntityType NodesOf ; NameOfConstraint TensionsImposees ; } + } + } + } + + Formulation { + { Name Electrostat ; Type FemEquation ; + Quantity { + { Name v ; Type Local ; NameOfSpace Hgrad ; } + } + Equation { + Galerkin { [ eps[]*Dof{Grad v} , {Grad v} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + } + } + } + + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Electrostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + + PostProcessing { + { Name PostProc ; NameOfFormulation Electrostat ; + Quantity { + { Name v ; Value { Term { [ {v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name e ; Value { Term { [ -{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name d ; Value { Term { [ -eps[]*{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name nrj ; Value { Integral { [ 2*Pi*eps[]*SquNorm[{Grad v}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + { Name C ; Value { Integral { [ 4*Pi*eps[]*SquNorm[{Grad v}]/(V1^2) ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + + PostOperation PostOp UsingPost PostProc { + Print[ v, OnElementsOf Domaine, File "v.pos"] ; + Print[ d, OnElementsOf Domaine, File "d.pos"] ; + Print[ e, OnElementsOf Domaine, File "e.pos"] ; + Print[ nrj[Domaine], OnGlobal, File "nrj.dat", + SendToServer "Modele/Resultats/1Energie (J)", Color "AliceBlue" ]; + Print[ C[Domaine], OnGlobal, File "capacité.dat", + SendToServer "Modele/Resultats/2Capacité (F)", Color "AliceBlue" ]; + } \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/data.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/data.geo new file mode 100644 index 0000000000000000000000000000000000000000..d49fcc607c21d2906859c0e426d5a429d32a080f --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/data.geo @@ -0,0 +1,18 @@ + + +dielec = 200; +air = 201; +boiteinf = 202; +masse = 1000; +deltav = 1001; +rdom = 30; +rext = 35; + +DefineConstant[ + Eplaque = { 5 , Min 0.1 , Max 10 , Step 0.1 , Name "Variables/0 Plate thickness" } + Rint = { 10*Eplaque , Min Eplaque , Max 20*Eplaque , Step 0.1 , Name "Variables/1 Inner radius" } + D = { Rint*2 , Min Eplaque , Max 20*Rint , Step 0.1 , Name "Variables/2 Plate separation" } + H = { 10*Eplaque , Min Eplaque , Max 10*Rint , Step 0.1 , Name "Variables/3 Capacatior Y hight" } + Rboite = { 3*(Rint+D) , Min 2*(Rint+D) , Max 10*(Rint+D) , Step 0.1 , Name "Variables/4 Air box size " } + h = { 2 , Min 0.01 , Max 10 , Step 0.1 , Name "Variables/5 Mesh size" } + ] ; \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/infos.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/infos.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d98fa99d282a67dcb9265b218f9d7d068ca23a6 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/CylindricalCapacitor/infos.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<models> + <model> + <title>Cylindrical Capacitor</title> + <summary>Model of a cylindrical capacitor, displaying a variety of fields, this was made by Sacha Roger for an engineering school project</summary> + <file type="pro">condocyl.pro</file> + <preview type="png">condocyl.png</preview> + </model> +</models> diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/User_Manual___Cylindrical_Capacitor.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/User_Manual___Cylindrical_Capacitor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..73123342e83f2ee618cb1103b8773383ebe35e73 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Roger_Sacha/User_Manual___Cylindrical_Capacitor.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/NOTICE.pdf b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/NOTICE.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c559906ec80cf87056e9c2820137788b65ba83e Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/NOTICE.pdf differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique.zip b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique.zip new file mode 100644 index 0000000000000000000000000000000000000000..62b0c7f75b9fcaa9902cfa4256789b832831170e Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique.zip differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/condo_cylindrique.png b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/condo_cylindrique.png new file mode 100644 index 0000000000000000000000000000000000000000..c610f940eb3b92ca3a4d1a2c6e1c5c54822e8c94 Binary files /dev/null and b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/condo_cylindrique.png differ diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/nrj.dat b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/nrj.dat new file mode 100644 index 0000000000000000000000000000000000000000..01966b876ac52d1b214d4e5d7e0904eaafe695fb --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/nrj.dat @@ -0,0 +1,3 @@ +View "nrj" { +SP(0,0,0){1.756120481297083e-08}; +}; diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.geo b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.geo new file mode 100644 index 0000000000000000000000000000000000000000..863686568aef0be052fb2e5fce61be819f61bac3 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.geo @@ -0,0 +1,54 @@ +h = 0.5; +Point(4) = {7, -7, 0, h}; +Point(1) = {7, 7, 0, h}; +Point(6) = {12, 7, 0, h}; +Point(7) = {12, -7, 0, h}; +Point(3) = {6, -7, 0, h}; +Point(2) = {6, 7, 0, h}; +Point(5) = {11, 7, 0, h}; +Point(8) = {11, -7, 0, h}; + +Point(9) = {0, -50, 0, h*10}; +Point(10) = {0, -52, 0, h*10}; +Point(11) = {0, 50, 0, h*10}; +Point(12) = {0, 52, 0, h*10}; +Point(13) = {50, 0, 0, h*10}; +Point(14) = {52, 0, 0, h*10}; +Point(15) = {0, 0, 0, h*10}; + +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) = {4,8}; + +Circle(11) = {12,15,14}; +Circle(12) = {11,15,13}; +Circle(13) = {9,15,13}; +Circle(14) = {10,15,14}; +Line(15) = {9,11}; +Line(16) = {13,14}; +Line(17) = {11,12}; +Line(18) = {10,9}; + +Curve Loop(1) = {4,9,-8,-10}; //dielec +Curve Loop(2) = {15,12,-13}; //boîte +Curve Loop(3) = {1,2,3,4}; //plaque 1 +Curve Loop(4) = {5,6,7,8}; //plaque 2 +Curve Loop(5) = {17,11,-14,18,13,-12}; //shell + +Plane Surface(1) = {1}; //dielec +Plane Surface(2) = {2,1,3,4}; //l'air autour là +Plane Surface(3) = {5}; + +Physical Surface(1) = {1}; //Diel +Physical Surface(2) = {2}; //Air +Physical Surface(3) = {3}; //Box + +Physical Line(4) = {1,2,3,4}; //Masse +Physical Line(5) = {5,6,7,8}; //DeltaV \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.pro b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.pro new file mode 100644 index 0000000000000000000000000000000000000000..91e9f3e4dabdf1ffc06f672ced8656489d9a236c --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.pro @@ -0,0 +1,111 @@ +Rdom = 50; +ebi = Rdom/10; +Rbi = Rdom+ebi; + + +Group{ + Domaine = Region[{1,2,3}]; + Diel = Region[{1}]; + InfBox = Region[{3}]; + Masse = Region[{5}]; + DeltaV = Region[{4}]; +} + +Function{ + eps0 = 8.854187818e-12; + epsr = 9.8; + eps[#{2,3}] = eps0; + eps[#{1}] = eps0*epsr; + V1 = 1; +} + +Jacobian{ + { Name Jvol; + Case { + { Region InfBox ; Jacobian VolAxiSphShell{Rdom, Rbi}; } + { Region All ; Jacobian VolAxi ; } + } + } + } + + Integration { + { Name Integ; + Case { + {Type Gauss; + Case { + { GeoElement Line ; NumberOfPoints 2; } + { GeoElement Triangle ; NumberOfPoints 6; } } + } + } + } + } + + Constraint { + {Name TensionsImposees ; + Case { + { Region Masse ; Type Assign ; Value 0. ; } + { Region DeltaV ; Type Assign ; Value V1 ; } + } + } + } + + FunctionSpace { + { Name Hgrad ; Type Form0 ; + BasisFunction { + { Name sn ; NameOfCoef vn ; Function BF_Node ; + Support Region[{Domaine}] ; Entity NodesOf[All] ; } + } + Constraint { + { NameOfCoef vn ; EntityType NodesOf ; NameOfConstraint TensionsImposees ; } + } + } + } + + Formulation { + { Name Electrostat ; Type FemEquation ; + Quantity { + { Name v ; Type Local ; NameOfSpace Hgrad ; } + } + Equation { + Galerkin { [ eps[]*Dof{Grad v} , {Grad v} ] ; + In Domaine ; Jacobian Jvol ; Integration Integ ; } + } + } + } + + Resolution { + { Name analyse ; + System { + { Name Sys ; NameOfFormulation Electrostat ; } + } + Operation { + Generate[Sys] ; + Solve[Sys] ; + SaveSolution[Sys] ; + } + } + } + + PostProcessing { + { Name PostProc ; NameOfFormulation Electrostat ; + Quantity { + { Name v ; Value { Term { [ {v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name e ; Value { Term { [ -{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name d ; Value { Term { [ -eps[]*{Grad v} ] ; In Domaine ; Jacobian Jvol ; } } } + { Name nrj ; Value { Integral { [ 2*Pi*eps[]*SquNorm[{Grad v}] ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + { Name C ; Value { Integral { [ 4*Pi*eps[]*SquNorm[{Grad v}]/(V1^2) ] ; In Domaine ; + Jacobian Jvol ; Integration Integ ;} } } + } + } + } + + PostOperation PostOp UsingPost PostProc { + Print[ v, OnElementsOf Domaine, File "v.pos"] ; + Print[ d, OnElementsOf Domaine, File "d.pos"] ; + Print[ e, OnElementsOf Domaine, File "e.pos"] ; + Print[ nrj[Domaine], OnGlobal, File "nrj.dat", + SendToServer "Modele/Resultats/1Energie (J)", Color "AliceBlue" ]; + Print[ C[Domaine], OnGlobal, File "capa.dat", + SendToServer "Modele/Resultats/2Capa (F)", Color "AliceBlue" ]; + } \ No newline at end of file diff --git a/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.xml b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.xml new file mode 100644 index 0000000000000000000000000000000000000000..b913e8a68c10fed9a81ef1f8c8f5ad63de837c45 --- /dev/null +++ b/Ressources-Onelab/Microprojets_etudiants/2020-2021/Wipier_Quentin/projet_condo_cylindrique/projet.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> + +-<models> + + +-<model> + +<title>Condensateur Cylindrique</title> + +<summary>Un demi-condensateur en cylindrique avec boîte infinie.</summary> + +<file type="pro">projet.pro</file> + +<preview type="png">condo_cylindrique.png</preview> + + +</model> + +</models> \ No newline at end of file