分享

说说工业软件研发的“难点”(2)

 多物理场仿真 2023-06-08 发布于上海

说说工业软件研发的“难点”(1)

接着上次继续聊
21. 软件架构中的数据结构设计。在工业设计仿真软件中,涉及到了业务模型,几何模型,渲染模型以及网格模型,如何设计好的数据结构将这些数据关联,并方便管理是所有软件架构之初就需要详细设计的

22. 程序中的undo/redo功能,翻遍资料,找不到一篇详细介绍工业设计仿真软件中undo/redo机制的文章。后续有空可以详细介绍下

23. 如何避免“s山”代码。怎样防止代码变成祖传“s山”?(点击链接查看)

24. 驱动建模和参数建模技术。这个是三维几何CAD相关的功能

25. 使用迭代法求解线性方程组不收敛。这个在CFD计算时出现比较多,结构和电磁,热等其它多物理场比较少见。另外在一些特殊的结构,比如微观TCAD,TSV结构使用有限元方法也会出现

26. 数值精度问题。几何建模,网格生成以及求解器,需要高精度计算,数值扰动在算法中造成的问题很多,而且还很难调试

27. 自动化测试。前面讲过回归测试,其主要方法就是自动化测试。自动化测试的核心是利用脚本,所以需要开发脚本系统,好的脚本系统包含了GUI的自动化测试

28. H单元混合单元形函数。高阶单元中如果使用混合单元,进一步增加了刚度矩阵的生成难度

29. 调试大中规模模型。大中规模的模型一旦出错,调试是非常困难的,往往需要开发一些独立的功能强大的调试工具

30. 并行计算中的切分问题。这个在矩阵计算,模型分块中广泛存在。切分规模和策略,切分处几何,计算数据同步,决定并行的效率

31. 新技术的引入。新工具,新技术日新月异,如何保持技术敏感度,在项目开始前做一些前瞻性的预研和设计,对产品做一些战略规划也很重要

32. 如何在一个庞大的老工程上加新功能。不管是开源还是商业软件,都是一件非常棘手的工作。大部分成熟的工业设计仿真软件都可以认为是庞大的老工程

33. 对于基础组件,如何在第三方商业库和自研之间做选择和平衡,具体情况具体处理

34. 多平台支持。Linux平台版本比较多,基础库和显卡驱动都不太一样,很容易出问题,维护成本也比较高

35. 异构开发平台选择。现在异构平台开发工具很多,如果缺乏全面认识,在技术选型上很容易走弯路

36. 如何将优化算法应用到实际工程和项目。这个非常依赖工程经验,不是算法可以解决的问题

37. 经验丰富的研发人员匮乏。这是个老问题,也希望能从各个层面重视人才,关注人才,切实提高技术研发人员的待遇。可笑的“人才培养”(点击链接查看)

一直以来讲的是:工业软件研发是系统性的工程问题,而非单纯的技术问题,亦或算法问题。即包含了软件工程,数值计算,数学物理,工业应用,底层算法,研发流程等一系列系统知识和工程。

事实上,纯粹的技术问题都是比较透明的,也就是说只要投入时间精力基本能解决,真正需要钻研的核心术占比很少,实际中很多问题恰恰是卡在非技术问题上。所以在讲“难点”的时候,也是针对整个软件研发中,比较耗时耗力的问题,后续有时间还会在广度和深度上继续聊聊相关话题。


公众号纸质版购买时间超过5天,还没收到的,请在购买页面咨询


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多