<center>
06-POLYMESH-TUTORIALS-MESH-EDIT~~使用TWIST编辑三角形网格</center>
参考资料
waves-workshop-exercise-mesh-edit.pdf
;
- 是
COURS/WAVES_SHORT_COURSE/TUTORIALS/TUTORIAL-MESH-EDIT
里面的内容;TUTORIALS
目录的链接: https://pan.baidu.com/s/1S4qGSGGyJizdSAeFIerewA 密码: jpi1- TUTORIAL 是会更新的,关于 2019 版本的;
- 链接:https://pan.baidu.com/s/1izCLn_C1-8nRkeo2sMX84g
提取码:ilvo
–来自百度网盘
内容
在这个教程练习中,我们将编辑一个用 Polymesh
建立的 三角形网格
。目的是通过清理 “坏 “的三角形,让模型在 显式方案
下运行得更快。你可以按照本视频中描述的步骤进行操作(尽管使用的是稍旧的 TWIST
版本)。
http://tinyurl.com/wikifrw3/En:idl_tool:mesh_timesteps_and_editing (<font color='red'>
不知道为什么网页打不开~``)
直接从
PolyMesh
中出来的网格通常没有经过优化,不能用显式方案
运行。对它们进行一些清理可以帮助减少CPU的时间。在这里,我们使用TWIST
工具以交互的方式来做这件事。
MESH-EDIT 工作目录创建
创建一个 MESH-EDIT 工作目录,假如为 work-mesh-edit
,在目录下打开终端,输入以下命令
cp -r $COURS/WAVES-SHORT-COURSE/TUTORIALS/TUTORIAL_MESH_EDIT .
现在可以进 ./TUTORIAL_MESH_EDIT
,可以发现如下文件:
rand.dat | Polymesh使用的 外部等高线(outside contour) |
insel.dat | Polymesh使用的 岛屿文件(island file) |
xyz.dat | ASCII格式的 水深数据 |
meshin.nml | (例子中)Polymesh输入文件 |
sorted_v0.msh | (例子中)要编辑的网格文件 |
cflcxy_sorted.dat | 时间步数为T = 26.81 s,由Polymesh估计 |
protocol.nml | (其它例子)Polymesh输入文件 |
sorted_clean1.msh | (例子中)由TWIST产生的编辑过的网格 |
用TWIST可视化网格
要启动 idl
,你首先要复制 TWIST工具
并使用 runtime(运行时间)
运行:
cd ./TUTORIAL_MESH_EDIT
cp $WAVE_COURSE/TOOLS/IDL/rt_visumain.sav .
cp $WAVE_COURSE/TOOLS/IDL/TWIST_init.txt .
cp -r $WAVE_COURSE/TOOLS/IDL/palettes .
idl -rt=rt_visumain.sav
启动 idl
后,在 TWIST
中,显示 sorted_v0.mesh
网格需以下操作:
- 以
GMESH triangle-based grid
加载; - 在
Maps
中选择Bathy from gmsh
; - 要求叠加
TRI
角; Refresh
;
用TWIST显示、编辑网格的最小时间步长
下一步是得到 WW3
对该网格将使用的 时间步长
的值。因为三角形周围的每个 单元(cell)
都有一个 最大的稳定显性时间步长
,模型将使用其中 最小时间步长
。这个 最小时间步长
对于每个方向和每个频率都是不同的。在实践中,我们在这里重新计算 最低频率的最小值
。
要做到这一点,打开 MESH
工具箱,在 Mesh and timesteps
部分选择 Update model timesteps
:
为了帮助你直观地了解这些 Nodes
的位置,你可以点击 Refresh
来获得新的图像:
随着 最小时间步长
的减少,结点的方块标志
颜色由冷转暖,除了 真正的最小的时间步长
的 结点的方块标志
,它在这里以蓝色出现,为了从 暖色方块标志
中突出显示。当你放大在 13.13s
时间步长(即 真正的最小的时间步长
)下的 带有蓝色方块标志的结点
时,你会看到,该节点是一个有4个 neighbors
的节点,而这是一个典型的 问题结点
:
搜索网格并移除4个 neighbors
的节点(即 问题节点
),是我们创建这一个工具的目的。在 MESH
工具箱中,选择 Work on mesh
中的 Remove all nodes with 4 neighbors
,Refresh
后,带有蓝色方块标志的结点
被移除了,如果你这样再选择一次,带有红色方块标志的结点
也会被移除。
现在选择 Update model timesteps
,真正的最小时间步长
变成了 16.94s
,放大在该时间步长下的 带有蓝色方块标志的结点
。
正如你所看到的,这个 结点
周围的三角形有点 扁平(flat)
。你可以通过 手动移动结点
来改善网格:在 Mesh Editor
中点击 Move GPs
,然后在 主窗口
中拖动相邻的结点。这可以使得 结点的方块标志颜色
变成其它颜色,甚至在结点掉出 前100个结点
的时候让标志消失。当你的网格将在一个运行系统 数年中每天运行时
,可以努力实现网格的调整。
移动结点的时候要特别注意,貌似没有撤销的操作。
用TWIST保存网格文件
最后你应该保存一个 *.msh
文件(选择 MESH工具
中的 Save file
)。
一个例子是 sorted_v2.msh
。
额外练习1:POLYMESH_use_and_tricks_guide.pdf
如果你想知道更多关于如何 调整mesh
和根据你的需要 调整polymesh选项
,你可以阅读以下文档文件 POLYMESH_use_and_tricks_guide.pdf
。在 $WAVE_DATA/MESH_EDIT/
中提供了 pdf
和例子。
额外练习2:xfn图形工具
xfn图形工具
可以用来对网格做同样的操作。它应该输出一个文件 final.dat
,它将取代 polymesh
中的 xyz.dat
。
复制 exe文件
,正确设置环境并运行 xfn工具
:
cp ~/POLYMESH/xf/* ~/bin/
chmod 755 ~/bin/*
export TICAD_DEFAULTS=$HOME/bin/
xfnn final
要用 xfn中的等高线文件(contour file)
运行 polymesh
,你需要编辑 Meshin.nml
:
&GENERAL
LXYZ = F
/
然后运行 polymesh
,它将读取 rand.dat
、insel.dat
和 final.dat
。