Engee 文档
Notebook

解决集成工程师和标识的问题

我们演示了如何组织在两个系统中同时计算的计算任务:Engee动态建模平台和LOGOS软件包。

LOGOS是一款用于高精度工程计算(CAE–system)的国产软件包,可模拟产品生命周期各个阶段的物理过程。 它包括用于计算强度问题,流体力学,热和传质以及其他任务的模块,允许多物理建模,优化和集成第三方应用程序,以解决航空,机械工程,能源和其他行业 [1]

Engee.集成-Engee平台的子系统;消除了访问操作系统低级接口的问题,允许Engee连接到外部设备,接口,协议和软件环境。 [2]

logos_test_vid.gif

工程师准备工作

我们将计算"泰勒杆"问题[3,4]-确定材料在高速变形过程中的屈服强度。 需要在两个环境中进行Cosimulation,以便能够在旅途中更改材料的参数(Engee中的计算),更新FEM模型的属性(LOGOS)并将数据接收回Engee。

让我们打开Engee模型,其矢量输入和输出信号与徽标中的接口规范相匹配。

In [ ]:
cd(@__DIR__)
engee.open( "example_LOGOS.engee" )
image.png

运行在Engee平台上的模型与运行在用户本地资源上的模型的组合使用Engee子系统进行。整合。

要开始使用子系统,您需要安装Engee-Devica-Manager支持包和客户端程序。 如果支持包已经安装,你只需要运行它。

In [ ]:
# 恩吉。包裹。install("Engee-Device-Manager")#在第一次启动之前,需要安装软件包
engee.package.start("Engee-Device-Manager")

调用命令时 engee.package.install("Engee-Device-Manager") 在Engee命令行中,用户有机会下载一个小程序。 engee-device-manager 对于Windows或Linux,它将在本地计算机**(LOGOS软件包正在其上运行)和云资源(计算Engee模型)之间进行通信**。

剩下的就是启动模型。 之后,Engee子系统。集成将尝试打开LOGOS软件包的通道

In [ ]:
engee.run("example_LOGOS")

在此期间,让我们看看如何在LOGOS端设置计算任务。

在LOGOS中准备任务

LOGOS软件包的配置需要对示例的设置进行一次修改,因为我们选择了培训任务。 taylor (泰勒的杆)。

我们将最终确定"回调"函数(用户定义函数,UDF),该函数重新计算某个变量的值。 erosion. 在这些时刻,LOGOS求解器将接收来自Engee的新变量值,并发送有限元计算的输出值以关闭反馈并在图形上绘制。

image.png

在编辑用户函数的窗口中,我们将对函数进行更改 erosion_user:

image.png

新功能列在本文随附的文件夹中,称为 example_erosion_cosimulate.py.

其目的是在指定的时间间隔检查与Engee的通信信道中的新数据,并将计算的数据发送到该信道。

LOGOS求解器以自己的速度执行计算步骤,它们可以具有可变的大小。 仿真脚本依赖于来自Engee的信号(以Engee中设置的采样率来更新任务参数)。

因此,重要的是Engee中模型的采样率大于LOGOS中计算模型的最大允许步骤。

通过Engee启动cosimulation。整合

设置完成后,您可以按以下顺序运行模型:

  1. 在Engee中运行计算并等待邀请engee-device-manager在徽标中运行计算
  2. 在徽标中运行计算

之后,计算将并行运行,计算任务将交换结果。

让我们仔细看看每个阶段。:

如果两个系统都配置正确,我们将得到以下结果,表明联合计算已成功启动。 在Engee方面,可以实时观察计算时间表。:

image.png

计算完成后,就可以启动LOGOS端的后处理器,研究计算的细节。:

image.png

结论

Cosimulation是启动多个计算平台的一种模式,其中它们以足够的频率交换计算结果,以便可以假设平台的计算是准同时进行的。

我们已经展示了LOGOS软件包中有限元强度问题的解决方案如何用在Engee中计算的算法和模型进行补充。