// fullmodel.geo
// PARAMS:
// 1. R1: inner sphere radius
// 2. R2: outer sphere radius
// ---------------------------------------------
//
Mesh.CharacteristicLengthExtendFromBoundary = 0;
Mesh.CharacteristicLengthFromPoints = 0;
Mesh.CharacteristicLengthFromCurvature = 0;
Mesh.CharacteristicLengthMax = helem;
//
R1 = 1.0;
R2 = 2.0;
//
Point(1) = {0, 0, 0, 1.0};
Point(2) = {R1, 0, 0, 1.0};
Point(3) = {0, R1, 0, 1.0};
Point(4) = {0, 0, R1, 1.0};
Point(5) = {-R1, 0, 0, 1.0};
Point(6) = {0, -R1, 0, 1.0};
Point(7) = {0, 0, -R1, 1.0};
Point(12) = {R2, 0, 0, 1.0};
Point(13) = {0, R2, 0, 1.0};
Point(14) = {0, 0, R2, 1.0};
Point(15) = {-R2, 0, 0, 1.0};
Point(16) = {0, -R2, 0, 1.0};
Point(17) = {0, 0, -R2, 1.0};
Circle(2) = {2, 1, 3};
Circle(3) = {2, 1, 4};
Circle(4) = {3, 1, 4};
Circle(5) = {4, 1, 5};
Circle(6) = {3, 1, 5};
Circle(7) = {2, 1, 6};
Circle(8) = {6, 1, 4};
Circle(9) = {7, 1, 2};
Circle(10) = {7, 1, 3};
Circle(11) = {5, 1, 7};
Circle(12) = {7, 1, 6};
Circle(13) = {6, 1, 5};
Circle(21) = {12, 1, 13};
Circle(31) = {12, 1, 14};
Circle(41) = {13, 1, 14};
Circle(51) = {14, 1, 15};
Circle(61) = {13, 1, 15};
Circle(71) = {12, 1, 16};
Circle(81) = {16, 1, 14};
Circle(91) = {17, 1, 12};
Circle(101) = {17, 1, 13};
Circle(111) = {15, 1, 17};
Circle(121) = {17, 1, 16};
Circle(131) = {16, 1, 15};
Line Loop(15) = {2, 4, -3};
Ruled Surface(15) = {15};
Line Loop(17) = {-9, 10, -2};
Ruled Surface(17) = {17};
Line Loop(19) = {9, 7, -12};
Ruled Surface(19) = {19};
Line Loop(21) = {3, -8, -7};
Ruled Surface(21) = {21};
Line Loop(23) = {-5, -4, 6};
Ruled Surface(23) = {23};
Line Loop(25) = {-6, -10, -11};
Ruled Surface(25) = {25};
Line Loop(27) = {11, 12, 13};
Ruled Surface(27) = {27};
Line Loop(29) = {-13, 8, 5};
Ruled Surface(29) = {29};
Line Loop(151) = {21, 41, -31};
Ruled Surface(151) = {151};
Line Loop(171) = {-91, 101, -21};
Ruled Surface(171) = {171};
Line Loop(191) = {91, 71, -121};
Ruled Surface(191) = {191};
Line Loop(211) = {31, -81, -71};
Ruled Surface(211) = {211};
Line Loop(231) = {-51, -41, 61};
Ruled Surface(231) = {231};
Line Loop(251) = {-61, -101, -111};
Ruled Surface(251) = {251};
Line Loop(271) = {111, 121, 131};
Ruled Surface(271) = {271};
Line Loop(291) = {-131, 81, 51};
Ruled Surface(291) = {291};
// Surface Loop(312) = {15, 17, 19, 21, 23, 25, 27, 29};
// Volume(312) = {312};
// Surface Loop(313) = {15, 17, 19, 21, 23, 25, 27, 29, 151, 171, 191, 211, 231, 251, 271, 291};
// Volume(313) = {313};
// Physical Volume(1) = {312};
// Physical Volume(2) = {313};
// Physical Surface(2) = {251, 231, 291, 151, 211, 271, 171, 191};
// Physical Surface(1) = {21, 23, 27, 17, 29, 15, 25, 19};
//+
Surface Loop(1) = {151, 171, 191, 211, 291, 271, 251, 231};
//+
Surface Loop(2) = {25, 23, 29, 27, 19, 17, 15, 21};
//+
Volume(1) = {1, 2};
//+
Physical Point("all_pts") = {14, 15, 13, 4, 5, 3, 1, 6, 2, 7, 16, 12, 17};
//+
Physical Line("all_lines") = {51, 41, 61, 5, 4, 6, 81, 31, 8, 3, 131, 13, 2, 21, 11, 10, 111, 101, 7, 12, 9, 71, 121, 91};
//+
Physical Surface("outer") = {251, 151, 171, 271, 231, 291, 211, 191};
//+
Physical Surface("inner") = {17, 23, 27, 19, 29, 25, 21, 15};
//+
Physical Surface("all_srf") = {231, 23, 151, 291, 211, 15, 29, 21, 251, 25, 27, 17, 19, 271, 171, 191};
//+
Physical Volume("air") = {1};
