01
算法流水线机制
1.1 算法流水线的基础支撑
在MCLink的算法流水线插件的概念体系中,算法是个泛化的概念。即一切独立的程序逻辑都可以成为算法,而算法与算法之间的关系则可使用类似流水线的机制进行联接。算法既可以小到加减乘除基本运算,也可以大到一个解算器的服务化封装。可以认为一切通过给定输入,并通过逻辑处理给出输入的计算机程序都可作为MCLink中的算法。
MCLink通过将多个算法插件串联,形成流水线,前提条件是每个算法插件都是独立的、参数化的、符合MCLink统一规则的。MCLink可以将集成的算法执行逻辑、外部文件加载过程、数据的生成过程,都进行统一规则的参数化。
1.2 算法流水线数据关键字
MCLink的算法流水线通过一个全局唯一的关键字区分不同的算法数据类型,以便流水线分支进行相应判定。接口数据类型一致的算法插件都可进行连接并形成流水线,流水线可认为是数据被不同的算法节点进行不断加工的过程。
02
流水线构建工具
2.1 插件算法库
MCLink预置了大量插件,每个插件又包含了多个算法形成了插件算法库,用户也可以集成自己的插件,编写自己的特定算法,形成插件相应的算法库。插件的建立和算法模型的建立都有一套完整的规范和相应的辅助工具进行支持。
与CAD建模相关的算法库,示例了创建并执行一个简单的圆柱和立方体布尔求和的运算过程:
2.2 仿真案例
下图是一个有限元结构分析案例,通过不同的算法节点实现了数模构建、网格生成、材料设置、边界条件和初始条件设定、仿真求解、后处理和可视化全过程。
对于任意一个插件算法节点,均能进行界面化编辑,进而进行流水线建模:如图中将原STEP文件插件替换为我们自己创建的圆柱模型节点。
结 语
以上内容常应用于:
参数化建模、流程建模、数据转换、数据处理、仿真计算、数据可视化等等领域。
只要您了解MCL的算法流水线机制,您手中的数据就将变得更灵活。
详见往期链接《MCLink参数化建模》、《在MCLink中使用Paraview》、《在MCLink中使用Mirror中间件集成=高效+稳定》。