gctl_potential/data/tesseroid/shell3d.geo
2024-09-10 19:56:41 +08:00

77 lines
2.6 KiB
GLSL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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";