Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • doc/tutorials
1 result
Select Git revision
  • master
1 result
Show changes
Commits on Source (2)
...@@ -159,9 +159,3 @@ InteriorInfBox = v; ...@@ -159,9 +159,3 @@ InteriorInfBox = v;
For num In {0:#VolInf()-1} For num In {0:#VolInf()-1}
Printf("VolInf %5g", VolInf[num]); Printf("VolInf %5g", VolInf[num]);
EndFor EndFor
...@@ -6,7 +6,6 @@ mm = 1.e-3; ...@@ -6,7 +6,6 @@ mm = 1.e-3;
SetFactory("OpenCASCADE"); SetFactory("OpenCASCADE");
// set some global Gmsh options // set some global Gmsh options
Mesh.Optimize = 1; // optimize quality of tetrahedra Mesh.Optimize = 1; // optimize quality of tetrahedra
Mesh.VolumeEdges = 0; // Toggle mesh display Mesh.VolumeEdges = 0; // Toggle mesh display
...@@ -27,12 +26,11 @@ For i In {1:NumMagnets} ...@@ -27,12 +26,11 @@ For i In {1:NumMagnets}
Rotate { {1,0,0}, {X~{i},Y~{i},Z~{i}}, deg*Rx~{i} } { Volume{ iLabel }; } Rotate { {1,0,0}, {X~{i},Y~{i},Z~{i}}, deg*Rx~{i} } { Volume{ iLabel }; }
Physical Volume(Sprintf("Magnet_%g",i),10*i) = { 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 Physical Surface(Sprintf("SkinMagnet_%g",i),10*i+1) = -skin~{i}[]; // magnet skin
VolMagnets[] += { iLabel }; VolMagnets[] += { iLabel };
EndFor EndFor
Include "InfiniteBox.geo"; Include "InfiniteBox.geo";
// The overall dimensions of the model have been calculated in InfiniteBox.geo // The overall dimensions of the model have been calculated in InfiniteBox.geo
...@@ -40,19 +38,14 @@ Include "InfiniteBox.geo"; ...@@ -40,19 +38,14 @@ Include "InfiniteBox.geo";
Mesh.CharacteristicLengthMin = lc1inf; Mesh.CharacteristicLengthMin = lc1inf;
Mesh.CharacteristicLengthMax = lc1inf; Mesh.CharacteristicLengthMax = lc1inf;
AirBox[] = BooleanDifference{ Volume{ InteriorInfBox }; Delete; }{
AirBox[] = BooleanDifference{ Volume{ VolMagnets[] }; };
Volume{ InteriorInfBox }; Delete;
}{
Volume{ VolMagnets[] };
};
Physical Volume("AirBox",4) = { AirBox[] }; Physical Volume("AirBox",4) = { AirBox[] };
Volumes[] = { VolInf[], VolMagnets[], AirBox[] }; Volumes[] = { VolInf[], VolMagnets[], AirBox[] };
vv[] = BooleanFragments{ vv[] = BooleanFragments{ Volume { Volumes[] }; Delete; }{};
Volume { Volumes[] }; Delete; }{};
If( #vv[] > #Volumes[] ) If( #vv[] > #Volumes[] )
Error("Overlapping magnets"); Error("Overlapping magnets");
...@@ -64,12 +57,5 @@ For num In {0:#vv()-1} ...@@ -64,12 +57,5 @@ For num In {0:#vv()-1}
Printf("Fragment %5g -> %g", Volumes[num], vv(num)); Printf("Fragment %5g -> %g", Volumes[num], vv(num));
EndFor EndFor
Outer[] = CombinedBoundary{ Volume{ Volumes[] }; }; Outer[] = Abs(CombinedBoundary{ Volume{ : }; });
Physical Surface("OuterSurface", 5) = { Outer[] }; Physical Surface("OuterSurface", 5) = { Outer[] };
...@@ -35,11 +35,11 @@ For i In {1:NumMagnets} ...@@ -35,11 +35,11 @@ For i In {1:NumMagnets}
Name Sprintf("Parameters/Magnet %g/1XZ aspect ration", i), Name Sprintf("Parameters/Magnet %g/1XZ aspect ration", i),
Visible (M~{i} == 1) }, 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) }, 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) }, 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) }, Name Sprintf("Parameters/Magnet %g/2Z rotation [deg]", i) },
MUR~{i} = {(i==1)?1.:1000., MUR~{i} = {(i==1)?1.:1000.,
......