关于ANSYS中数据有效位数和小数点位数的探讨

今天在运用ANSYS做“常规动作”时,突然发现过去一直忽略的一个问题,那就是ANSYS会对数据进行自动的“四舍五入”?回想起做桩土接触时,曾使用装配的方法,导致程序提示有渗透出现(其实渗透是难免的),这便更加深了我的质疑。经过在帮助文档和网络中的一再求证,总算是初步弄明白了,事实上,我误解了它。

在默认状态下,任意创建一个图素,例如k,1,1234,4321, 则klist之后显示的节点x坐标为0.123E+04,后面的数据都给“省略”了。这其实是个假象,其实数据是完整地输入进去了,只不过程序显示成这种小数点后保留三位的科学计数法而已。特别感谢纪同学,在他的启发下我们做了一个实验:k,1,1.2222$k,2,1.2224$l,1,2$llist。创建了两个关键点,如果程序会自动改变原始数据的话,那么二者连线的长度应被忽略,而事实上的结果依旧是0.2000E-03。这证明在数据输入的时候,并不存在所谓要保留多少位有效数字或小数点后留多少位的问题。

事实上,我们能遇到的格式问题,都是在后处理中遇到的。分为两种情况,一是显示一是输出。即有时会出现选不上截面,或者需要对所有输出的数据做格式上的统一。而此时,我们只需要对格式做一个设置即可。总体来讲,能用到的命令如下:

/GROPT, Lab, KEY

此命令可修改沿坐标方向图表的显示比例,或者定义坐标轴方向数据在小数点左侧有效数字的位数。需要注意的是,所有设置必须在运行/GROPT,VIEW,ON命令,通过/GROPT,STAT开启显示之后,开可以看到。当然,也可以通过/GROPT,DEFA将所有设置复位。

GUI操作路径:

Utility Menu>PlotCtrls>Style>Graphs>Modify Axes
Utility Menu>PlotCtrls>Style>Graphs>Modify Curve
Utility Menu>PlotCtrls>Style>Graphs>Modify Grid

/GFORMAT, Ftype, NWIDTH, DSIGNF

用来设置图形显示界面的数据显示格式,可根据fortran的格式定义方法,设置小数点右侧位数或整体的有效数字位数等等。同样地,也需要/GFORMAT,STAT开启,也可用/GFORMAT,DEFA复位。

GUI操作路径:

Utility Menu>PlotCtrls>Style>Floating Point Format

/FORMAT, NDIGIT, Ftype, NWIDTH, DSIGNF, LINE, CHAR

用来设置表参数(table)中的数据格式,此命令没有GUI对应的选项。其中每个项目的具体意义,请到Help系统中查询。

举个例子:/format,,f,8,5则表示选F格式下宽度为8的有效位数,小数点后保留5位

以上命令只对后处理中的PRNSOL, PRESOL, PRETAB, PRRSOL, and PRPATH 等列表数据有效,而在/prep7中的list命令中查询没有效果——实际上所定义的格式,仅针对图形界面中的数据显示而言,列表窗口中当然查不到啦。

除此之外,还可以使用*VWrite命令实现自定义格式的输出。*vwrite可以实现将数组中的数据写入到外部文件中,而且数据格式可用fortran77数据描述符来规定。流程大体如下:

*cfopen,文件名,后缀名
*vwrite,写入的内容
(数据格式描述符)
*cfclos

具体操作,请参考《APDL参数化有限元分析技术及其应用实例》博弈创作室,中国水利水电出版社,第六章(P36~P44)的相关内容。

总结一下:1、ANSYS不会自动的“四舍五入”,只是我们“看起来如此”;2、list中的数据并不十分准确,所以需要调用数据的时候还是将其输出成外部文件比较好

长河

说不定我这一生涓滴意念,侥幸汇成河,而且是一条大长河

24 条评论

  1. 黎强

    研究学习能力很强啊,会动脑筋,值得我们这种研一的同学学习!

  2. @火花鼠
    klist,all,,,coord 详见7楼marain的解答

  3. 火花鼠

    请问长河兄,如果是要输出一个surface或者一个path上所有node上的结果,如何操作呢。。我现在使用list的,确实只保留三位有效数字,明显达不到精度要求的说。。

    望赐教

    拜谢

  4. 学会妙用还是有难度的…

  5. @老时 那是传说中的“安全帽”

  6. 长河的头盔很可爱。。

  7. @别先生说事 审核?我关闭博客的审核功能了啊

  8. 额,又是一个审核。。

  9. 来看看这条长长的河
    对了,麻烦你把圈外博客的连接改一下吧。换域名了,终于找到和我的姓符合的米了。。。
    别先生说事 http://www.mrbie.com

  10. @阳光
    你要看明白了.那你就是天才!

  11. @okyle 好啊,当然可以交换啦。我去年9月底改成的这个域名~
    再者,你提供的abaqus6.9.1简装版下载地址,10kB/S?太吓人了…

  12. email留错了,我说怎么没头像
    这算灌水么?

  13. 还有,下面这个小提示很好,我要剽窃,嘿嘿

  14. 我好像有长河的链接,但不是链接到这里了。
    请问这个站可以交换链接么,呵呵

  15. @雅姿 中国的原子弹,是标准的“集成创新”,完毕~

  16. @marain 这样啊,我从未关注过klist后面的参数设置~谢谢老师的指点!
    “互相帮助”是我用手工的方式添加的,现在就加上.

  17. marain

    klist,all!会用ANSYS自己的固定方式列出,一般小数点后的数字较少。
    klist,all,,,coord !该选项也用固定方式列出,但增加了小数点后数字,一般够用了。

    !另外,“互相帮助”好像不能点啊,我想寻找“Finite Element Analysis of Composite Materials”一书,是Ever J. Barbero编的。

  18. 看完长河这篇文章,我在想,中国的原子弹是如何造出来的,太牛逼了。

  19. @阳光 别忘了,我这可是关注土木工程的博客呀~

  20. 好久没来了!真是哪行说哪行话呀,怎么也看不明白哦!

  21. @网页打不开 计算机是基础工具,就好比咱们老祖宗的算盘一样,关键是算出来的账,而不是工具本身。
    @水瓶 高抬我了,最新学习了你的毕业论文,很好很强大~

  22. 水瓶

    恩,难得的科研人才。我都还很久没摸过ANSYS了。

  23. 真是干哪行都离不开计算机啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

关于ANSYS中数据有效位数和小数点位数的探讨
返回顶部

显示

忘记密码?

Close