宏 API 更改 2210

Simcenter STAR-CCM+ 2210 中,内存报告、重叠、材料属性、气动声学、反应流、欧拉多相、电磁、电化学和设计管理器的宏 API 已更改。

内存报告:已作废虚拟内存报告结束

仅通过宏访问的已作废虚拟内存报告 (DEPRECATED_VIRTUAL) 不会显示在 Simcenter STAR-CCM+ UI 中,已移除。虚拟内存报告可改用于监视模拟运行的虚拟内存消耗。

要更新宏代码,将 MemoryReportMetricOption.Type.DEPRECATED_VIRTUAL; 的实例替换为 MemoryReportMetricOption.Type.VIRTUAL;

重叠网格:小间隙处理更改

由于重叠棱柱层收缩的改进和简化,相关宏代码已更改。

由于简化的缘故,以下类已停用:

  • star.common.OversetPrismLayerShrinkageOption
  • star.common.MaximumStretchFactor
  • star.common.PrismLayerDetectionControl

由于重构的缘故,以下类已从 common 移至 overset 包:

以前版本 Simcenter STAR-CCM+ 2210
star.common.MinimumGapDistance
star.overset.MinimumGapDistance
star.common.NumAdaptivePrismLayers
star.overset.NumAdaptivePrismLayers
star.common.NumPrismLayersGap
star.overset.NumPrismLayersGap

材料属性:弃用各向异性材料属性指定方法

材料属性指定方法各向异性各向异性(原有)Simcenter STAR-CCM+ 2210 中已弃用,并计划在版本 2306 中移除。有关这些方法和计划替换的详细信息,请参见 2210 发行说明“重要说明”章节中的“材料属性”。

如果任何现有宏使用已弃用的材料属性方法(导热率、导电率、渗透率、介电常数的 9 个各向异性分量,或是导热率的各向异性(原有)),则搜索以下字符串的实例并更新它们,如下表中所示:

以前版本 Simcenter STAR-CCM+ 2210
AnisotropicElectricalConductivityMethodWithValues FullTensorElectricalConductivityMethodWithValues
AnisotropicPermeabilityMethodWithValues FullTensorPermeabilityMethodWithValues
AnisotropicPermittivityMethodWithValues FullTensorPermittivityMethodWithValues
AnisotropicThermalConductivityMethodWithValues FullTensorThermalConductivityMethodWithValues
AnisotropicThermalConductivityMethod FullTensorLegacyThermalConductivityMethod

气动声学:对使用声学模态求解器的更改

随着新的声学模态求解器选项的引入,宏代码已更改。

以前版本 Simcenter STAR-CCM+ 2210
Simulation simulation_0 = getActiveSimulation();

AcousticModalSolver acousticModalSolver_0 =
simulation_0.getSolverManager().getSolver(AcousticModalSolver.class);

acousticModalSolver_0.performNormalModesAnalysis();
Simulation simulation_0 = getActiveSimulation();

AcousticModalSolver acousticModalSolver_0 =
simulation_0.getSolverManager().getSolver(AcousticModalSolver.class);

acousticModalSolver_0.solveAcousticModes();

反应流体:表生成更改

随着新的层流火焰速度 (LFS) 表生成器交界面的引入,宏代码已更改。

以前版本 Simcenter STAR-CCM+ 2210
LfsTable lfsTable_0 =
  ((LfsTable) ((LaminarFlameSpeedTabulatedOption) flameSurfaceDensityRansModel_0.getLaminarFlameSpeedOptions().getMethod()).getLfsTable());
LfsEcfmTableGenerator lfsEcfmTableGenerator_0 =
  ((LfsEcfmTableGenerator) physicsContinuum_0.get(EcfmTableGeneratorManager.class).getObject("LFS Table Generator"));

LfsTable lfsTable_0 =
  ((LfsTable) lfsEcfmTableGenerator_0.getLfsTable());

欧拉多相流 (EMP)

对体积分数指定值的更改

如 2210 版《发行说明》的“重要说明”章节中所述,压力出口处的用户自定义值或外推值已更改。

按下例中所示更新宏:

压力边界处反向流的用户指定体积分数

