gctl_potential/data/tesseroid/shell3d.geo

77 lines
2.6 KiB
GLSL
Raw Permalink Normal View History

2024-09-10 19:56:41 +08:00
// 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";