找回密码
 注册
Simdroid-非首页
查看: 1432|回复: 22

[前处理] 介绍一下单双精度计算,希望对作工程的人士有帮助

[复制链接]
发表于 2010-7-23 11:04:48 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 zsq-w 于 2010-7-23 11:38 编辑

目前,论坛上已有人发现采用单双精度计算产生的结果有时相差比较大,例如有些单精度计算会产生刚体变形。其实精度问题对可变体影响更大。目前本人工作中发现以下几个方面,希望对大家有借鉴作用:

1。接触面比较严重的穿透,这在金属成型和吹塑成型都比较常见。如果定义更严格的接触关系还不能解决接触穿透问题的话,你可能就需要考虑精度问题。

2。可变体应力与应变严重不对等,例如变形严重,而应力却很小。

3。轨道运输中,运动体在轨道带动下却不动等等问题。可能还可能很多其他的方面问题,特别是土木方面的(不大熟悉)。下面对单双精度及它的最近几个版本更新做个简单介绍。

    在ABAQUS里面,单精度是32位字节,双精度是64位子节。双精度在显式计算中使用。6.9版本提交工作的命令:JOB=, DOUBLE=。


  ABAQUS帮助文档里面采用双精度的情况

1、计算增量步超过30万。
2、典型的节点位移增量小于节点坐标的10E-6。在6.9版本中增加DOUBLE=both功能,计算和前包装处理(packager)都是用双精度,主要是new steps, restart, and import analyses 包含数据也采用双精度,这在以前的版本是没有的。在6.10版本中增加了DOUBLE=constraint和DOUBLE=off。DOUBLE=constraint只有约束系统才采用双精度。DOUBLE=off强制采用单精度。

计算中如果需要采用双精度的话,.sta一般会有警告:
***WARNING: THE ANALYSIS MAY NEED A LARGE NUMBER OF INCREMENTS (MORE THAN
300000), AND IT MAY BE AFFECTED BY ROUND-OFF ERRORS. RUNNING THE
DOUBLE PRECISION EXECUTABLE IS RECOMMENDED.
看到这个警告,可能就需要看下结果,有什么不正常的地方,如果有请使用双精度计算。

   在文档中介绍单精度计算会节省20-30%的计算时间,但在实际中有时候双精度cpu时间是单精度的2倍多,这个可能跟多cup计算也有关系。

如果没有足够计算资源,可以通过下面方式解决一部分问题:
一。网格画粗或者采用质量缩放等增加计算增量。
二、减少模拟计算时间等来减少增量步。

目前,刚体变形就是因为增量步太多,可见看出前期刚体是没有变形,后期才有所变形。而位移增量小的话,前期就有明显的不正常,例如运动体在轨道带动下却不动等现象。

    写的比较多,希望有点用处。

评分

3

查看全部评分

发表于 2010-7-23 11:14:31 | 显示全部楼层 来自 湖南长沙
Simdroid开发平台
好人,顶一个
回复 不支持

使用道具 举报

发表于 2010-7-23 11:33:53 | 显示全部楼层 来自 新加坡
论坛第一次有人对单双精度做这么详细的总结了,学习下。
回复 不支持

使用道具 举报

发表于 2010-7-23 13:34:12 | 显示全部楼层 来自 浙江宁波
双精度只能用在explicit吗
回复 不支持

使用道具 举报

 楼主| 发表于 2010-7-23 13:58:35 | 显示全部楼层 来自 美国
目前double只支持explixit,但是实际上standard增量步数都很小,主要靠分部迭代完成的,多了也根本算不完。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-7-23 14:33:48 | 显示全部楼层 来自 大连理工大学
学习了,现在正好可能使用到这方面的知识
回复 不支持

使用道具 举报

发表于 2010-7-23 15:02:54 | 显示全部楼层 来自 河北邢台
石亦平老师的书里也简单的提到过,但是没有详细的解释,自己也没有深入的研究(有点深^_^)
谢谢楼主的分享
回复 不支持

使用道具 举报

发表于 2010-7-23 15:13:50 | 显示全部楼层 来自 陕西西安
The introduction  of Single precision and double precision
    Abaqus/Explicit is installed with both single precision and double precision executables. To use the double precision executable, you must specify double precision when you run the analysis.
    The single-precision executable typically results in a CPU savings of 20% to 30% compared to the double-precision executable, and single precision provides accurate results in most cases.
     Some contact noise may occur with hard contact models because of limited computer precision. This noise is rarely significant in an analysis.They can be reduced by conducting the analysis with double precision or by specifying the nodal coordinates to be more compliant with contact constraints.

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-7-23 15:40:59 | 显示全部楼层 来自 江西抚州
以前还真没注意这方面的问题,谢谢楼主,学习了
回复 不支持

使用道具 举报

发表于 2010-11-24 09:18:23 | 显示全部楼层 来自 江苏扬州
谢谢楼主的分享,学习了!
回复 不支持

使用道具 举报

发表于 2010-11-24 13:43:35 | 显示全部楼层 来自 河北石家庄
牛,顶顶!!!!!!!
回复 不支持

使用道具 举报

发表于 2010-12-22 16:33:17 | 显示全部楼层 来自 湖北武汉
谢谢lz,谈点体会:当模拟金属成形时,模具轨迹通过多点幅值曲线控制时,采用双精度可以解决由于幅值曲线采用分段线性的时候而造成的误差。
回复 不支持

使用道具 举报

发表于 2010-12-22 18:26:26 | 显示全部楼层 来自 台湾
真的是久沒做abaqus,發現高手越來越多了
回复 不支持

使用道具 举报

发表于 2013-3-27 13:56:54 | 显示全部楼层 来自 黑龙江哈尔滨
非常棒,非常感谢!
回复 不支持

使用道具 举报

发表于 2013-6-4 16:50:32 | 显示全部楼层 来自 上海
我在显示计算中遇到这个warning,但是可以继续计算就没有深入了解。今天终于明白了
回复 不支持

使用道具 举报

发表于 2013-12-16 16:49:01 | 显示全部楼层 来自 陕西西安
单双精度的区别是什么?是计算结果数据里小数点位数不一样吗?
回复 不支持

使用道具 举报

发表于 2014-12-3 16:14:31 | 显示全部楼层 来自 重庆
明白了,单精度是32位字节,双精度是64位字节。
回复 不支持

使用道具 举报

发表于 2017-9-12 13:33:45 | 显示全部楼层 来自 山东青岛
不知道dyna中的单双精度计算是不是也跟ABAQUS中的一样
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 19:36 , Processed in 0.062376 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表