SMS打网格得到的.grd .2dm文件格式讲解 应用于FVCOM海洋模式

在构建FVCOM模型时候,我们一般用SMS打网格 

我还是用的10.1  里面内置了不少功能 但是我们一般只用来打网格

其实 用破解版内置功能也用不上  哈哈哈

当前sms已经更新到13.1  一般都用破解版的 下面提供一个安装SMS的地址

点击这里,查看下载SMS11.2 64位

打网格的具体过程 有很多他人的教程 这里不多说 如果需要 可以私信我 互相交流

下面记录SMS生成的网格文件具体内容 

我一般习惯保存 .grd文件 和.2dm文件  这两个包含了网格所有的信息  且比较小

首先是 .grd  文件

这个文件中 第一行为空

第二行 有单元格数 网格点数

第三行开始往下  从左只有依次是  网格点号 经度 纬度 水深

 网格点号结束后 下面接上单元格的信息

单元格信息一行有5个数 从左至右  依次是

单元格号  3表示这个单元格的三个点   后面三个数是 这个单元格三个点分别的网格点号

比如第一个单元格就包含 编号为2 31063 129 的三个网格点  一般是逆时针排列的

单元格的关系结束后 往下是关于边界的相关信息

如上图可见 这个网格包含1个开边界

这个开边界共包含127个点

在1号 开边界上 有127个网格点 (当然其他网格可能不止一个开边界  就会有2号开边界 ....)

再往下就该到陆地边界了  也就是固边界

在这个grd网格文件中 包含37个陆地边界 

陆地边界上共有3438个网格点

往下依次是每个陆地边界的网格点号

.2DM文件包含了类似的信息 

只不过在前面加了两个字母 代表这个这一行的数据 是网格点ND还是单元格E3T  末尾NS表示开边界的点号   最后一个数用负数表示间断或结尾  

以上就是这次的内容  有关SMS打网格 或者FVCOM模型构建的问题欢迎私信我一起交流!

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
好的,我可以帮你回答这个问题。 首先,你需要一个.grd格式的网格文件作为输入。这里我假设你已经有了一个.grd格式的网格文件。 接下来,你可以使用MATLAB中的函数`grdread`来读取.grd格式的网格文件。这个函数会返回一个结构体,包含网格的顶点坐标和拓扑信息。 然后,你需要将这个网格转换为一个线性方程组。我们可以使用Poisson方程的离散化形式来实现这一点,它可以被写成如下形式: Ax=b 其中,A是一个矩阵,x和b是向量。我们可以使用有限元方法来实现这个离散化,这个过程需要用到网格的顶点和三角形。 最后,你需要求解这个线性方程组,这可以使用MATLAB中的线性求解器来实现。在这里,我将使用MATLAB的backslash运算符,它可以直接求解线性方程组。 下面是一个示例代码,用于打开一个.grd格式的网格文件,并求解拉普拉斯方程: ```matlab % 读取.grd网格文件 [vertices, faces, normals] = grdread('mesh.grd'); % 创建顶点和三角形列表 p = vertices'; t = faces'; % 创建拉普拉斯矩阵 L = cotmatrix(p, t); % 创建右侧向量 b = zeros(size(p,2), 1); % 用边界条件 % 这里略去了边界条件的具体实现 % 解线性方程组 u = L\b; % 可视化结果 trisurf(t', p(1,:), p(2,:), p(3,:), u); ``` 这个示例代码使用了MATLAB中的函数`grdread`来读取.grd格式的网格文件。然后,我们创建了顶点和三角形列表,并且使用cotmatrix函数创建了拉普拉斯矩阵。接下来,我们创建了右侧向量,并且用了边界条件。最后,我们使用backslash运算符解出了线性方程组,并可视化了结果。 希望这个示例代码能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值