如何为每个参数案例自动执行当前数据集
在这篇博文中,我们将探讨如何使用 Ansys Maxwell 中的自定义函数自动为电机仿真提供不同的电流激励数据集。
默认情况下,当电流或电压源在 Maxwell 中定义为 AC 表达式时,求解器会生成纯正弦波形。然而,实际应用(例如评估电动机或变压器的性能)通常需要在激励信号中包含谐波成分。通常,这意味着要手动逐个仿真每个数据集,这可能非常耗时且容易出错,尤其是在参数研究或优化循环中。
为了简化这一过程,我们将引入一个简单的功能,允许您自动将不同的电流或电压波形注入到您的设计中。这使得跨数据集运行批量仿真成为可能,用于参数扫描、优化研究甚至多物理场工作流程——只需单击一下即可完成。
将数据集导入 Ansys Maxwell
第一步是导入将在仿真中使用的当前激励数据集。在本例中,我们将使用三组电流波形,三相 PMSM(永磁同步电机)的每个相位一组。
作为参考,您可以在此处下载示例数据集文件:Sampledatasets.zip
要将数据集插入 Ansys Maxwell,请执行以下步骤:
-
打开 Ansys Electronics Desktop 并导航到您的项目。
-
在左上角,单击 Maxwell 2D(或为您的项目选择相关的设计类型)。
-
从下面显示的下拉菜单中,选择 Design Datasets...。
这将打开数据集编辑器,您可以在其中添加、编辑和管理将驱动仿真的波形数据。值得注意的是,Ansys Electronics 支持使用 .tab 文件进行数据读取。您可以通过单击 Import... 。
为所选参数调用数据集的函数
要在仿真期间动态使用导入的数据集,您需要创建一个自定义函数,该函数根据指定的参数(例如电机速度、扭矩或任何设计变量)提取适当的数据集。
例如,如果要为每个电机速度应用不同的电流激励波形,可以使用以下示例函数结构:
if(Speed_mech == 1000, pwl_periodic(PhaseA1, time), if(Speed_mech == 2000, pwl_periodic(PhaseA2, time), if(Speed_mech == 3000, pwl_periodic(PhaseA3, time), 0)))
在此功能中,名为 speed_mech 的参数动态控制电动机的转速,允许在每个工作点应用不同的电流波形。
要在 Ansys Maxwell 中正确调用数据集,该函数必须使用 pwl_periodic 表达式,该表达式允许使用导入的数据集进行基于时间的波形定义。
使用扫描分析验证自动化
要确认数据集自动化是否正常运行,您可以运行参数化扫描分析。
在此示例中,速度参数从 1000 RPM 扫描到 8000 RPM,步长为 2000 RPM。这允许仿真使用前面定义的函数为每个速度值自动选择适当的电流激励数据集。
上图显示了每个模拟点的一个电流周期。如您所见,当速度发生变化时,会自动拉取并应用相应的数据集,证明函数驱动的波形选择正在按预期工作。
潜在用途
电动机的扭矩、扭矩脉动、效率等取决于施加的电流波形。以电动机为例,与纯正弦波形相比,谐波电流激励观察到以下变化:
1. 磁芯损耗 = 由于电流波形中的额外谐波,定子和转子叠片中的交流磁芯损耗高出 28%。
2. 转矩脉动 = 尽管由于RMS值相等,平均转矩保持不变,但与纯正弦波形相比,转矩脉动增加了12.5%。
除了上述结果之外,这种自动化还可用于通过与 Ansys Fluent 耦合来分析各种激励下的热性能差异,以及与 Ansys Mechanical 耦合来评估噪声、振动和声振粗糙度 (NVH) 性能差异。