grav2d-cube:直角坐标下立方体重力正演
grav2d-cube 是一个 C++ 命令行工具,在直角坐标系下对一系列立方体进行重力场正演计算,支持重力场及重力梯度(gx/gy/gz)分量。程序基于矩形块(立方体)建立模型。 编译 Mac OS 用户可通过 Homebrew 安装 gcc: brew install gcc Linux 用户可通过 apt 安装: apt-get install gcc 然后进入程序目录执行 make 编译,再将可执行文件目录加入 $PATH。 下载 grav2d-cube.zip 用法 grav2d-cube -r<x-start>/<x-step>/<x-end>/<y-start>/<y-step>/<y-end>/<elevation>|<filename> -c<x-cen>/<y-cen>/<z-cen>/<dx>/<dy>/<dz>/<density>|<filename> -tgravity|gx|gy|gz -h > out-file 选项说明 -r:从参数或文件初始化观测点。若使用参数,需指定观测点在 x、y 方向的起始与结束位置,以及间隔 dx、dy。间隔可为正数或负数,视起始坐标是否大于结束坐标而定。程序也可从文件读取观测点位置,文件每行包含一个观测点的 x、y、z 坐标,以 # 开头的行会被忽略,方便添加注释。注意观测点采用右手坐标系,即 x、y 方向分别对应东向与北向。 -c:从参数或文件初始化立方体的几何与物理属性。立方体的几何属性由其中心位置 <x-cen>/<y-cen>/<z-cen> 与空间范围 <dx>/<dy>/<dz> 表示,密度附加在参数串末尾。需要添加多个立方体时,应在文件中逐行描述每个立方体的参数串,以 # 开头的行同样会被忽略。注意程序使用反转的右手坐标系定位立方体,此时 z 方向指向下方,x、y 方向分别对应北向与东向。 -t:选择正演计算的分量,gravity 表示重力场,gx、gy、gz 分别为 x、y、z 方向的重力梯度。 out-file:正演结果输出文件。默认输出到标准输出,可通过 > 重定向到文件。每行输出由观测点的 x y z 位置和末尾追加的正演计算数值组成。 -h:显示帮助信息。 示例 正演计算单个立方体的重力数据。立方体中心位于 (500 m, 500 m, 200 m),在 x、y、z 方向尺寸分别为 200 m、100 m、100 m,密度为 1.0 g/cm³。观测点在 x、y 方向均从 0 到 1000 m、间隔 10 m,观测高程为 10 m。 grav2d-cube -r 0/10/1000/0/10/1000/10 -c 500/500/200/200/100/100/1.0 -t gravity > one-cube-grav.txt 从文件读取立方体参数与观测点位置,并正演计算重力梯度数据。 grav2d-cube -r obs-position.txt -c cube-para.txt > cubes-gravity.txt