论文部分内容阅读
在实际工农业生产中,广泛存在着的散粒物料,例如农业生产中的大豆颗粒、玉米颗粒、小麦颗粒、化肥颗粒等;建筑材料中的土壤颗粒、岩石颗粒、混凝土颗粒等;医疗领域中的药品颗粒等。这些颗粒在存在形式上往往不是单一或极少数存在的,而是以十分庞大的数量存在于我们的现实世界中,与我们的生产生活息息相关。对这些颗粒与其他介质的力学分析和运动形态进行研究通常采用离散元法,计算每个颗粒的运动形态,最终模拟整个颗粒系统的运动形态。对于物体的运动形式,有平动、转动及平动转动的组合运动,这些运动都是一种简单运动形式,而现实世界中存在更多的是一种不能用简单的公式表示的复杂运动,对这些具有复杂运动方式的物体或者机械部件进行深入研究,有助于我们更好的理解现实世界。这些复杂运动不能与简单的平动或者转动一样,利用简单的物理运动规则和数学公式进行分析,而是将这些具有复杂运动方式的机械部件抽象成一个多刚体系统,利用多刚体运动学原理,建立多刚体系统运动方程,通过求解多刚体系统运动方程得到每一时步刚体位置、速度、加速度等运动信息,以此分析系统中各刚体的运动形式。课题组所研制的基于DEM和MBK耦合软件,实现了三维离散元法与多刚体运动学的耦合计算。但是前期为了计算便捷,只实现了基于球颗粒的仿真计算,这样操作的后果是软件实用价值低,脱离农业生产实际,后期农业机械部件的设计上存在很大的误差,为了更接近生产实际,需要在颗粒种类上进行进一步的丰富,以非球颗粒如椭球、多球和超球等为基础,实现离散元法和多刚体运动学方法的耦合是十分必要的。实际农业中筛分等过程所涉及到的颗粒数目是极其庞大的,而利用计算机技术对农业生产过程进行模拟仿真时,若实现大规模颗粒数量的计算,则会导致计算时间过长,计算性能偏低,在软件功能已经实现的前提下,提高计算性能是当前软件开发过程中的重中之重,而多核处理器的出现为解决这一问题提供了一种比较新的方法,利用多核处理器的硬件条件,对应用程序实现并行化处理是提高计算速度和性能的主要手段。此外,软件开发过程中,同一功能的多次实现所带来的重复工作是十分普遍的,同时也造成了许多人为的未知错误,浪费了大量的人力物力资源,对软件的后期维护也是十分繁琐的,而动态链接库技术可以实现资源的共享,多个应用程序可以同时加载使用同一个动态链接库,实现不同功能模块的独立开发,减少了软件开发的工作量,避免了人为的未知错误,提高了软件的质量。耦合软件实现球颗粒的模拟仿真后,仅仅通过工作过程的播放来评价一个机械部件的性能是没有说服力的,需要通过不同的分析标准,例如孔隙率、颗粒流量、筛分效率等统计量的定量分析,因此,在软件中添加性能分析模块是必要的,通过性能分析的结果,评定当前机械部件的设计是否合理,工作性能是否优良。本文介绍了离散元法的基本思想理论,介绍多刚体运动学原理和求解过程,在球颗粒的基础上,详细探讨了基于非球颗粒的离散元法与多刚体运动学方法耦合的基本理论并给出具体实现方法,针对多刚体运动学计算过程提出多核多线程并发计算的并行化算法,简单介绍了OpenMP标准库的工作原理及配置方法,最后给出多刚体运动学计算过程并行算法的具体实现过程。介绍了动态链接库的创建方法和加载方法,实现了多刚体运动学计算过程和离散元法与多刚体运动学方法耦合计算过程的模块化设计。在提高计算性能和计算速度方面,还实现了应用软件由32位运算平台向64位运算平台的移植。最后,针对球颗粒筛分过程,设计添加了筛分统计分析模块,对标识机械部件筛分性能、机械部件与颗粒接触碰撞等性能进行统计分析,评定机械部件是否符合实际农业生产的需要。为了验证对软件的改进研究是否合理,对所有改进的功能和重新添加的功能模块进行测试和实例验证,测试结果表明,改进后的软件可以实现基于非球颗粒的离散元法与多刚体运动学方法的耦合功能,与球颗粒相比更贴近实际。基于动态链接库技术对多刚体运动学计算过程和离散元法与多刚体运动学方法耦合计算过程进行模块化设计后,可以实现预定功能且不影响软件中其他模块的使用和修改,保证了计算效果并提高了软件灵活性和代码的封装性,当计算颗粒达到一定数目后,计算速度有了明显提升。多刚体运动学计算过程进行并行化处理后,计算速度和CPU利用率与传统串行程序相比有了一定程度的提高。此外,耦合软件由32位运算平台移植到64位运算平台后,提高了计算精度和计算性能,实现了计算机资源的充分利用。此外,筛分统计模块能够实现不同统计量的统计分析,将测试结果与仿真过程进行比对,基本符合仿真要求,根据分析结果评定当前机械部件的筛分性能。