最近,要用经典AQWA计算一个SPAR平台的水动力,本以为会很顺利,以前无论是船还是半潜平台都计算过很多回了,没想到却遇到了深水平台特有的问题。
用经典ANSYS建有限元结构模型没什么可讲的,建模的过程就是个体力活。
用结构模型改成AQWA的水动力模型,由于分组了也是分分钟钟的事。
输入ANSTOAQWA命令,生成了aqwa输入文件.aqwa文件,修改内容并更改文件后缀成.dat生成AQWA-LINE识别的运行文件,这些过程也比较顺利。
但当我把将文件.dat用鼠标拖进Aqwa 2022 R1,运行AQWA-LINE程序时,出现了报错的提示。

点击关上窗口,弹出了错误文件。

一堆错误,但原因就一种
**** INPUT DATA ERROR **** ELEMENT#161 ON STRUCTURE#1
HAS COINCIDENT NODES 3064 AND 3066
简短来说就是两个节点的坐标重合了。
我的第一感觉就是我的模型不对,但我仔细检查模型两个节点根本就不重合。
到底怎么回事呢?
经过反复思考和查找终于找到了原因。
.dat文件里的节点Z坐标是一排星号。

我又检查了有限元模型,用list列出了节点的坐标。

终于找出了报错的根本原因,Z向坐标用了科学计数法,所以位数就太多了,所以用ANSTOAQWA命令,生成了aqwa输入文件里就变成了星号。
由于模型用的是毫米单位,当平台吃水超过一百米的时候,ANSYS的数值就用科学计算法了。
这也是为什么半潜平台等吃水比较小的平台不会出现类似问题的原因。
既然找到的问题所在,接下来就到了解决问题的时候了。
经过了我一个晚上的不断尝试,并在网上反复搜索,DEEPSEEK、文心一言和Kimi轮番上阵,最后还是没能解决用ANSTOAQWA命令输出用科学计数法数值成星号的问题。
我最后还是用了个最笨的做法,把aqwa的输入文件里的星号手工替换。
用list命令显示节点坐标并保存下来,科学计数法的数可以用Excel转换为普通的数字, notepad++有列编辑的功能,所以替换也不是什么难事。

如果大家有什么简便的方法可以在文末留言。