安卓第一行代码第3版pdf_SPECFEM2D用户手册——第3章 网格生成——3.1 如何使用SPECFEM2D...
參考資料
manual_SPECFEM2D.pdf
數值實現
Julia 1.4.2/MATLAB 2019a
備用系統
Ubuntu 64
地球物理局 地震波動力學實驗室 譜元組 譯# 聲明 # 歡迎批評指正,禁止轉載!目 錄
石中居士:地震波場正演模擬中的譜元法:基本原理與程序實現——目錄?zhuanlan.zhihu.com關鍵詞
#譜元法#
第3章 網格生成
3.1 如何使用SPECFEM2D
圖3.1 SPECFEM2D仿真的示意性工作流程??蓤绦械膞meshfem2D創建GLL網格點并分配特定的模型參數??蓤绦形募specfem2D求解地震波傳播問題。要運行網格生成器,請按照以下步驟操作:
- 編輯輸入文件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_surface和rec_normal_to_surface。應該精細顆粒、順時針排列。第一行為點數,然后每行為
坐標。- 如果使用MPI進行編譯,則必須指定進程數。
然后輸入
./bin/xmeshfem2D來創建網格(將存儲在目錄OUTPUT_FILES/中)。 xmeshfem2D是串行的;它將輸出幾個名為Database??????.bin的文件,每個進程一個。
圖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想要進入這個位置,打開gnuplot,則輸入:cd /usr/bin/gnuplot想要退出該軟件,輸入exit,回車我們在gnuplot中輸入:plot "OUTPUT_FILES/gridfile.gnu" w l得到
關于網格劃分器創建的文件中的網格點編號,我們使用
節點和 節點有限元的經典約定:manual_SPECFEM2D.pdf局部坐標系為
和 (xi和eta)。請注意,此約定僅用于描述幾何。然后,在求解器中,根據譜元法中的經典方法——基于Gauss-Lobatto勒讓德點的高階拉格朗日插值描述波場。商業推廣
封面:[1]
參考
總結
以上是生活随笔為你收集整理的安卓第一行代码第3版pdf_SPECFEM2D用户手册——第3章 网格生成——3.1 如何使用SPECFEM2D...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首例猪心移植人体,川妹子立大功!36 岁
- 下一篇: 李善兰如何用汉字写公式 | 晚清高数课本