以前版本 Simcenter STAR-CCM+ 2210
boundary_0.getConditions().get(VolumeFractionSpecificationOption.class).setSelected(VolumeFractionSpecificationOption.Type.USER);
BackflowSpecification backflowSpecification_0 = boundary_0.getConditions().get(BackflowSpecification.class);
backflowSpecification_0.getReversedFlowScalarOption().setSelected(ReversedFlowScalarOption.Type.SPECIFIED);

压力边界处反向流的外推体积分数

以前版本 Simcenter STAR-CCM+ 2210
boundary_0.getConditions().get(VolumeFractionSpecificationOption.class).setSelected(VolumeFractionSpecificationOption.Type.EXTRAPOLATION);
BackflowSpecification backflowSpecification_0 = boundary_0.getConditions().get(BackflowSpecification.class);
backflowSpecification_0.getReversedFlowScalarOption().setSelected(ReversedFlowScalarOption.Type.EXTRAPOLATED);

如果现有宏将现在移除的物理条件 > 体积分数指定设为 EXTRAPOLATION,则必须将物理条件 > 回流指定边界条件的标量属性设为 EXTRAPOLATED,如上表中所示。

如果物理条件 > 回流指定之前设置的标量属性为 SPECIFIED(默认选择),则必须从宏代码中手动移除不再需要的标量分布内容。在这种情况下必须移除的分布为:

  • SauterMeanDiameterProfile sauterMeanDiameterProfile_0 = phaseConditions_0.getPhaseValueManager().get(SauterMeanDiameterProfile.class);
  • MassFractionProfile massFractionProfile_0 = phaseConditions_0.getPhaseValueManager().get(MassFractionProfile.class);
  • StaticTemperatureProfile staticTemperatureProfile_0 = phaseConditions_0.getPhaseValueManager().get(StaticTemperatureProfile.class);
  • PassiveScalarProfile passiveScalarProfile_0 = phaseConditions_0.getPhaseValueManager().get(PassiveScalarProfile.class);

对颗粒模型自适应时间步的更改

改进了颗粒模型的自适应时间步控制,包括引入阈值摩擦固相压力属性,从而更改宏代码。

在此新属性中,单位是指定的。这代替了 Simcenter STAR-CCM+ 2206 中存在的阈值体积分数属性。

以前版本 Simcenter STAR-CCM+ 2210
Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject(""));

maximumPackingTimeStepProvider_0.getThresholdvf().setValueAndUnits(0.6, units_0);
Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject("Pa"));

maximumPackingTimeStepProvider_0.getThresholdfsp().setValueAndUnits(1000.0, units_0);

电磁:将报告重命名为正则化磁电感

由于为励磁线圈集总参数模型引入了新的磁电感报告,预先存在的磁电感报告已重命名为正则化磁电感

这种重构导致宏代码更改。

以前版本 Simcenter STAR-CCM+ 2210
import star.electromagnetism.magneticpotential.fem.MagneticInductanceReport;
...
MagneticInductanceReport magneticInductanceReport_0 = simulation_0.getReportManager().createReport(MagneticInductanceReport.class);
import star.electromagnetism.magneticpotential.fem.RegularizedMagneticInductanceReport;
...
RegularizedMagneticInductanceReport magneticInductanceReport_0 = simulation_0.getReportManager().createReport(RegularizedMagneticInductanceReport.class);

电化学

对浓度求解的更改

随着二进制集中求解理论的引入,相关宏代码已更改。具体来说,Li 子字符串已从类名称中移除,如下所示:

  • star.liionbatterycell.TemperatureLiConcentrationInterpolationTable 现在是 star.liionbatterycell.TemperatureConcentrationInterpolationTable
  • star.liionbatterycell.TemperatureLiConcentrationInterpolationTableMethod 现在是 star.liionbatterycell.TemperatureConcentrationInterpolationTableMethod

以下代码包含此更改的示例:

以前版本 Simcenter STAR-CCM+ 2210
import star.liionbatterycell.TemperatureLiConcentrationTableMethod;
    DataBaseMaterialManager dataBaseMaterialManager_0 =
      materialDataBase_0.getFolder("Liquids");
    DataBaseLiquid dataBaseLiquid_0 =
      ((DataBaseLiquid) dataBaseMaterialManager_0.getMaterial("LiPF6 EC31-EMC46-DEC23_Liquid"));
    Liquid electrolyte =
      (Liquid) singleComponentLiquidModel_0.replaceMaterial(liquid_0, dataBaseLiquid_0);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteDlnfAOverdlncTermProperty.class).setMethod(TemperatureLiConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(LiIonBatteryConcentrationDiffusivityProperty.class).setMethod(TemperatureLiConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteLiTransferanceProperty.class).setMethod(TemperatureLiConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectricalConductivityProperty.class).setMethod(TemperatureLiConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteDlnc0OverdlncTermProperty.class).setMethod(TemperatureLiConcentrationTableMethod.class);
import star.liionbatterycell.TemperatureConcentrationTableMethod;
    DataBaseMaterialManager dataBaseMaterialManager_0 =
      materialDataBase_0.getFolder("Liquids");
    DataBaseLiquid dataBaseLiquid_0 =
      ((DataBaseLiquid) dataBaseMaterialManager_0.getMaterial("LiPF6 EC31-EMC46-DEC23_Liquid"));
    Liquid electrolyte =
      (Liquid) singleComponentLiquidModel_0.replaceMaterial(liquid_0, dataBaseLiquid_0);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteDlnfAOverdlncTermProperty.class).setMethod(TemperatureConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(LiIonBatteryConcentrationDiffusivityProperty.class).setMethod(TemperatureConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteLiTransferanceProperty.class).setMethod(TemperatureConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectricalConductivityProperty.class).setMethod(TemperatureConcentrationTableMethod.class);
    electrolyte.getMaterialProperties().getMaterialProperty(ElectrolyteDlnc0OverdlncTermProperty.class).setMethod(TemperatureConcentrationTableMethod.class);

对电化学组分模型的更改

在实施电极颗粒扩散的过程中,电化学组分模型表面机制的某些宏作用现在要求指定表面机制的名称(即相名称):

  • 为从表面机制获取固体混合物组分的边界组分电化学反应通量,场函数的名称已更改为包含表面机制名称。
  • 为创建或设置报告的场函数或将其用于其他场函数,场函数名称现在必须包含表面机制名称(附加在末尾)。
以前版本 Simcenter STAR-CCM+ 2210
FieldFunctionManager fm = _sim.getFieldFunctionManager();
FieldFunction ff = fm.getFunction("BoundarySpeciesElectrochemicalReactionFluxCu");
FieldFunctionManager fm = _sim.getFieldFunctionManager();
String surfaceMechanismName = "Anode";
FieldFunction ff = fm.getFunction("BoundarySpeciesElectrochemicalReactionFluxCu" + surfaceMechanismName);

对固体电解质交界面 (SEI) 的更改

SEI 活化能的符号约定已更改,导致宏代码发生更改。

以前版本 Simcenter STAR-CCM+ 2210
propertiesOfSEI_0.getResistanceEsei().setValueAndUnits(1.0, units_0);
propertiesOfSEI_0.getResistanceEsei().setValueAndUnits(-1.0, units_0);

设计管理器:支持多种导出格式

随着在设计管理器中引入多种导出格式支持,宏代码已更改。

在设计管理器研究场景中选择导出格式

以前版本 Simcenter STAR-CCM+ 2210
MdxStudyScene mdxStudyScene_0 = 
      ((MdxStudyScene) mdxDesignStudy_0.getStudyScenes().getObject("Mesh"));
mdxStudyScene_0.setSceneFormat(MdxVisFormatEnum.HARDCOPY);
MdxStudyScene mdxStudyScene_0 = 
      ((MdxStudyScene) mdxDesignStudy_0.getStudyScenes().getObject("Mesh"));
mdxStudyScene_0.setExportFormats(EnumSet.of(MdxVisFormatEnum.HARDCOPY, MdxVisFormatEnum.SCENEFILE));

在设计管理器研究绘图中选择导出格式

以前版本 Simcenter STAR-CCM+ 2210
MdxStudyPlot mdxStudyPlot_0 = 
      ((MdxStudyPlot) mdxDesignStudy_0.getStudyPlots().getObject("Residuals"));
mdxStudyPlot_0.setPlotFormat(MdxVisFormatEnum.SCENEFILE);
MdxStudyPlot mdxStudyPlot_0 = 
      ((MdxStudyPlot) mdxDesignStudy_0.getStudyPlots().getObject("Residuals"));
mdxStudyPlot_0.setExportFormats(EnumSet.of(MdxVisFormatEnum.HARDCOPY, MdxVisFormatEnum.SCENEFILE));