计算地球圆盘负荷产生的位移

news2024/9/22 23:15:37
1.研究背景

        计算受表面载荷影响的弹性体变形问题有着悠久的历史,涉及到许多著名的数学家和物理学家(Boussinesq 1885;Lamb 1901;Love 1911,1929;Shida 1912;Terazawa 1916;Munk & MacDonald 1960;Longman 1962,1963;Farrell 1972)。对于均匀弹性半空间的易于编码的解(Becker & Bevis 2004)在许多工程上是有用的,但在地球不是半空间也不均匀的地质应用中通常不适用。对于分层弹性半空间的解(例如Pan等人2007),其适用范围更广,但即使对于具有大孔径的载荷或在离载荷远处计算变形时,这种形式主义也不合适,这里所说的“大”是指距离地球半径的显著部分或更大的距离。因此,大多数地球物理应用的首选框架是分层、弹性、自引力球体和液态核心(Farrell 1972)。这个问题的解通常都是在涉及到载荷Love数的展开式中进行的,通常用符号(hn,kn,ln)来表示。通常,这些处理采用点载荷或圆盘载荷

        点载荷形式主义在接近标称点载荷时通常无效,从这个意义上讲,圆盘载荷形式主义更灵活。我们注意到,Love数形式主义适用于球对称弹性地球模型;横向各向同性可以被纳入这类模型,只要它符合球对称性(Pan等人2015)。弹性各向异性的一般类(例如横向变化的各向异性和方位各向异性)打破了球对称性,在这种情况下,Love数方法就不再适用,需要使用不同的方法,例如自引力有限元模型(虽然它们也存在自己的计算困难)。使用本文中提出的方程和代码的人隐含地假设弹性各向异性要么不存在,要么是一种非常特殊的类型。

        在1975年至2000年期间,关于表面载荷问题的地球物理文献大多集中在冰盖地壳回弹调整方面,这涉及到粘弹性地球的载荷响应(Haskell 1935;Cathles 1975;Peltier & Andrews 1976;Wu & Peltier 1982)。几乎所有这些研究都使用了Love数形式主义。载荷问题的线性弹性和线性粘弹性版本通过弹性-粘弹性对应原理相互联系(Alfrey 1944;Read 1950;Lee 1950)。但是,从2001年开始,人们对纯弹性问题的兴趣出现了重大回升。这是因为(i)大地测量学家和地球物理学家开始意识到全球定位系统(GPS)接收机网络,以及更近期的全球导航卫星系统(GNSS)接收机,正在记录由水、雪和冰固体地球上的载荷所引起的季节性、持续性(即渐进性)和瞬时的弹性位移(Blewitt等人2001;Heki 2001;Mangiarotti等人2001;Dong等人2002;Bevis等人2005),而且在较小程度上还受大气压力变化的影响(Vandam等人1994),以及(ii)地球弹性变形的大地测量观测可以用于监测冰体质量(Khan等人2010;Bevis等人2012;Nielsen等人2012;Spada等人2012;Nielsen等人2013)和陆地水储存(Bevis等人2004,2005;Steckler等人2010;Fu等人2013;Borsa等人2014)的变化,从而提供了一种研究气候循环和气候变化的新方法。

        描述分布式负荷或负荷变化的最简单方法是将其表示为一个或多个圆盘载荷。如果将质量或质量变化场表示为网格,则每个网格单元都可以视为圆盘载荷,或者,如果它位于地球测量站的远场,也可以视为点载荷。点载荷的响应可以与小而远的圆盘载荷的相似,除了在接近点载荷的地方,点载荷概念本身几乎从来不是现实的。本文的目的是两方面的。首先,我们希望向非专家提供有关如何计算地球对圆盘载荷的弹性响应的简单但完整的讨论。我们提供了一个MATLAB函数(diskload)来实现这个算法。我们的代码,像几乎所有它的同类一样,都会求和由载荷Love数和勒让德多项式或勒让德多项式的导数组成的项,其阶数为n = 0、1、2,...nmax。选择适当的nmax值非常重要,特别是当我们寻求对载荷的近场响应的准确估计时。当建模地球测量站位于质量损失正在使用非常高分辨率数字高程模型(DEM)进行表征的冰盖边缘附近时,由于DEM的网格间距或单元大小,适当的nmax值会按比例增加,所以这个错误相当容易发生。我们希望这个讨论能帮助我们的读者更自信地使用更一般和更复杂的软件包,例如REAR(Melini等人2015a,b)。(翻译自Bevis et al., 2016)

