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

[建模专区] cyc与真实时间的关系???

[复制链接]
发表于 2011-4-12 19:27:32 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
请问在PFC2D中 cyc与真实时间的关系!! 也就是说,cyc了多少步像当与多少秒这样子??
发表于 2011-4-17 10:39:05 | 显示全部楼层 来自 大连理工大学
Simdroid开发平台
PFC3D模型都是用于模拟一个实际物理问题。对于一个PFC3D模型而言,都具有两个时间概念,即问题时间(problem-time)和计算机运行时间(computer runtime)。前者是实际物理时间,也就是所有时间步长的总和;后者是计算机模拟该问题所花的计算时间,这与时间步长的大小、计算的硬件性能等相关,时步越大、计算机性能越好,所花运行时间越短。
例如用PFC3D模拟一个5m高的自由落体运动,从运动开始到结束,问题时间( problem-time )约为1s。而对于计算机而言,其模拟自由落体运动必须分为若干个时间步长来计算,每个时步中必须进行查找接触、更新数据、绘图、保存数据等操作,因此计算机的运行时间(computer runtime)必然比问题时间更长。
我们常说DEM方法耗时太长,指的就是计算机的运行时间太长。对于一个实际物理问题,其问题时间由物理原则决定,模拟过程不能改变;而对于计算机运行时间则可以想方设法缩短,比如选择大小合适的时步、使用高性能计算机、并行计算等。
回复 不支持

使用道具 举报

发表于 2011-4-17 15:31:56 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。
急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:32:11 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。
急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:32:41 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:33:05 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:33:22 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:33:46 | 显示全部楼层 来自 辽宁沈阳
上面这位老兄的回复正确,但是如何设定时间呢?比如一个物体,给它施加一速度V=5m/s,持续时间为2s,绘制出箱体的位移——时间曲线,请高手写出命令代码。急等!万谢!
回复 不支持

使用道具 举报

发表于 2011-4-17 15:39:11 | 显示全部楼层 来自 辽宁沈阳
好像没说出来啊
回复 不支持

使用道具 举报

发表于 2011-4-17 15:39:51 | 显示全部楼层 来自 辽宁沈阳
好像没说出来啊
回复 不支持

使用道具 举报

发表于 2011-4-19 09:26:16 | 显示全部楼层 来自 北京
实际上就是 设定的时间步长乘以计算步数,就是计算的时间啦~但是计算的时间可能长可能短,这是根据计算机性能有关的,跟实际时间没关系。也就是说有可能计算机算了一个小时,但是最终模拟的状态可能是1S以后的
cyc 1   (第一次设定必须要运行至少一步才可以,如果之前已运行过则可不必)
set dt XXX
回复 不支持

使用道具 举报

发表于 2011-4-19 14:10:37 | 显示全部楼层 来自 大连理工大学
psval 解释的挺好的。我现在也刚开始学,也不太会用,见谅了!!
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-22 20:01:03 | 显示全部楼层 来自 黑龙江哈尔滨
已经解决!!
11楼的是正解!!
如果你的程序前面已经cyc了很多步!!这是程序所默认的时间已经不是0了!!
可以用 set time 0.0  这样的语句,让时间回零!! 然后 set dt XXX 和cyc xxx
如你想让程序运行的时间是真实时间10秒的话,可以用下列语句!!
set time 0.0
set dt 0.01(每个时间步为0.01秒)
cyc 1000
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-29 19:31 , Processed in 0.067896 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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