宏 API 更改 2020.2
在 Simcenter STAR-CCM+ 2020.2 中,用于定向网格化、材料属性、伴随流、多相流、固体应力、电化学、可视化和 Simcenter STAR-CCM+ In-cylinder 的宏 API 已更改。
定向网格:可能需要重新录制定向块源网格代码
由于改进了定向网格化与源表面的配合方式,含有 DirectedPatchSourceMesh.autopopulateFeatureEdges
命令的现有宏在某些情况下可能不起作用。在这种情况下,必须录制新的宏。
材料特性:对默认选择的材料属性方法的更改
在材料属性中,默认选择的方法现在由最近选择的物理模型确定。因此,在使用先前版本的 Simcenter STAR-CCM+ 中保存的宏生成的模拟文件中,默认材料属性方法可能与 Simcenter STAR-CCM+ 2020.2 有所不同。
运行旧宏时,检查材料属性的方法设置。
伴随
重命名场函数
随着伴随求解器的重构,场函数 CostFunction::CoordLagrangian_q
已重命名为 CostFunction::CoordSensitivity
,其中 CostFunction
是 .sim
文件中定义的任何成本函数的名称。更新宏中此场函数的所有实例。
对成本函数创建工作流程的更改
在 Simcenter STAR-CCM+ 2020.2 中,现在可以在伴随求解器中创建一种成本函数类型,即报告成本函数,然后为成本函数节点的报告属性选择一个(微分)报告。此项重新设计导致宏代码发生了以下更改:
-
所有特定成本函数都必须替换为报告成本函数,即
<X>CostFunction
变为ReportCostFunction
。以前版本 Simcenter STAR-CCM+ 2020.2 ForceCostFunction costFunction_0 = simulation.get(AdjointCostFunctionManager.class).createAdjointCostFunction(ForceCostFunction.class);
ReportCostFunction costFunction_0 = simulation.get(AdjointCostFunctionManager.class).createAdjointCostFunction(ReportCostFunction.class);
-
所有特定的
get
和set
成本函数方法都需要更改为getReport
和setReport
,即get<X>Report
变为getReport
且set<X>Report
变为setReport
。以前版本 Simcenter STAR-CCM+ 2020.2 ForceCostFunction costFunction_0 = ((ForceCostFunction) simulation.get(AdjointCostFunctionManager.class).getAdjointCostFunction("Force"));
ReportCostFunction costFunction_0 = ((ReportCostFunction) simulation.get(AdjointCostFunctionManager.class).getAdjointCostFunction("Force"));
ForceCostFunction.getForceReport()
ReportCostFunction.getReport()
costFunction_0.setForceReport(forceReport_0)
costFunction_0.setReport(forceReport_0)
-
新创建的成本函数的默认显示名称现在为报告,与关联的报告类型无关。如果要让显示名称反映报告类型(例如将力报告关联的成本函数的显示名称设为力),可通过添加以下命令来显式设置:
costFunction_0.setPresentationName("Force");
多相
欧拉激活宏代码的结尾
由于重命名了某些多相模型,通过宏来添加以及随后移除欧拉多相混合物模型的宏代码不再有效。要更新宏,可移除以下代码的实例:
EulerianMultiphaseMixtureModel eulerianMultiphaseMixtureModel_0 =
physicsContinuum_0.getModelManager().getModel(EulerianMultiphaseMixtureModel.class);
physicsContinuum_0.disableModel(eulerianMultiphaseMixtureModel_0);
对壁面润滑力和升力的更改
由于在 Simcenter STAR-CCM+ 2020.2 中引入了 Lubchenko 壁面润滑模型,宏代码已更改。
壁面润滑
以前版本 | Simcenter STAR-CCM+ 2020.2 |
---|---|
|
|
升力
从宏中移除以下代码:
((LiftCoefficientMethodManager) liftForceModel_0.getLiftCoefficientMethods()).getCoefficientCorrectionOption().setSelected(LiftCoefficientCorrectionOption.ON);
对创建相间相互作用的更改
在以前版本中,与被动标量相互作用相关的工作流程要求在同一拉格朗日相及其物理连续体之间创建多个相互作用,从而使这些连续体中的多个被动标量相互作用。此外,对于每个加权模型(即面积或体积),必须创建新的相互作用。
由于在 Simcenter STAR-CCM+ 2020.2 中创建相互作用的新工作流旨在避免创建重复的相互作用,即两个相之间存在多个相互作用(一般为连续体),因此被动标量相互作用对象已重构。以前的加权模型已重构为可以在同一相互作用中多次创建的方法,其中每个方法都在自己的一对被动标量上处理。此举有助于在这两个相的单个相互作用中包含被动标量和加权方法的任意组合。
此项重构已导致宏代码更改。
以前版本 | Simcenter STAR-CCM+ 2020.2 |
---|---|
|
|
|
PassiveScalarAreaWeightInteraction
和 PassiveScalarVolumeWeightInteraction
中的宏 API 及相关类未发生更改。
欧拉多相流 (EMP):入射碰撞质量通量相模型的变动
由于在混合多相流 (MMP) 模型中实现了入射碰撞质量通量,因此 EMP IncidentMassFluxImpingementModel
的 ImpingementEfficiencyProfile
的注册已从离散液相移至相间相互作用。
以前版本 | Simcenter STAR-CCM+ 2020.2 |
---|---|
|
|
固体应力:指定的温度模型不再需要初始条件
事实证明,对于指定的温度模型,使用初始条件是对温度分布的过度指定。在 Simcenter STAR-CCM+ 2020.2 中,为连续体或区域选择的温度分布现在也决定了初始条件。某些工作流程会受此更改影响,具体来说就是在数据映射器本身尚未初始化时使用 DataMapper
并且依赖指定(初始)值的工作流程。在这些情况下,可以在数据映射器未准备好查询时使用 alternateValue()
场函数来指定回退值。
同时,此模型的初始条件指定已移除。要更新宏代码,可移除此模型的初始条件实例,如以下示例所示,其中的选项已不再适用:
SpecifiedTemperatureProfile specifiedTemperatureProfileInitial_0 =
physicsContinuum_0.getInitialConditions().get(SpecifiedTemperatureProfile.class);
电化学:现在允许将电化学反应与表面反应配合使用
表面化学模型和电化学反应模型之间的不兼容问题现已解决。在以前的版本中,由于这些模型需要使用相同的“表面机制选项”,因此它们并不兼容。
在 Simcenter STAR-CCM+ 2020.2 中,电化学反应模型现在使用“电化学机制选项”,从而导致宏代码发生更改:
-
如果当前未在(不同连续体的)模拟中使用表面化学(因为以前模型不兼容),则必须替换标题:
以前版本 Simcenter STAR-CCM+ 2020.2 import star.reactions.SurfaceMechanismOption;
import star.reactions.ElectrochemistryMechanismOption;
-
引用
SurfaceMechanismOption
类的任何宏代码都必须更新,才能使用ElectrochemistryMechanismOption
类:以前版本 Simcenter STAR-CCM+ 2020.2 SurfaceMechanismOption smo = iface.getConditions().get(SurfaceMechanismOption.class); SurfaceMechanismOption smo2 = boundary.getConditions().get(SurfaceMechanismOption.class);
ElectrochemistryMechanismOption smo = iface.getConditions().get(ElectrochemistryMechanismOption.class); ElectrochemistryMechanismOption smo2 = boundary.getConditions().get(ElectrochemistryMechanismOption.class);
可视化:对默认显示器表示的更改
场景显示器的表示属性的默认选择现在是最新表面/体积。继续创建面网格或体网格时,包含此表示的显示器也将更新。此更改仅影响显示器的默认表示,绘图和报告不受影响。
此项修改已导致宏代码发生更改。LatestMeshProxyRepresentation
已从 star.meshing package
移至 star.common package
。如果已将整个路径包含在导入语句中,则更新宏。
以前版本 | Simcenter STAR-CCM+ 2020.2 |
---|---|
|
|
Simcenter STAR-CCM+ In-cylinder:对 PDF 表导入的更改
由于表标题发生了更改,Simcenter STAR-CCM+ In-cylinder 导入 PDF 表的方式发生了更改,进而导致用于此导入的宏代码也发生了更改。
以前版本 | Simcenter STAR-CCM+ 2020.2 |
---|---|
|
|