2.基本原理

        所谓的“圆盘载荷”是一种特定类型的表面质量密度分布,其特点是(i)均匀施加的压力,即恒定的载荷“厚度”,和(ii)轴对称,这两个特点使得圆盘载荷在与冰盖等高度调整相关的应用中非常方便(例如Spada等人2012;Melini等人2015b),因为它可以直接展开成一系列球谐函数。此处略去基本理论公式的推导,感兴趣的参考原文。

引用至Bevis et al.(2016)

水平和垂直位移计算公式:

3.matlab程序

下载地址:

https://github.com/danielemelini/diskload

diskload MATLAB函数用于计算对施加在给定角半径和高度的圆盘上的均匀表面压力载荷的响应。弹性响应是在地球表面上的一个或多个点上计算的,这些点与圆盘载荷的中心指定的角距离相隔。弹性响应是使用用户提供的弹性负载Love数(h,k,l)计算的,这些Love数是使用特定的地球弹性结构模型生成的。下图是h l k负荷love数随阶数的变化示意图。

下载程序,在matlab中打开:

clear
%% Load LNs
load REF_6371_loading_love_numbers
%% Set some constants
alpha = 0.1;                           % Disk radius (degrees)
theta = linspace(0,alpha*5,100);       % Range of colatitudes wrt disk center
Tw    = 1;                             % Disk height (equivalent water height, m)
nmin  = 0;                             % Minimum degree
nmax  = [100:100:40000];               % Range of maximum degrees
imass = 1;                             % choose imass,0 or 1 (uncompensated/compensated load)
%%
if imass==1
    fprintf('invoking a globally compensated load (icomp=1)\n')
else
    fprintf('invoking an uncompensated load (icomp=0)\n')
end
% Compute the disc response for the maximum value of nmax
[U,V,G]= diskload(alpha,imass,theta,Tw,nmin,nmax(end),h_love,k_love,l_love);
%% FIG 1
figure(1); clf;
plot(  theta./alpha, U, 'b', 'LineWidth', 1.5 );  hold on;
plot(  theta./alpha, V, 'r', 'LineWidth', 1.5 );
plot(  theta./alpha, G, 'g', 'LineWidth', 1.5 );
xlabel( '\theta/\alpha', 'FontSize', 16 );
ylabel( 'mm', 'FontSize', 16 );
xlim([0 5]);
ylim([-2.5 1]);
grid on;
legend( 'U', 'V', 'G', 'Location', 'best' );
tit1=['Disk radius \alpha = ',sprintf('%4.2f^\\circ',alpha)];
tit2=['  Load = ',sprintf('%4.2f',alpha),' m w.e.'];
title([tit1 tit2])
%% Examine sensitivity to nmax
% Compute the disc response vs nmax at theta = K * alpha
K=1.5;
[U,V,G]= diskload(alpha,imass,K*alpha,Tw,nmin,nmax,h_love,k_love,l_love);
%% FIG 2
figure(2); clf;
semilogx(  nmax, U, 'b', 'LineWidth', 1.5 );  hold on;
semilogx(  nmax, V, 'r', 'LineWidth', 1.5 );
semilogx(  nmax, G, 'g', 'LineWidth', 1.5 );
xlabel( 'n_{max}', 'FontSize', 16 );
ylabel( 'mm', 'FontSize', 16 );
xlim( [100 40000] );
ylim( [-1 .3] );     % good for K=1.5 or 1.25
%ylim( [-0.6 .2] );   % good for K = 1.75 or 2
nROT = 360 / alpha;
semilogx( [nROT nROT], ylim, 'k-.', 'LineWidth', 1.1 ); 
semilogx( 2*[nROT nROT], ylim, 'k-.', 'LineWidth', 1.1 ); 
semilogx(xlim,U(end)*[1 1],'b--', 'LineWidth', 0.5 );
semilogx(xlim,V(end)*[1 1],'r--', 'LineWidth', 0.5 );
semilogx(xlim,G(end)*[1 1],'g--', 'LineWidth', 0.5 );
hold off;
grid on;
legend( 'U', 'V', 'G', 'Location', 'best' );
Ht=title(['Truncation error: Loading response computed',...
       ' at \theta = ',sprintf('%4.2f',K),...
       ' \alpha as a function of n_{max} ']);
