宏 API 更改 13.06
在 Simcenter STAR-CCM+ 13.06 中,针对停止条件、反应流体、欧拉多相流、电磁、电化学、设计管理器和协同仿真更改了宏 API。
停止条件:停止内迭代或外迭代之间的新选择
在以前发行版本中,可以使用监控器停止标准来同时停止非稳态模拟的内部和外部迭代。从 Simcenter STAR-CCM+ 13.06 开始,监视器停止条件只能停止内部迭代或外部迭代,但不能同时停止两者。以前发行版本的 Simcenter STAR-CCM+ 中保存的模拟文件,以及设置为同时停止内部和外部迭代的监控器停止标准,打开时会自动克隆现有的监控器停止标准。一个停止标准停止内部迭代,而另一个停止标准停止外部迭代。
但是,在任意宏中,您必须手动克隆监控器停止标准。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
反应流体
对颗粒反应的更改
已对颗粒反应模型进行了改进,包括与液相的反应,从而导致宏代码的更改。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
对反应通道的更改
由于重构,反应通道的宏代码已更改。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
|
|
欧拉多相
由于液膜碰撞模型造成的更改
由于其标准不同,新添加的 Caraghiaur 碰撞模型更适合于沉积在壁面上的液滴,因此名称为 InertialFilmImpingementModel
的 Java 类已更改为 IncidentMassFluxImpingementModel
。对现有的宏做出相应修改。
对流体停止的更改
“融化-凝固”模型中的流体停止已在用户界面中进行重构,从而导致宏代码的更改。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
更改了默认的相互作用长度尺度
第二区的默认相互作用长度尺度已更改,从而导致宏代码的更改。为了确保行为与以前版本的 Simcenter STAR-CCM+ 保持一致,请按如下示例所示更新您的宏。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
电磁:新的对称张量场函数
为导电率提供了新的对称张量场函数。在以前版本的 Simcenter STAR-CCM+ 中保存的模拟文件中,如果电动势模型在物理连续体中,张量分量场函数在 Simcenter STAR-CCM+ 13.06 中仍可正常使用。但是,在 Simcenter STAR-CCM+ 13.06 中创建的新模拟文件中,将无法选择该张量分量场函数。以下是宏代码的更改示例:
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
电化学:对多孔介质中电化学反应的更改
由于对多孔薄壁中电流有效建模的改进,从而导致宏代码发生了两种更改:
- 离子导电域的内部衍生已被替换。在您的宏代码中,删除包含
IonicallyConductiveDomainOption
的所有行。 -
某个设置的离子导电域现在由添加到反应的电子源确定。此更改会影响将电子添加到在 Simcenter STAR-CCM+ 13.06 之前录制的宏中的反应:
((ReactionComponentSubstance) reaction_1.getReactants().getReactant("e-"));
在 Simcenter STAR-CCM+ 13.06 中,应指定提供电子的连续体。对于以上代码示例,如果电子从名为 Fuel 的物理连续体中获得,则语句在当前版本中必须显示如下:
((ReactionComponentSubstance) reaction_1.getReactants().getReactant("e- (Fuel)"));
设计管理器:表导入的改进
在 Simcenter STAR-CCM+ 13.06 中,通过设计管理器可直接导入 .csv
文件,而不必指定每个值。此项改进导致宏代码更改。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
协同仿真
对场交换值的更改
场交换控制选项已被移动到用户界面中以保持一致性,从而导致宏代码的更改。
以前发行版本 | Simcenter STAR-CCM+ 13.06 |
---|---|
|
|
对初始化方法的更改
由于物理初始化流程的改进,已从协同仿真中删除某些初始化方法,从而导致宏代码的更改:
-
已导出的场已不再使用初始化方法“从物理值初始化”。在您的宏代码中,删除与以下示例类似的行:
scalarAuxiliaryExportSpecification_0.getCoSimFieldInitializationMethod().setSelected(CoSimFieldInitializationMethod.Type.INITIALIZE_FROM_PHYSICS);
-
已导入的场已不再使用初始化方法“使用导入的值”。在您的宏代码中,删除与以下示例类似的行:
scalarAuxiliaryImportSpecification_0.getCoSimFieldInitializationMethod().setSelected(CoSimFieldInitializationMethod.Type.USE_IMPORTED_VALUES);
对网格插值模板的更改
已对模板处理从源网格到目标网格场映射所使用的技术进行更改。目标位置选项设置不再位于执行场导出的模拟中,而是位于执行场导入的模拟中,从而导致宏代码的更改。
以下示例假设 sim1
正在执行附加场的导出,而 sim2
正在执行同一个场的导入:
-
在以前发行版本中,以下宏将被录制到
sim1
中:public class ExportChangeTargetStencil extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); CoSimulation coSimulation_0 = ((CoSimulation) simulation_0.get(CoSimulationManager.class).getObject("sim2")); CoSimulationZone coSimulationZone_0 = coSimulation_0.getCoSimulationZoneManager().getCoSimulationZone("Zone 1"); ScalarAuxiliaryExportSpecification scalarAuxiliaryExportSpecification_0 = ((ScalarAuxiliaryExportSpecification) coSimulationZone_0.getCoSimulationZoneConditions().get(ExportSpecificationManager.class).getObject("Scalar Auxiliary Field 1")); scalarAuxiliaryExportSpecification_0.getCoSimTargetLocationOption().setSelected(CoSimLocationOption.Type.VERTEX); } }
-
在 Simcenter STAR-CCM+ 13.06 中,以下宏将在
sim2
中录制:public class ImportChangeStencil extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); CoSimulation coSimulation_0 = ((CoSimulation) simulation_0.get(CoSimulationManager.class).getObject("sim1")); CoSimulationZone coSimulationZone_0 = coSimulation_0.getCoSimulationZoneManager().getCoSimulationZone("Zone 1"); ScalarAuxiliaryImportSpecification scalarAuxiliaryImportSpecification_0 = ((ScalarAuxiliaryImportSpecification) coSimulationZone_0.getCoSimulationZoneConditions().get(ImportSpecificationManager.class).getObject("Scalar Auxiliary Field 1")); scalarAuxiliaryImportSpecification_0.getCoSimLocationOption().setSelected(CoSimLocationOption.Type.VERTEX); } }