关于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中的数据并不十分准确,所以需要调用数据的时候还是将其输出成外部文件比较好

转载请注明源自清溪长河,多谢配合!
原文地址» http://www.10kn.com/number-of-significant-digits-and-decimal-point/



已有24 条评论:

  1. [回复]

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

    网页打不开 在1楼说:

    2009.07.10
    09:01

  2. [回复]

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

    水瓶 在2楼说:

    2009.07.10
    16:40

  3. [回复]

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

    长河 在3楼说:

    2009.07.10
    19:21

  4. [回复]

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

    阳光 在4楼说:

    2009.07.11
    21:23

  5. [回复]

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

    长河 在5楼说:

    2009.07.12
    08:39

  6. [回复]

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

    雅姿 在6楼说:

    2009.07.12
    08:48

  7. [回复]

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

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

    marain 在7楼说:

    2009.07.12
    10:26

  8. [回复]

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

    长河 在8楼说:

    2009.07.12
    12:04

  9. [回复]

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

    长河 在9楼说:

    2009.07.12
    12:13

  10. [回复]

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

    okyle 在10楼说:

    2009.07.13
    08:48

  11. [回复]

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

    okyle 在11楼说:

    2009.07.13
    08:49

  12. [回复]

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

    okyle 在12楼说:

    2009.07.13
    08:49

  13. [回复]

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

    长河 在13楼说:

    2009.07.13
    09:18

  14. [回复]

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

    中药饮片 在14楼说:

    2009.07.13
    09:38

  15. [回复]

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

    别先生说事 在15楼说:

    2009.07.15
    16:10

  16. [回复]

    额,又是一个审核。。

    别先生说事 在16楼说:

    2009.07.15
    16:10

  17. [回复]

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

    长河 在17楼说:

    2009.07.16
    08:32

  18. 长河 在18楼说:

    2009.07.17
    07:40

  19. [回复]

    长河的头盔很可爱。。

    老时 在19楼说:

    2009.07.19
    21:29

  20. [回复]

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

    长河 在20楼说:

    2009.07.20
    07:56

  21. [回复]

    学会妙用还是有难度的…

    非儿 在21楼说:

    2009.08.04
    16:20

  22. [回复]

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

    望赐教

    拜谢

    火花鼠 在22楼说:

    2009.11.20
    23:35

  23. [回复]

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

    长河 在23楼说:

    2009.11.22
    11:06

  24. [回复]

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

    黎强 在24楼说:

    2010.06.07
    19:56

您的邮箱地址 不会 被公开. 必填选项由 *标记...

*

*

赶紧来说两句:

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。