安卓第一行代码第3版pdf_SPECFEM2D用户手册——第3章 网格生成——3.1 如何使用SPECFEM2D...

2a942fe4d4c75a55d8a56934b579f041.png

参考资料

manual_SPECFEM2D.pdf

数值实现

Julia 1.4.2/MATLAB 2019a

备用系统

Ubuntu 64

地球物理局 地震波动力学实验室 谱元组 译# 声明
# 欢迎批评指正,禁止转载!

目 录

石中居士:地震波场正演模拟中的谱元法:基本原理与程序实现——目录​zhuanlan.zhihu.com
6d2e90ea8767b77f09d6db9b67063d43.png

关键词

#谱元法#


第3章 网格生成

3.1 如何使用SPECFEM2D

e50d96ed1dee8f0406d051cd535cb0d6.png
图3.1 SPECFEM2D仿真的示意性工作流程。可执行的xmeshfem2D创建GLL网格点并分配特定的模型参数。可执行文件xspecfem2D求解地震波传播问题。

要运行网格生成器,请按照以下步骤操作:

  • 编辑输入文件DATA/Par_file描述了仿真。代码根目录中提供的默认DATA/Par_file包含详细的注释,并且应该几乎是不言自明的(请注意,EXAMPLES目录中提供的某些较旧的DATA/Par_file文件可以正常工作,但其中的某些注释可能已过时或错误;因此,请参考DATA/Par_file以获得可靠说明)。如果需要更多详细信息,本手册中没有2D版本所有参数的详细说明,但是由于许多参数和一般原理相似,因此您可以在3D版本的手册中找到有用的信息。可在https://github.com/geodynamics/specfem3d/tree/master/doc/USER_MANUAL 中获得它们。要创建声(流体)区域,只需将
    波速度设置为零,代码将看到这些单元是流体,并自动在此处切换到正确的方程,并自动将它们与固体区域匹配。
  • 如果您使用外部网格生成器(例如GiD或CUBIT/Trelis),则应将read_external_mesh设置为.true.

./DATA/Par_file

https://github.com/TheManLivingInRocks/specfem2d/blob/master/DATA/Par_file......
# use an external mesh created by an external meshing tool or use the internal mesher
read_external_mesh              = .false.#-----------------------------------------------------------------------------
#
# PARAMETERS FOR EXTERNAL MESHING
#
#-----------------------------------------------------------------------------# data concerning mesh, when generated using third-party app (more info in README)
# (see also absorbing_conditions above)
mesh_file                       = ./DATA/mesh_file          # file containing the mesh
nodes_coords_file               = ./DATA/nodes_coords_file  # file containing the nodes coordinates
materials_file                  = ./DATA/materials_file     # file containing the material number for each element
free_surface_file               = ./DATA/free_surface_file  # file containing the free surface
axial_elements_file             = ./DATA/axial_elements_file   # file containing the axial elements if AXISYM is true
absorbing_surface_file          = ./DATA/absorbing_surface_file   # file containing the absorbing surface
acoustic_forcing_surface_file   = ./DATA/MSH/Surf_acforcing_Bottom_enforcing_mesh   # file containing the acoustic forcing surface
absorbing_cpml_file             = ./DATA/absorbing_cpml_file   # file containing the CPML element numbers
tangential_detection_curve_file = ./DATA/courbe_eros_nodes  # file containing the curve delimiting the velocity model
......

mesh_file:是描述网格的文件:第一行是单元的数量,然后是每行上形成每个单元的4个节点(仅四边形)的列表。

nodes_coords_file:是包含每个节点的坐标(

)的文件
:第一行的节点数,然后是每行的坐标

materials_file:是每个单元的材料编号:每行上从1到nbmodels的整数。

free_surface_file:是描述形成声学自由表面的边缘的文件:第一行上是边缘数量,然后在每一行上:单元数量、形成自由表面的节点数量(

表示一个点,
表示一个边)、形成该单元自由表面的节点。如果您不希望有任何自由表面,只需在第一行上输入
;然后,您将获得一个刚性表面。

axial_elements_file:是描述轴对称仿真情况下轴向单元的文件。请参阅第4.2节。

absorbing_surface_file:是描述形成吸收边界的边的文件:第一行,是边数;然后每行:单元数、形成吸收边的节点数(必须始终等于

)、对于该单元形成吸收边的两个节点;然后是吸收边的类型:
表示
底边
表示
右边
表示
顶边
表示左边。每个单元只能列出两个节点,即,每行的第二个参数必须始终等于
。如果您的一个单元沿给定的吸收轮廓具有一个以上的边(例如,如果该轮廓具有角),则列出两次,将第一条边放在第一行,第二条边放在第二行。请勿将具有相同吸收边的相同单元列出两次或两次以上,否则吸收将不正确,因为会不恰当地减去边界积分数次。如果您的一个单元沿吸收轮廓具有单个点而不是一个完整边缘,则不要列出该单元(由于轮廓由单个点组成,因此它在轮廓积分中不会有权重)。如果使用
节点单元,则仅列出边缘的第一个和最后一个点,而不列出边缘中间附近的中间点。正确的
节点曲率将通过代码自动恢复。

