找回密码
 注册
查看: 2678|回复: 10

有没有快速迭代的办法

[复制链接]
发表于 2010-11-23 15:28:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我做瞬态计算,发现步长0.001秒,每步迭代10次,残差状况还不错(发现步长0.002秒,每步迭代10次都不好),但我想计算1小时的温度变化情况,这样算下来要有3600万次迭代,8核的机器可能要算120天,这是不能忍受的,有没有快速迭代的办法,谢
发表于 2010-11-24 08:30:19 | 显示全部楼层
如果真如楼主所言这么慢,每秒只能算3.5次的话,想加快速度,是否可用下面的笨办法:
1,用1ms步长算10s,耗时约2900s,不到1小时;
2,以1的结果为初始条件,继续用10ms步长算100s,耗时约2900s,不到1小时;
3,以2的结果为初始条件,继续用0.1s步长算500s,耗时约1500s,不到0.5小时;
4,以3的结果为初始条件,继续用1s步长算3000s,耗时约900s,不到0.3小时;
总计不到3个小时,1个上午可完成计算。
考虑到瞬态震荡幅度一般是按指数曲线衰减,上面的做法应该具有足够的精度,只是太麻烦。

[ 本帖最后由 uesoft 于 2010-11-24 08:37 编辑 ]
发表于 2010-11-24 09:11:18 | 显示全部楼层
不知道楼主的模型,多少网格,如果是百万以上的网格,可以做一下FMG初始化以及REORDER操作,收敛所需步数会减少,计算速度则会提高。
发表于 2010-11-24 09:40:32 | 显示全部楼层

回复 1# yangyu96 的帖子

CFD模拟1小时,对于大部分应用来说,是选错了工具。
更主要的是LZ没有时间的量级分析。这样的仿真,有点像瞎猫,希望正好能够逮着一死耗子。
 楼主| 发表于 2010-11-24 09:47:58 | 显示全部楼层
2,以1的结果为初始条件,继续用10ms步长算100s,耗时约2900s,不到1小时;
实际中耗时约29000s,8小时
 楼主| 发表于 2010-11-24 09:49:39 | 显示全部楼层
时间尺度是0.3秒,但你以0.03秒为步长肯定是不收敛的
 楼主| 发表于 2010-11-24 09:51:53 | 显示全部楼层
网格数20多万
 楼主| 发表于 2010-11-24 10:08:29 | 显示全部楼层
我模拟蓄热状态,过程差不多1小时,斑主有什么好办法
发表于 2010-11-24 10:25:28 | 显示全部楼层

回复 8# yangyu96 的帖子

用CFD做非定常有两个主要限制:太快的,和太慢的过程都不行。太快的过程,精度不够,太慢的过程精度和时间上都不理想。只有不很快,有不太慢的才行。如激波的移动,动静叶片的相互作用等。对于你的问题,那一段适合CFD,这是你首先要解答的问题。
 楼主| 发表于 2010-11-24 12:23:43 | 显示全部楼层

回复 通流 的帖子

那时间小于多少合适,谢
发表于 2010-11-30 11:01:51 | 显示全部楼层
原帖由 浪子轻狂 于 2010-11-24 01:11 发表
不知道楼主的模型,多少网格,如果是百万以上的网格,可以做一下FMG初始化以及REORDER操作,收敛所需步数会减少,计算速度则会提高。

请问FMG初始化以及REORDER操作是什么意思?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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