// Tesseroid单元体顶面网格大小(度) lc_top = 0.02; // Tesseroid单元体底面网格大小(度) lc_btm = 0.1; // 球面范围(度) lon_min = 24.0; lon_max = 26.0; lat_min = 14.0; lat_max = 16.0; // 半径和厚度(米) Rad=6370008.8; H=20000.0; lc = 1.0; rad = Rad - H; z1 = rad*Sin(lat_min*Pi/180.0); z2 = rad*Sin(lat_max*Pi/180.0); z3 = Rad*Sin(lat_min*Pi/180.0); z4 = Rad*Sin(lat_max*Pi/180.0); Point(1) = {0, 0, 0, lc}; Point(2) = {0, 0, z1, lc}; Point(3) = {0, 0, z2, lc}; Point(4) = {0, 0, z3, lc}; Point(5) = {0, 0, z4, lc}; Point(6) = {rad*Cos(lat_min*Pi/180.0)*Cos(lon_min*Pi/180.0), rad*Cos(lat_min*Pi/180.0)*Sin(lon_min*Pi/180.0), z1, lc_btm*Pi*rad/180.0}; Point(7) = {rad*Cos(lat_min*Pi/180.0)*Cos(lon_max*Pi/180.0), rad*Cos(lat_min*Pi/180.0)*Sin(lon_max*Pi/180.0), z1, lc_btm*Pi*rad/180.0}; Point(8) = {rad*Cos(lat_max*Pi/180.0)*Cos(lon_max*Pi/180.0), rad*Cos(lat_max*Pi/180.0)*Sin(lon_max*Pi/180.0), z2, lc_btm*Pi*rad/180.0}; Point(9) = {rad*Cos(lat_max*Pi/180.0)*Cos(lon_min*Pi/180.0), rad*Cos(lat_max*Pi/180.0)*Sin(lon_min*Pi/180.0), z2, lc_btm*Pi*rad/180.0}; Point(10) = {Rad*Cos(lat_min*Pi/180.0)*Cos(lon_min*Pi/180.0), Rad*Cos(lat_min*Pi/180.0)*Sin(lon_min*Pi/180.0), z3, lc_top*Pi*Rad/180.0}; Point(11) = {Rad*Cos(lat_min*Pi/180.0)*Cos(lon_max*Pi/180.0), Rad*Cos(lat_min*Pi/180.0)*Sin(lon_max*Pi/180.0), z3, lc_top*Pi*Rad/180.0}; Point(12) = {Rad*Cos(lat_max*Pi/180.0)*Cos(lon_max*Pi/180.0), Rad*Cos(lat_max*Pi/180.0)*Sin(lon_max*Pi/180.0), z4, lc_top*Pi*Rad/180.0}; Point(13) = {Rad*Cos(lat_max*Pi/180.0)*Cos(lon_min*Pi/180.0), Rad*Cos(lat_max*Pi/180.0)*Sin(lon_min*Pi/180.0), z4, lc_top*Pi*Rad/180.0}; Line(1) = {6, 10}; Line(2) = {7, 11}; Line(3) = {8, 12}; Line(4) = {9, 13}; Circle(5) = {6, 1, 9}; Circle(6) = {7, 1, 8}; Circle(7) = {10, 1, 13}; Circle(8) = {11, 1, 12}; Circle(9) = {6, 2, 7}; Circle(10) = {8, 3, 9}; Circle(11) = {10, 4, 11}; Circle(12) = {12, 5, 13}; Curve Loop(1) = {9, 6, 10, -5}; // Btm Curve Loop(2) = {11, 8, 12, -7}; // Top Curve Loop(3) = {5, 4, -7, -1}; // West Curve Loop(4) = {6, 3, -8, -2}; // East Curve Loop(5) = {1, 11, -2, -9}; // South Curve Loop(6) = {10, 4, -12, -3}; // North Surface(1) = {1}; Surface(2) = {2}; Plane Surface(3) = {3}; Plane Surface(4) = {4}; Surface(5) = {5}; Surface(6) = {6}; Surface Loop(1) = {2, 5, 3, 1, 4, 6}; Volume(1) = {1}; Physical Surface("Bottom", 1) = {1}; Physical Surface("Top", 2) = {2}; Physical Surface("West", 3) = {3}; Physical Surface("East", 4) = {4}; Physical Surface("South", 5) = {5}; Physical Surface("North", 6) = {6}; Physical Volume("Shell", 7) = {1}; Mesh 3; Mesh.MshFileVersion = 2.2; Save "shell3d.msh";