24小时热门版块排行榜    

查看: 1160  |  回复: 2

类人之子

新虫 (初入文坛)

[求助] 【fortran求助】如何将三角形网格节点上数据赋值给四边形网格节点 已有1人参与

现有同一区域范围内两种网格(三角形网格和四边形网格),有三角形网格“三角形网格编号.txt”、“三角形网格各节点坐标.txt”、“三角形网格各节点分流速.txt”三个文件,四边形网格有文件“四边形网格坐标.txt”(三角形网格数32465个,每个三角形6个节点(三个顶点和三条边中点),因相邻三角形共用三个节点,共有节点数65302个,各文件见附件),为简化程序,四边形网格只给了1000个节点及其坐标。现需要将三角形网格上的X、Y方向上的分流速赋值到四边形节点坐标上。三角形网格与四边形网格形式见图片。
      赋值计算如下:M点分流速Um=(sABM*Uc+sACM*Ub+sBCM*Ua)/sABC,同理M点分流速Vm=(sABM*Vc+sACM*Vb+sBCM*Va)/sABC。也就是说三个顶点的值乘以对面小三角形面积占大三角形面积权重的和值。(U、V为节点分流速;sABC等为三角形面积)
     需要说明的是:三角形相邻网格不一定是连续编号,而且每个三角形网格的节点编号不是连续的。
    程序的总体思路是:对于每一个四边形网格节点,搜索这个节点在哪一个编号的三角形内(也有可能这个节点刚好落在三角形某条边上,如果是这种情况,则直接根据直线插值),然后再根据上面的公式计算其分流速U和V。
   请各位大神帮帮忙,谢谢!
  最后生成结果如下形式:
四边形节点编号           X坐标            Y坐标        分流速U         分流速V
       1                             X1                  Y1              U1                 V1
       2                             X2                  Y2              U2                 V2
       3                             X3                  Y3              U3                 V3



   1000                        X1000             Y1000         U1000         V1000【fortran求助】如何将三角形网格节点上数据赋值给四边形网格节点
三、四变形.jpg


【fortran求助】如何将三角形网格节点上数据赋值给四边形网格节点-1
000000.jpg
回复此楼

» 本帖附件资源列表

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

类人之子

新虫 (初入文坛)

2楼2015-06-08 09:07:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Newyar

新虫 (小有名气)

【答案】应助回帖

先导出三角形网格的xyz,然后插值到四边形网格就行了啊
3楼2015-11-16 12:38:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 类人之子 的主题更新
信息提示
请填处理意见