set(Ht,'FontSize',14)

运行结果:

关于负荷变形计算的问题,可以参见以下的文章:

利用GRACE和地表质量模型计算地球弹性负荷变形实验笔记_如何通过grace数据导出位移-CSDN博客

LoadDef python工具包学习二:利用JPL mascon数据计算地表站点的三维变形(E、N、V)_loaddef grace]-CSDN博客

参考文献:

Bevis, M., Melini, D., & Spada, G. (2016). On computing the geoelastic response to a disk load. Geophysical Journal International205(3), 1804-1812.

♥欢迎点赞收藏♥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1527216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

22款Visual Studio Code实用插件推荐

前言 Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Visual Studio Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让Visual Studio Code成为…

计算机二级C语言的注意事项及相应真题-5-程序设计

目录 41.计算下列级数和,和值由函数值返回42.统计出x所指数组中能被e整除的所有元素,这些元素的和通过函数值返回主函数,元素个数通过形参num返回主函数43.使数组右上三角元素中的值乘以m44.将a、b中的两个两位正整数合并形成一个新的整数放在…

3.18数据结构

一、数据结构----->用来组织存储数据 一组用来保存一种或多种特定关系的数据的集合(组织和存储数据) 程序 数据结构 算法 MVC:软件设计架构 M:数据的管理(数据结构) V:视图&#xff0c…

SQLiteC/C++接口详细介绍之sqlite3类(十八)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(十七) 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(一) ​ 56.sqlite3_update_hook 函数功能&am…

【边缘智能】Jetson板卡上安装QT5与OpenCV集成

学习《OpenCV应用开发:入门、进阶与工程化实践》一书 做真正的OpenCV开发者,从入门到入职,一步到位! 安装QT5与QT Creator 如果只是简单的使用QT的GUI库,没有其它要求,其实特别容易,一行命令行…

计算机视觉之三维重建(1)---摄像机几何

文章目录 一、针孔模型和透镜1.1 针孔摄像机1.2 近轴折射模型1.3 透镜问题 二、摄像机几何2.1 像平面和像素平面2.2 齐次坐标下的投影变换2.3 摄像机倾斜2.4 规范化摄像机2.5 世界坐标系2.6 Faugeras定理2.7 投影变换性质: 三、其他投影摄像机模型3.1 弱透视投影摄像…

php版本的AI电话机器人系统有哪些优势

PHP版本的AI电话机器人系统具有以下优势: 提升客户体验:AI电话机器人能够为客户提供724小时的服务,无论何时客户有疑问或需要帮助,都可以得到及时响应1。 提高工作效率和客户满意度:AI电话机器人系统具有智能回答问题…

oracle创建序列

