szygmysf 发表于 2013-12-17 22:53:19

用fish计算的最大不平衡力为什么跟hist中的不一样呢?!!!

def findmax
                  maxU=0.0
                  pnt=gp_head
                  loop while pnt#null
                xf=gp_xfunbal(pnt)
                yf=gp_yfunbal(pnt)
                zf=gp_zfunbal(pnt)
                ff=xf*xf+yf*yf+zf*zf
                uf=sqrt(ff)
                if maxU<uf
                        maxU=uf
                endif
                     pnt=gp_next(pnt)
                           endloop

                   end
findmax

hist里面最大值为2.68e7
fish计算出的maxU=3.6e5

为什么会这样呢??????????



zpp080425 发表于 2013-12-20 10:55:56

本帖最后由 zpp080425 于 2013-12-20 11:34 编辑

不平衡力是节点的内力与外力之差,最大不平衡力是所有节点的外力与内力之差的最大值,最大不平衡力可以理解为在所有节点中其合力最大的那个节点的合力值,这个合力不仅仅是x,y,z三个方向的合力值,他包括无数个方向,这无数个方向的合力值构成不平衡力,这个合力是很难用fish计算出来的,关于计算不平衡力的fish变量很少,用fish编写不平衡力缺少语法支持,个人理解难免有失偏颇,欢迎讨论。

zpp080425 发表于 2013-12-19 15:08:07

fish写的不对,没有弄明白最大不平衡力的计算原理,也没有弄清出程序执行过程

szygmysf 发表于 2013-12-19 21:35:53

zpp080425 发表于 2013-12-19 15:08
fish写的不对,没有弄明白最大不平衡力的计算原理,也没有弄清出程序执行过程 ...

最大不平衡力不是所有节点的不平衡力的最大值吗?

szygmysf 发表于 2013-12-19 21:36:43

zpp080425 发表于 2013-12-19 15:08
fish写的不对,没有弄明白最大不平衡力的计算原理,也没有弄清出程序执行过程 ...

能不能提点我一下,谢谢

mn5207 发表于 2014-1-9 23:10:50

楼主搞定这个了没有

mn5207 发表于 2014-1-20 10:44:07

fish语言直接有一个内部函数 unbal,不需要再进行计算得到了。
页: [1]
查看完整版本: 用fish计算的最大不平衡力为什么跟hist中的不一样呢?!!!