如果一定要在结构开源软件里做个排名的话,第一当属Code_ASTER。ASTER的法语全名表示结构与热动力学研究分析,由EDF法国电力公司在1989年开始开发和维护。
之所以说排名第一,是因为CodeAster是为数不多应用在实际工程中的开源工具。提供3D热分析,线性、非线性静力,动力,疲劳,断裂,多物理场分析,应用于机械,压力容器,土木等岩土领域。同时提供了多达2000多的应用案例,其计算结果做过Benchmark,计算功能上没的说,毫不夸张的讲,Code_ASTER是唯一一个能和Abaqus,ANSYS商业软件对标的开源结构求解器。
当然,缺点也有,首先大部分代码FORTRAN/PYTHON编写,其次文档注释相当部分是法语,然后前后处理器功能不够,相比真正傻瓜式的商业软件,还是有一定差距。
CodeAster的源码接近200万行,即使把代码通读一遍也需要以年为单位来算,从软件工程的角度看,这也是为什么很少有用Code_ASTER做求解器的商业开发,因为代码的维护成本已经远远高于开发成本。基础和框架性的设计无法改变,如果要加新的功能和做结构性改动,代价会非常高。
从侧面也说明架构师在做软件架构设计的时候一定要有前瞻性和对整体的布局。尤其对于需要长年开发维护的工业仿真软件,3-5年做一次大的重构几乎是不可避免的。
声明:原创文章,欢迎留言与我讨论,如需转载留言