oracle创建序列 oracle创建序列00-查看当前用户创建的序列01-创建序列02-创建序列方法二03-序列使用04-删除序列 oracle创建序列 00-查看当前用户创建的序列 SELECT * FROM user_sequences;01-创建序列 --01-创建序列 /* 语法: CREATE SEQUENCE 序列名称 START W…

python知识点总结(四)

这里写目录标题 1、Django 中的缓存是怎么用的?2、现有2元、3元、5元共三种面额的货币,如果需要找零99元,一共有多少种找零的方式?3、代码执行结果4、下面的代码执行结果为:5、说一下Python中变量的作用域。6、闭包7、python2与p…

Hive:数据仓库利器

1. 简介 Hive是一个基于Hadoop的开源数据仓库工具,可以用来存储、查询和分析大规模数据。Hive使用SQL-like的HiveQL语言来查询数据,并将其结果存储在Hadoop的文件系统中。 2. 基本概念 介绍 Hive 的核心概念,例如表、分区、桶、HQL 等。 …

深入浅出Go的`encoding/xml`库:实战开发指南

深入浅出Go的encoding/xml库:实战开发指南 引言基本概念XML简介Go语言中的XML处理结构体标签(Struct Tags) 解析XML数据使用xml.Unmarshal解析XML结构体标签详解处理常见解析问题 生成XML数据使用xml.Marshal生成XML使用xml.MarshalIndent优化…

服务器中了mallox勒索病毒还能恢复数据吗?

什么是mallox勒索病毒? mallox是一种最近多发的勒索病毒类型,它主要针对企业的Web应用和数据库服务器进行攻击。mallox后缀的勒索病毒会加密用户的重要文件数据并以此为要挟索要赎金。该类病毒会绕过企业的防火墙和各种防护软件,对目标设备进…

带你深入了解数据库的事务

为什么要使用事务 日常开发中,很多操作,不是通过一个SQL就能完成的,往往需要多个SQL配合完成 当执行多个SQL操作的时候,如果中间出现了特殊的情况(程序崩溃,系统奔溃,网络断开,主机…

R语言:microeco:一个用于微生物群落生态学数据挖掘的R包:第七:trans_network class

# 网络是研究微生物生态共现模式的常用方法。在这一部分中,我们描述了trans_network类的所有核心内容。 # 网络构建方法可分为基于关联的和非基于关联的两种。有几种方法可以用来计算相关性和显著性。 #我们首先介绍了基于关联的网络。trans_network中的cal_cor参数…

进程的一些概述

文章目录 前言一、进程以及查看指令二、查看进程 前言 进程是什么?进程应该如何描述?进程又该如何管理?进程如何查看? 一、进程以及查看指令 一个正在运行的程序,加载到内存中的程序是进程也叫做任务,用任务资源管理…

从单机到分布式微服务,大文件校验上传的通用解决方案

一、先说结论 本文将结合我的工作实战经历,总结和提炼一种从单体架构到分布式微服务都适用的一种文件上传和校验的通用解决方案,形成一个完整的方法论。本文主要解决手段包括多线程、设计模式、分而治之、MapReduce等,虽然文中使用的编程语言…

在Visual Studio中调试 .NET源代码

前言 在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库。如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会得到大大的提升。今天我…

openKylin系统安装ssh服务结合内网穿透实现固定公网地址访问

文章目录 1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接小结 6. 固定SSH公网地址7. SSH固定地址连接 openKylin是中国首个基于Linux 的桌面操作系统开发者平台,通过开放操作系统源代码的方式,打造具有自…

Selenium 自动化 —— Selenium IDE录制、回放、导出Java源码

Hello Selenium 示例 之前我们在专栏的第一篇文章中演示了使用使用Selenium进行百度搜索的Hello world示例。 代码不复杂非常简单: public static void main(String[] args) {WebDriver driver null;try {// 设置Chrome驱动的路径 // System.setPro…

matplotlib库简介及函数说明

目录 简介matplotlib.pyplot as plt 常用函数说明创建子图plt.subplots().plot() 子图参数set_title()axis2.legend()fig.autofmt_xdate() 简介 matplotlib 是一个用于创建二维图表和数据可视化的 Python …