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

【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

[复制链接]
发表于 2004-8-3 10:59:01 | 显示全部楼层 |阅读模式 来自 北京理工大学
我的模型:几公斤球形TNT炸药(半径几厘米,位于半空)在一个长宽高各几十米的房间里爆炸,计算房间顶部的反射超压。由于要考虑冲击波的来回反射,计算时间为0.01秒,但DYTRAN程序运行到2000微秒左右因为计算时间步长突然减小而终止,请问大侠们,如何解决这个问题?
我的模型里面并没有结构呀,时间步长在计算过程中应该变化不大的。
发表于 2004-8-3 13:33:57 | 显示全部楼层 来自 江苏苏州

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

Simdroid开发平台
我未做过爆炸,以下建议仅供参考:
请确认是发生了结构上的大变形,如是,我建议增加一个最小失效步长的控制语句,及可解决。
 楼主| 发表于 2004-8-3 14:06:25 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

我的模型里没有结构,纯欧拉,我用PARAM MINSTEP将最小时间步长设置的已经非常小了。
真郁闷。
发表于 2004-8-4 10:51:15 | 显示全部楼层 来自 江苏苏州

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

应该用param,faildt,___.
 楼主| 发表于 2004-8-4 12:05:00 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

我的模型里只有炸药和空气,纯欧拉,怎么能用param,faildt,___呢?
发表于 2004-8-4 14:56:40 | 显示全部楼层 来自 江苏苏州

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

哪我就无能为力了。
发表于 2004-8-5 18:12:43 | 显示全部楼层 来自 江苏镇江

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

我做水下爆炸也遇到了同样的问题
还没解决
兄弟等马上公司人来培训我想问问他们
如果有结果我告诉你!
 楼主| 发表于 2004-8-6 08:59:12 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

多谢了,等你的好消息。
发表于 2004-8-8 14:34:00 | 显示全部楼层 来自 江苏苏州

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

VELMAX有用吗?
 楼主| 发表于 2004-8-10 09:01:19 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

请教Lcl008斑竹,设置VELMAX是否合理?如何解释这种做法呢?
发表于 2004-8-10 11:48:04 | 显示全部楼层 来自 江苏苏州

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

     这要看,各速度级别所占比例。合理决定最大值,对结果影响不大,又能提高运算速度。为何不能用?仅供参考。
 楼主| 发表于 2004-8-10 13:40:56 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

我用PARAM,VELMAX,0.7后(7000米/秒),确实能继续计算一段时间,但最后还是终止,输出的压力曲线在某个时间点处压力突然降到0,如何解决?
这是某单元的压力曲线

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2004-8-12 19:22:20 | 显示全部楼层 来自 陕西宝鸡

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

是不是偶拉网格太粗糙了
发表于 2004-8-20 15:26:50 | 显示全部楼层 来自 江苏南京

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

dytran定义的最小时间步长与网格最小尺寸有关,网格越小,时间步长就越小。可能是随着计算步数的增加,有的网格由于变形过大,已经变得非常小了,导致最小时间步长失效的缘故。
发表于 2004-8-21 10:17:36 | 显示全部楼层 来自 上海

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

mehere提出“计算时间步长突然减小,然后程序终止”的问题有两种可能:
根据dytran时间步长的计算方法:
t=s*l/(u+c)其中s是安全系数,默认值0.6666666……。l是最小单元长度。u是材料速度。c是材料中的声速。
因此材料速度和材料中的声速都有可能影响时间步长。
一般对于爆炸波传播的问题,声速影响更大些。所以只控制材料速度效果不是太好。
材料中的声速与材料密度和压力有关。可以想象在一定范围空间内随着爆炸的传播介质将随压力增大而密度增大,继而声速增大,最终导致时间步长减小。
最彻底解决这一问题的途径是采用适合的状态方程。材料的状态方程决定了材料密度压力之间的关系。但是dytran自带的状态方程很少,很难满足要求。可以考虑自编。
另外一个更简便的解决方法就是尽量缩短计算时间。这里说的时间实际上是计算步。因为dytran是求解瞬态问题的,显示积分。如果计算步太多本身的精度就成问题。可以考虑将问题分解,比如爆炸,冲击波的传播已有公式了,就不用算了,但是斜反射,马赫反射公式不好算,就用dytran也行。
总的来说,软件不能包算整个过程。我们的任务就是巧妙的分解问题使之适合数值计算,且有一定的精度。
 楼主| 发表于 2004-8-21 11:41:23 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

worker 分析的不错
我的计算时间很长的,因为要计算冲击波的来回反射,那怎么办?
发表于 2004-8-21 12:53:02 | 显示全部楼层 来自 上海

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

用计算站吧,呵呵:-)
不过如果你要长期做爆炸方面的计算工作,建议自编程序算。
因为通用软件规模大,考虑的问题多。而相对来说对于较专业的问题可能就不太深入了。另外对于爆炸这种军事色彩比较浓的专业来说好的计算方法是要保密的,属于禁运名单。
我编了一个计算爆炸冲击波传播反射的差分算法程序。计算结果很好且速度奇快!另外计算规模也比dytran大很多倍。
 楼主| 发表于 2004-8-21 14:59:18 | 显示全部楼层 来自 北京理工大学

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

佩服佩服,现有的通用商业软件在冲击波传播计算方面确实如你所说,计算结果跟经验公式和实验结果差别很大。明年我读书时得好好研究一下理论,准备动手自编程序。
你的程序可以做带有复杂边界的问题吗?
发表于 2004-8-21 16:38:49 | 显示全部楼层 来自 上海

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

不用客气你肯定早就发现了。你有试验数据吗?有的话咱可以合作啊。
现在边界只有完全反射,无反射两种。因为是差分,网格比较单一。
不过一般的情况也就差不多够用了。
要编程序最好先对现有的计算爆炸力学程序的算法和大概流程有个了解。
建议先看看
“恽寿榕, 等. 爆炸力学计算方法[M ]. 北京: 北京理工大学出版社, 1995”
发表于 2004-8-22 17:06:43 | 显示全部楼层 来自 江苏镇江

回复: 【讨论】计算时间步长突然减小,然后程序终止,怎么解决?

Lcl008斑竹说的有道理!
VELMAX用于设置材料最大声速!
具体你可以看帮助!
不过还没试过
我下周回上海试过告诉你!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 23:00 , Processed in 0.054667 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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