宏 API 更改 2510
本章节包含自 Simcenter STAR-CCM+ 之前版本以来对宏 API 所做的更改。
计划终止体形状节点宏 (2602)
体形状已从 Simcenter STAR-CCM+ 2410 的用户界面中移除,因为此功能已在部件中提供。尽管这些对象在某些情况下仍可在宏代码中起作用,但已计划从版本 2602 中完全移除它们。
要转换形状部件,使用 SimulationPartManager.class 而不是 VolumeShape.class。下面是创建和转换体形状(以前的发行版)和形状部件(当前发行版)的宏代码示例:
| 以前版本 | 当前版本 |
|---|---|
|
|
对于反应流模拟中的点火器,无法再使用体形状部件。VolumeShape.class 必须替换为 SimpleShapePart.class。
| 以前版本 | 当前版本 |
|---|---|
|
|
|
|
|
|
|
|
网格化
- 计划终止初始化网格功能
- 因为 2302 版本中移除了基于区域网格化,宏代码中的“初始化网格化”命令自版本 2406 起已弃用,并计划从以后的某个版本中移除。要更新宏,移除以下代码的实例:
meshPipelineController_0.initializeMeshPipeline(); - 核心网格优化器自动化
- 核心网格优化器已完全自动化,当前版本的 UI 中无用户设置。
- 引入旋转以使表面网格变形
- 使表面网格变形操作已得到增强,可支持使用旋转参数进行变形。此项改进导致宏代码更改。
以前发行版本 当前版本 Units units_0 = ((Units) simulation_0.getUnitsManager().getObject("m")); surfaceMorphOperation_0.getTranslateVector().setCoordinate(units_0, units_0, units_0, new DoubleVector(new double[] {1.0, 0.0, 0.0}));surfaceMorphOperation_0.setParametricMode(SurfaceMorphParametricMode.TRANSLATE); TranslationControl translationControl_0 = ((TranslationControl) surfaceMorphOperation_0.getTransforms().getObject("Translate")); Units units_0 = ((Units) simulation_0.getUnitsManager().getObject("m")); translationControl_0.getTranslationVector().setCoordinate(units_0, units_0, units_0, new DoubleVector(new double[] {1.0, 0.0, 0.0}));surfaceMorphOperation_0.setCoordinateSystem(cartesianCoordinateSystem_0);surfaceMorphOperation_0.setParametricMode(SurfaceMorphParametricMode.TRANSLATE); TranslationControl translationControl_0 = ((TranslationControl) surfaceMorphOperation_0.getTransforms().getObject("Translate")); translationControl_0.setCoordinateSystem(cartesionCoordinateSystem_0);
材料属性:弃用各向异性材料属性指定方法
材料属性指定方法各向异性和各向异性(原有)从 Simcenter STAR-CCM+ 2210 开始弃用,并已从当前版本中移除。有关这些方法和计划替换的详细信息,请参见 2510 发行说明“重要说明”章节中的“材料属性”。
在先前版本中使用这些已弃用方法保存的任何模拟文件都将在当前版本中恢复使用常数方法,并显示一条警告消息。系统不会自动提供从已弃用方法到新各向异性方法的映射。
因此,使用下列出已弃用方法的任何宏在当前版本中都不起作用:
AnisotropicElectricalConductivityMethodAnisotropicPermeabilityMethodAnisotropicPermittivityMethodFullTensorLegacyThermalConductivityMethodFullTensorElectricalConductivityMethodWithValuesFullTensorPermeabilityMethodWithValuesFullTensorPermittivityMethodWithValuesFullTensorThermalConductivityMethodWithValues
推荐的做法是使用任意新的对称各向异性方法:
AnisotropicElectricalConductivityMethodWithValuesAnisotropicPermeabilityMethodWithValuesAnisotropicPermittivityMethodWithValuesAnisotropicThermalConductivityMethodWithValues
气动声学:停止使用声学抑制区模型
仅通过宏访问的声学抑制区模型不会显示在 Simcenter STAR-CCM+ UI 中,已移除。请改用海绵层模型。
要更新宏,确保移除包含字符串 BufferZone、AcousticsSuppressionOption 或 AcousticSuppressionZone 的指令。
要使用海绵层模型,按如下所示替换字符串:
| 以前版本 | 当前版本 |
|---|---|
|
|
多相
- 停止使用升力校正的关联曳力选项
- 升力校正的关联曳力选项从 Simcenter STAR-CCM+ 2402 开始弃用,并已从当前版本中移除。因此,
DragCorrelatedLiftCoefficientCorrectionMethod已从当前版本的宏代码中移除。 - 对广义相替换模型的更改
- 随着当前版本中 VOF 相替换的改进,用于选择相替换模型和调整相替换体积分数限值的宏代码已更改。
以前版本 当前版本 import java.util.*; import star.common.; import star.base.neo.; import star.vof.*; public class phase_replacement_model_selection_old extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); PhysicsContinuum physicsContinuum_0 = ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); MultiPhaseInteractionModel multiPhaseInteractionModel_0 = physicsContinuum_0.getModelManager().getModel(MultiPhaseInteractionModel.class); PhaseInteraction phaseInteraction_0 = ((PhaseInteraction) multiPhaseInteractionModel_0.getPhaseInteractionManager().getPhaseInteraction("Phase Interaction 1")); phaseInteraction_0.enable(VofPhaseReplacementModel.class); VofPhaseReplacementModel vofPhaseReplacementModel_0 = phaseInteraction_0.getModelManager().getModel(VofPhaseReplacementModel.class); PhaseReplacementVolumeFractionLimitProfile phaseReplacementVolumeFractionLimitProfile_0 = ((PhaseReplacementVolumeFractionLimitProfile) vofPhaseReplacementModel_0.getPhaseReplacementVolumeFractionLimitProfile()); Units units_0 = ((Units) simulation_0.getUnitsManager().getObject("")); phaseReplacementVolumeFractionLimitProfile_0.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValueAndUnits(1.0, units_0); } }import java.util.*; import star.common.; import star.base.neo.; import star.mixturemultiphase.*; public class phase_replacement_model_selection_new extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); PhysicsContinuum physicsContinuum_0 = ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); MultiPhaseInteractionModel multiPhaseInteractionModel_0 = physicsContinuum_0.getModelManager().getModel(MultiPhaseInteractionModel.class); PhaseInteraction phaseInteraction_0 = ((PhaseInteraction) multiPhaseInteractionModel_0.getPhaseInteractionManager().getPhaseInteraction("Phase Replacement")); phaseInteraction_0.enable(MmpPhaseReplacementModel.class); MmpPhaseReplacementModel mmpPhaseReplacementModel_1 = phaseInteraction_0.getModelManager().getModel(MmpPhaseReplacementModel.class); PhaseReplacementVolumeFractionLimitProfile phaseReplacementVolumeFractionLimitProfile_0 = ((PhaseReplacementVolumeFractionLimitProfile) mmpPhaseReplacementModel_1.getPhaseReplacementVolumeFractionLimitProfile()); Units units_0 = ((Units) simulation_0.getUnitsManager().getObject("")); phaseReplacementVolumeFractionLimitProfile_0.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValueAndUnits(1.0, units_0); } }
DEM:指定 DEM 多相相互作用的工作流程更改
在 DEM 相间相互作用模型上下文(例如吸收或液体成分传递)中通过组分映射模型对连接属性(即传递组分映射)进行的修改已更改为通过单个相对执行修改。
这仅影响包括(液体)组分质量传递的 DEM 相间相互作用。
以下示例适用于名为片剂 <-> 片剂的单独相对:
| 以前版本 | 当前版本 |
|---|---|
|
|
欧拉多相流 (EMP)
- 对单组分晶体生长模型消息的更改
- 单组分晶体生长模型的 Simcenter STAR-CCM+ 工作区消息功能已改进,导致宏代码发生更改。要更新宏:
- 将实例
singleComponentCrystalGrowthModel_0.setTargetSolventComponent(liquidComponent_0);更改为
singleComponentCrystalGrowthModel_0.setTargetSoluteComponent(liquidComponent_0); - 将实例
singleComponentCrystalGrowthFromMeltModel_0.setTargetSolventComponent(liquidComponent_0);更改为
singleComponentCrystalGrowthFromMeltModel_0.setTargetSoluteComponent(liquidComponent_0);
- 将实例
- 离散颗粒聚结重命名为聚并
- 在离散求积 S-Gamma 和 AMUSIG 中,聚合颗粒的相应术语已从“聚结”更改为“聚并”。
拉格朗日多相流 (LMP)
- 旋转相关模型的更改
- 在当前版本中,与颗粒旋转相关的某些模型和变量已从 DEM 传递到 LMP,导致宏代码发生更改。具体而言,要更新宏,则搜索以下字符串的实例并更新它们,如下表中所示。
以前版本 当前版本 star.lagrangian.dem.AngularVelocityProfilestar.lagrangian.AngularVelocityProfilestar.lagrangian.dem.DragTorqueModelstar.lagrangian.DragTorqueModelstar.lagrangian.dem.FunctionRotationalDragCoefficientMethodstar.lagrangian.FunctionRotationalDragCoefficientMethodstar.lagrangian.dem.FunctionSpinLiftCoefficientMethodstar.lagrangian.FunctionSpinLiftCoefficientMethodstar.lagrangian.dem.InjectorAngularVelocitystar.lagrangian.InjectorAngularVelocitystar.lagrangian.dem.InjectorAngularVelocityMagnitudestar.lagrangian.InjectorAngularVelocityMagnitudestar.lagrangian.dem.InjectorAngularVelocityOptionstar.lagrangian.InjectorAngularVelocityOptionstar.lagrangian.dem.ParticleSpinLiftCoefficientMethodstar.lagrangian.ParticleSpinLiftCoefficientMethodstar.lagrangian.dem.ParticleSpinLiftCoefficientMethodEditorstar.lagrangian.ParticleSpinLiftCoefficientMethodEditorstar.lagrangian.dem.ParticleSpinLiftCoefficientMethodManagerstar.lagrangian.ParticleSpinLiftCoefficientMethodManagerstar.lagrangian.dem.ParticleSpinLiftForceModelstar.lagrangian.ParticleSpinLiftForceModelstar.lagrangian.dem.RotationalDragCoefficientMethodstar.lagrangian.RotationalDragCoefficientMethodstar.lagrangian.dem.RotationalDragCoefficientMethodEditorstar.lagrangian.RotationalDragCoefficientMethodEditorstar.lagrangian.dem.RotationalDragCoefficientMethodManagerstar.lagrangian.RotationalDragCoefficientMethodManagerstar.lagrangian.dem.SommerfeldDragTorqueMethodstar.lagrangian.SommerfeldDragTorqueMethodstar.lagrangian.dem.SommerfeldSpinLiftCoefficientMethodstar.lagrangian.SommerfeldSpinLiftCoefficientMethod - 磁滞建模的更改
- 当前版本改进了用户自定义场函数和磁滞建模之间的兼容性。此项改进导致设置接触角磁滞的宏代码发生更改。
以前版本 当前版本 import java.util.*; import star.common.*; import star.base.neo.*; import star.vof.*; public class activateContactAngleHysteresis extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); PhysicsContinuum physicsContinuum_0 = ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); MultiPhaseInteractionModel multiPhaseInteractionModel_0 = physicsContinuum_0.getModelManager().getModel(MultiPhaseInteractionModel.class); PhaseInteraction phaseInteraction_0 = ((PhaseInteraction) multiPhaseInteractionModel_0.getPhaseInteractionManager().getPhaseInteraction("Phase Interaction 1")); SurfaceTensionModel surfaceTensionModel_0 = phaseInteraction_0.getModelManager().getModel(SurfaceTensionModel.class); surfaceTensionModel_0.setContactAngleHysteresis(true); } }import java.util.*; import star.multiphase.*; import star.common.*; import star.base.neo.*; public class activateContactAngleHysteresis extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); Region region_0 = simulation_0.getRegionManager().getRegion("Region_2D"); Boundary boundary_0 = region_0.getBoundaryManager().getBoundary("Wall"); PhaseConditions phaseConditions_0 = ((PhaseConditions) boundary_0.get(PhaseConditionsManager.class).getPhaseConditions("Phase Interaction 1")); ContactAngleHysteresisOption contactAngleHysteresisOption_0 = phaseConditions_0.getPhaseConditionManager().get(ContactAngleHysteresisOption.class); contactAngleHysteresisOption_0.setOptionEnabled(true); } } - 碰撞检测的更改
- 拉格朗日多相碰撞检测求解器现在有两个碰撞检测管理器对象:体积碰撞和新添加的壳碰撞。
电磁
- 框架的更改
- 鉴于计划在未来版本中推出新的有限元高阶模型,现在通过引入新的代码结构,使高阶用户体验标准化。此结构将由未来所有的有限元高阶模型共享,同时还提供其他方式来控制多项式次数定义。
- 电流方向的更改
- 以下类已从
star.electromagnetism.magneticpotential.fem移到star.electromagnetism.common:CurrentDirectionSpecificationElectricCurrentDirectionOption
电化学
- 插层颗粒对象的重命名
- 由于电化学反应的重构,对象
已重命名为star.electrochemistry.electrochemicalreactions.IntercalationParticleCrackSurfaceAreaDensityProfile
如果任何现有宏使用此对象,则搜索以下字符串的实例并更新它们,如下表中所示:star.electrochemistry.electrochemicalreactions.SubGridParticleCrackSurfaceAreaDensityProfile以前版本 当前版本 IntercalationParticleAccumulatedDamage[particle phase]SubgridParticleAccumulatedDamage[particle phase]IntercalationParticleSurfaceCrackAreaDensity[particle phase]SubgridParticleCrackSurfaceAreaDensity[particle phase]IntercalationParticleFilmResistanceArea[particle phase]SubgridParticleFilmResistanceArea[particle phase]IntercalationParticleSurfaceFilmThickness[film phase]SubgridParticleSurfaceFilmThickness[film phase] - 多孔相的更改
- 多孔相中的固态离子和电动势模型现在使用与多孔相关联的弯曲值,即来自区域的
PhaseConditionsManager的值。在先前版本中,它们从相关区域的 Physics Values 对象树文件夹中获取其值。