tangential_detection_curve_file:包含描述包络的点,这些点用于source_normal_to_surfacerec_normal_to_surface。应该精细颗粒、顺时针排列。第一行为点数,然后每行为

坐标。
  • 如果使用MPI进行编译,则必须指定进程数。
注意,后面用gnuplot画图,需要修改默认的output_grid_Gnuplot配置:

11b12e1561e0e9d0a361f1aef93a6e07.png
修改为:

208fbb3092132189b6e87eb0ee064090.png

然后输入

./bin/xmeshfem2D

76dc2940e60ed7d42d17b63d8986c0ef.png

dcc5bb0acb5038215aaffea903f15f20.png

82a55dc411c7545e7f7bc0ac5f574dee.png

bf716fa1489b72e17ce8af11e6131fd7.png

8bb0436efc32994f6cbda35cfd674554.png

e5f543aa1593412d27491ff76f1a2c9e.png

来创建网格(将存储在目录OUTPUT_FILES/中)。 xmeshfem2D是串行的;它将输出几个名为Database??????.bin的文件,每个进程一个。

01708de6d03789d0391334b0a441293b.png

594445b44f10c1602fe8ddbb20f6028f.png
图3.2:由xmeshfem2D生成的网格文件实例,并用gnuplot可视化(在gnuplot中,输入'plot "OUTPUT_FILES/gridfile.gnu" w l')。
首先安装plotutils。输入:
sudo apt install plotutils
输入密码,回车安装。然后安装gnuplot。输入:
sudo apt install gnuplot
输入密码,回车安装。
查看一下gnuplot安装在哪里。输入:
whereis gnuplot

abb473e7481043f14308c7f3b1bd0558.png
想要进入这个位置,打开gnuplot,则输入:
cd /usr/bin/gnuplot

62bac100e018bf09a39150f60c83a3b4.png
想要退出该软件,输入exit,回车

dac661a76d33770aca81abf421601e39.png
我们在gnuplot中输入:
plot "OUTPUT_FILES/gridfile.gnu" w l
得到

2ea589139c31be1464ab24b5d75ca2fb.png

关于网格划分器创建的文件中的网格点编号,我们使用

节点和
节点有限元的经典约定:

c58aae76df41a68daff40cb6ec941c81.png
manual_SPECFEM2D.pdf

局部坐标系为

xieta)。请注意,此约定仅用于描述几何。然后,在求解器中,根据谱元法中的经典方法——基于Gauss-Lobatto勒让德点的高阶拉格朗日插值描述波场。

商业推广


封面:[1]

参考

  1. ^http://cdn.fishki.net/upload/post/2016/05/27/1964133/0-1195dd-6a5e2522-xxxl.jpg

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

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

相关文章

黑白棋游戏水平(2)--pytorch剪裁

系统需求 Linux系统,并已安装git、gcc、g、cmake⼯具 下载源码 从github克隆Pytorch仓库 git clone --recursive https://github.com/pytorch/pytorch如果已经克隆过,则使⽤以下命令更新 git submodule sync git submodule update --init --recurs…

linux htb 源代码,LINUX TC:HTB相关源码

LINUX TC:HTB相关源码 收藏HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种。它的配置比CBQ要简单.同时实现功能也很强大。下面,就来看看,HTB在linux中的源码。1、 Qdisc_ops的注册先从module_init函数看起(…

二维码图像去噪文献调研(1)--Real Image Denoising with Feature Attention

简介 (1) 论文(包括期刊和发表时间): Real Image Denoising with Feature Attention(ICCV 2019) (2) 论文链接: https://arxiv.org/pdf/1904.07396.pdf &…

idea gui插件_给 IDEA 换了酷炫的主题,研发小姐姐看到:feel so high。。。

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐]IntelliJ IDEA介绍IDEA,全称 IntelliJ IDEA ,是 Java 语言的集成开发环境, IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能 代码助手、代码自动提示、重构、 J2E…

华为荣耀电脑第三方linux,【第三方Linux版】荣耀MagicBook Pro 16.1英寸全面屏如何?某东入手评测...

这款【第三方Linux版】荣耀MagicBook Pro 16.1英寸全面屏轻薄笔记本电脑(酷睿i5 8G 512G MX250 IPS)冰河银,看网上评测推荐的,后面网上种草了这款笔记本,用过一段日子了,分享使用感受如下:一、【第三方Linux版】荣耀Ma…

二维码提升对比度文献调研(1)--Fast Image Processing with Fully-Convolutional Networks

简介 (1) 论文 (期刊和发表时间) Fast Image Processing with Fully-Convolutional Networks (ICCV 会议 2017) (2) 论文链接 https://openaccess.thecvf.com/content_iccv_2017/html/Chen_Fast_Image_Processing_ICCV_2017_paper.html (3) 源代码链接 …

python的变量如何理解_Python程序中变量作用范围应该如何理解?

