Skip to content
Snippets Groups Projects
Commit 12680b6e authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix outer surface

parent e08ebfc6
No related branches found
No related tags found
No related merge requests found
......@@ -159,9 +159,3 @@ InteriorInfBox = v;
For num In {0:#VolInf()-1}
Printf("VolInf %5g", VolInf[num]);
EndFor
......@@ -6,7 +6,6 @@ mm = 1.e-3;
SetFactory("OpenCASCADE");
// set some global Gmsh options
Mesh.Optimize = 1; // optimize quality of tetrahedra
Mesh.VolumeEdges = 0; // Toggle mesh display
......@@ -27,12 +26,11 @@ For i In {1:NumMagnets}
Rotate { {1,0,0}, {X~{i},Y~{i},Z~{i}}, deg*Rx~{i} } { Volume{ iLabel }; }
Physical Volume(Sprintf("Magnet_%g",i),10*i) = { iLabel };
skin~{i}[] = CombinedBoundary{ Volume{ iLabel }; };
skin~{i}[] = Abs(CombinedBoundary{ Volume{ iLabel }; });
Physical Surface(Sprintf("SkinMagnet_%g",i),10*i+1) = -skin~{i}[]; // magnet skin
VolMagnets[] += { iLabel };
EndFor
Include "InfiniteBox.geo";
// The overall dimensions of the model have been calculated in InfiniteBox.geo
......@@ -40,19 +38,14 @@ Include "InfiniteBox.geo";
Mesh.CharacteristicLengthMin = lc1inf;
Mesh.CharacteristicLengthMax = lc1inf;
AirBox[] = BooleanDifference{
Volume{ InteriorInfBox }; Delete;
}{
Volume{ VolMagnets[] };
};
AirBox[] = BooleanDifference{ Volume{ InteriorInfBox }; Delete; }{
Volume{ VolMagnets[] }; };
Physical Volume("AirBox",4) = { AirBox[] };
Volumes[] = { VolInf[], VolMagnets[], AirBox[] };
vv[] = BooleanFragments{
Volume { Volumes[] }; Delete; }{};
vv[] = BooleanFragments{ Volume { Volumes[] }; Delete; }{};
If( #vv[] > #Volumes[] )
Error("Overlapping magnets");
......@@ -64,12 +57,5 @@ For num In {0:#vv()-1}
Printf("Fragment %5g -> %g", Volumes[num], vv(num));
EndFor
Outer[] = CombinedBoundary{ Volume{ Volumes[] }; };
Outer[] = Abs(CombinedBoundary{ Volume{ : }; });
Physical Surface("OuterSurface", 5) = { Outer[] };
......@@ -35,11 +35,11 @@ For i In {1:NumMagnets}
Name Sprintf("Parameters/Magnet %g/1XZ aspect ration", i),
Visible (M~{i} == 1) },
Rx~{i} = {0, Min -Pi, Max Pi, Step Pi/180, Visible Flag_FullMenu,
Rx~{i} = {0, Min -180, Max 180, Step 1, Visible Flag_FullMenu,
Name Sprintf("Parameters/Magnet %g/2X rotation [deg]", i) },
Ry~{i} = {0, Min -Pi, Max Pi, Step Pi/180, Visible Flag_FullMenu,
Ry~{i} = {0, Min -180, Max 180, Step 1, Visible Flag_FullMenu,
Name Sprintf("Parameters/Magnet %g/2Y rotation [deg]", i) },
Rz~{i} = {0, Min -Pi, Max Pi, Step Pi/180,
Rz~{i} = {0, Min -180, Max 180, Step 1,
Name Sprintf("Parameters/Magnet %g/2Z rotation [deg]", i) },
MUR~{i} = {(i==1)?1.:1000.,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment