fluent udf手册_FLUENT并行UDF案例

本文通过一个10m×10m二维平面域的案例,探讨FLUENT中并行计算UDF的使用。作者展示了串行UDF在并行计算下出现的非物理解问题,并通过修改UDF,利用DEFINE_ON_DEMAND宏解决了数据同步问题。在并行计算中,正确处理host与compute node间的数据传递对于减少计算误差至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正文共: 2618字 9图    预计阅读时间: 7分钟

1 前言 

    当计算网格数量巨大时,如果还用串行计算的话,可以把人耗死。此时用并行计算可以显著节省时间,笔者在实际应用中深有体会。同样一个案例(网格数量约200万),串行计算大约10秒钟迭代一次,而改用25核并行计算,约2秒钟迭代一次。其实在我看来,模拟计算一定程度上比的就是计算机性能。特别当遇到网格数量巨大,且物理模型复杂的计算案例,没有好的工作站或者服务器,可以说基本没办法承担工作。

    并行计算的的基本思想为:在并行计算时,FLUENT将原先的计算网格划分为若干个子区域,并将各个子区域分配给不同的计算单元执行计算工作,也叫计算节点(compute node),原先的计算网格也叫主节点(host),主节点和计算节点之间可以进行数据传递。host不存储网格数据,因此不能进行单元循环,在一些计算中可能会出现非物理解,比如分母为零。因此需要host与compute node之间的数据传递才可以进行计算。当在并行计算中采用UDF时,可能需要对程序进行适应性修改,比如对于那些需要进行全局求和、求最小值、求最大值或者需要对相邻计算节点数据进行计算的程序,官方归纳如下:

cb9d17557aee84e28bfa0a404b8b475c.png

    今天我们以DEFINE_ON_DEMAND这个宏为例做一些讲解,希望对大家有所帮助,我个人本身也在学习过程中,不能说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值