初学Python,自己尝试着写了一个爬虫,主要代码如下import jsonimport scrapyfrom bs4 import BeautifulSoupfrom docx import Documentfrom docx.shared import Ptclass BidsSpider(scrapy.Spider):name bids_spiderallowed_domains [deal.ggzy.gov.cn,…

linux下 c语言 用write open二进制写文件,Linux下用C语言fopen、fread和fwrite函数对二进制文件的操作-Go语言中文社区...

一、前言在做一个镜头的初始化操作,需要加载一个648*522像素大小的文件,厂商提供的是一个excel表,如果要加载数据,可用加载txt文本的方式,我选用二进制方式加载文件;大家都知道电脑真正执行的不是高级语言&…

二维码提升对比度文献调研(2)--Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

简介 论文 (期刊和发表时间) Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement (CVPR 会议 2020)论文链接 https://openaccess.thecvf.com/content_CVPR_2020/html/Guo_Zero-Reference_Deep_Curve_Estimation_for_Low-Light_Imag…

python打开是什么样子的图片_黑洞6问:黑洞内部是什么样子?黑洞图片发布,理论和实测的碰撞...

在科学领域,没有什么比你在第一次观察或实验结果中验证一个长期的理论预测时更令人兴奋的了。2012年,大型强子对撞机揭示了希格斯玻色子——标准模型中最后未发现的基本粒子的存在。 几年前,LIGO合作直接探测到了引力波,证实了对爱…

linux初学文档,51CTO博客-专业IT技术博客创作平台-技术成就梦想

linux 里 一切皆文件7种文件类型:普通文件 fd 目录b 块设备 /dev/sda /dev/sda1 /dev/sr0c 字符设备 /dev/pts/0 /dev/ tty0#tty 查看字符设备名称l symbolic link 符号链接 软链接(快捷方式)s socket 套接字 网络进程通信的一种方式p pipe 管道 本地进程间的一种通…

二维码提升对比度文献调研(3)--A Low-Complexity Algorithm for Contrast Enhancement of Digital Images

简介 (1)论文(包括期刊和发表时间):A Low-Complexity Algorithm for Contrast Enhancement of Digital Images (2)论文链接: http://www.mecs-press.net/ijigsp/ijigsp-v10-n2/IJIG…

安卓checkbox无响应_【安卓手机】无法连接电脑的解决方法

转自:广西南宁平衡信息技术有限公司,作者:平衡LivY一般在对手机的数据采集过程中,尤其是安卓手机,最令人头疼的就是手机接入电脑后无法识别。相信以下窗口是大家在做手机取证的时候最不想看到的。那么这里大伙就会有疑…

linux s删除第一行,Linux文本处理三驾马车之一sed

sed对"行"操作动作含义a :新增, a 接字串,而这些字串会在新的一行出现(目前的下一行)~sed 1a\llll llllllll \n lllllll t.txtnl /etc/passwd | sed 2a drink teased -i $a# This is a test regular_express.txt ####文…

二维码提升对比度文献调研(4)--Attention Guided Low-light Image Enhancement

简介 (1)论文2: Attention Guided Low-light Image Enhancement with a Large Scale Low-light Simulation Dataset (2)论文链接: https://arxiv.org/pdf/1908.00682v3.pdf (3)源代…

函数传参string_C/C++的三种函数传值方式及其区别

C/C函数传参方式我想很多朋友应该都知道,但是不同传参方式的背后他们的区别是什么我想很多人并不那么清楚。本文就给大家揭露一下各传参方式的区别。传参方式有这三种:值传递、引用传递、指针传递大家可以去看三种传递方式的写法的区别,关于写…

二维码提升对比度文献调研(5)--DeepLPF: Deep Local Parametric Filters for Image Enhancement

简介 (1)论文名称: DeepLPF: Deep Local Parametric Filters for Image Enhancement CVPR 2020 (2)论文链接: https://arxiv.org/abs/2003.13985 (3)源代码: https://gi…

c语言单选题大全,C语言单选题(五)

1.C语言结构体类型变量在程序执行期间(C)。A.部分成员驻留在内存中B.只有一个成员驻留在内存中C.所有成员一直驻留在内存中D.没有成员驻留在内存中2.当定义一个结构体变量时,系统分配给它的内存是(D)。A.结构中最后一个成员所需内存量B.结构中第一个成员所需内存量C…

java 匿名函数_Java 理论与实践,闭包之争

Java 语言是否应增加闭包以及如何添加?在跨越边界 系列最近的一篇文章中,我的朋友兼同事 Bruce Tate 以 Ruby 为例描述了闭包的强大功能。最近在安特卫普召开的 JavaPolis 会议上,听众人数最多的演讲是 Neal Gafter 的 “向 Java 语言增加闭包…

二维码识别中面临的主要问题

问题描述 下面有两个二维码的图片: 这两个二维码其实是一样的,也就是二维码码制在设计的时候,其实不需要那么大的黑点,只需要中心一小部分即可。 问题一:在优化二维码的过程中,能否考虑优化边缘部分&…