宏 API 更改 2206
在 Simcenter STAR-CCM+ 2206 中,材料、热传递、伴随、反应流体、多相、欧拉多相流、DFBI、固体应力、电磁、电化学、后处理和 Simcenter STAR-CCM+ In-Cylinder 的宏 API 已更改。
材料:数据库属性的更改
如果任何现有宏使用材料数据库,则按如下方式更新这些数据库:
- 添加
import star.material.backwardcompatibility.*;
- 搜索以下字符串的实例并进行更正,如图所示。
以前发行版本 Simcenter STAR-CCM+ 2206 dataBaseMaterialPropertySutherLandLawMethod_0get...
dataBaseMaterialPropertySutherLandLawMethod_0.get...
dataBaseMaterialPropertyAlphaBetaScalingMethod_0get...
dataBaseMaterialPropertyAlphaBetaScalingMethod_0.get...
"MoleculeType"
"LennardJonesMoleculeType"
"ThermalExpansionSolids"
"ThermalExpansion"
- 移除以下属性及其相应方法的所有实例:
DataBaseMaterialPropertyEmissivity
DataBaseMaterialPropertyHeatTransferCoefficient
DataBaseMaterialPropertyThermalDiffusivity
DataBaseMaterialPropertyWettingAngle
DeadDataBaseMaterialPropertyLJPotential
- 将
<DataBasePropertyName>.class
更改为"<DataBasePropertyName>"
格式。以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialPropertyPermeability dataBaseMaterialPropertyPermeability_2 = ((DataBaseMaterialPropertyPermeability) materialDataBaseSolid_2.getMaterialProperty(DataBaseMaterialPropertyPermeability.class));
DataBaseMaterialPropertyPermeability dataBaseMaterialPropertyPermeability_2 = ((DataBaseMaterialPropertyPermeability) materialDataBaseSolid_2.getMaterialProperty("DataBaseMaterialPropertyPermeability"));
- 更改表方法。
- 将
DataBaseMaterialTemperatureTablePropertyMethod
更改为TemperatureTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialTemperatureTablePropertyMethod dataBaseMaterialTemperatureTablePropertyMethod_0 = ((DataBaseMaterialTemperatureTablePropertyMethod) dataBaseMaterialPropertyDensity_0.getMethod("DataBaseMaterialTemperatureTablePropertyMethod")); MaterialTable materialTable_0 = dataBaseMaterialTemperatureTablePropertyMethod_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.energy.TemperatureTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); TemperatureTableMethod temperaturTableMethod_0 = ((TemperatureTableMethod) dataBaseMaterialPropertyDensity_0.getMethod("TemperatureTableMethod")); temperaturTableMethod_0.getInterpolationTable().setTable(fileTable_0);
- 将
DataBaseMaterialTemperaturePressureTablePropertyMethod
更改为TemperaturePressureTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialTemperaturePressureTablePropertyMethod dataBaseMaterialTemperaturePressureTablePropertyMethod_0= ((DataBaseMaterialTemperaturePressureTablePropertyMethod) dataBaseMaterialPropertyDensity_0.getMethod("DataBaseMaterialTemperaturePressureTablePropertyMethod")); MaterialTable materialTable_0 = dataBaseMaterialTemperaturePressureTablePropertyMethod_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.energy.TemperaturePressureTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); TemperaturePressureTableMethod temperaturPressureTableMethod_0 = ((TemperaturePressureTableMethod) dataBaseMaterialPropertyDensity_0.getMethod("TemperaturePressureTableMethod")); temperaturPressureTableMethod_0.getInterpolationTable().setTable(fileTable_0);
- 将
DataBaseMaterialTemperatureLiConcentrationTablePropertyMethod
更改为TemperatureLiConcentrationTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialTemperatureLiConcentrationTablePropertyMethod dataBaseMaterialTemperatureLiConcentrationTablePropertyMethod_0= ((DataBaseMaterialTemperatureLiConcentrationTablePropertyMethod) dataBaseMaterialPropertyElectricalConductivity_0.getMethod("DataBaseMaterialTemperatureLiConcentrationTablePropertyMethod ")); MaterialTable materialTable_0 = dataBaseMaterialPropertyElectricalConductivity_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.liionbatterycell.TemperatureLiConcentrationTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); TemperatureLiConcentrationTableMethod temperatureLiConcentrationTableMethod_0 = ((TemperatureLiConcentrationTableMethod) dataBaseMaterialPropertyElectricalConductivity_0.getMethod("TemperatureLiConcentrationTableMethod")); temperatureLiConcentrationTableMethod_0.getInterpolationTable().setTable(fileTable_0);
- 将
DataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod
更改为MagneticSusceptibilityTemperatureTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod dataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod_0= ((DataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod) dataBaseMaterialPropertyMagneticSusceptibilityTemperatureFactor_0.getMethod ("DataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod")); MaterialTable materialTable_0 = dataBaseMaterialMagneticSusceptibilityTemperatureTablePropertyMethod_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.electromagnetism.common.MagneticSusceptibilityTemperatureTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); MagneticSusceptibilityTemperatureTableMethod magneticSusceptibilityTemperatureTableMethod_0 = ((MagneticSusceptibilityTemperatureTableMethod ) dataBaseMaterialPropertyMagneticSusceptibilityTemperatureFactor_0 .getMethod("MagneticSusceptibilityTemperatureTableMethod")); magneticSusceptibilityTemperatureTableMethod_0.getInterpolationTable().setTable(fileTable_0);
- 将
DataBaseMaterialBHCurveTablePropertyMethod
更改为PermeabilityTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialBHCurveTablePropertyMethod dataBaseMaterialBHCurveTablePropertyMethod_0= ((DataBaseMaterialBHCurveTablePropertyMethod) dataBaseMaterialPropertyPermeability_0.getMethod("DataBaseMaterialBHCurveTablePropertyMethod")); MaterialTable materialTable_0 = dataBaseMaterialBHCurveTablePropertyMethod_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.electromagnetism.common.PermeabilityTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); PermeabilityTableMethod permeabilityTableMethod_0 = ((PermeabilityTableMethod) dataBaseMaterialPropertyPermeability_0.getMethod("PermeabilityTableMethod")); permeabilityTableMethod_0.getBandHInterpolationTable().setTable(fileTable_0);
- 将
DataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod
更改为MagneticRemanenceFluxDensityTemperatureTableMethod
:以前发行版本 Simcenter STAR-CCM+ 2206 DataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod dataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod_0= ((DataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod) dataBaseMaterialPropertyMagneticRemanenceFluxDensity_0 .getMethod("DataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod")); MaterialTable materialTable_0 = dataBaseMaterialMagneticRemanenceFluxDensityTemperatureTablePropertyMethod_0.getTable(); materialTable_0.extract(resolvePath("*.csv"));
import star.electromagnetism.common.MagneticRemanenceFluxDensityTemperatureTableMethod;
FileTable fileTable_0 = (FileTable)simulation_0.getTableManager().createFromFile(resolvePath("*.csv")); MagneticRemanenceFluxDensityTemperatureTableMethod magneticRemanenceFluxDensityTemperatureTableMethod_0 = ((MagneticRemanenceFluxDensityTemperatureTableMethod) dataBaseMaterialPropertyMagneticRemanenceFluxDensity_0 .getMethod("MagneticRemanenceFluxDensityTemperatureTableMethod")); magneticRemanenceFluxDensityTemperatureTableMethod_0.getInterpolationTable().setTable(fileTable_0);
- 将
热传递:基于部件的支持现在可用于实际流双流体热交换器模型
实际流双流体热交换器模型的 UI 已显著更改,导致用户宏发生多处更改。当前支持七种热交换器数据规范选项:UAL 多项式、UAL 表、UAG 表、Q 表、Q Map、UAL Map 和体积 UAL 表。以下为一个选项 (Q Map) 的宏更改说明,该说明适用于所有七个选项。双流体热交换器报告宏也相应更改,其说明如下表所示。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
|
|
|
|
伴随:拓扑优化求解器的更改
作为拓扑优化求解器改进的一部分,用户定义约束子节点( )和体积比约束子节点( )的属性选项已更改。
在此节点的类型属性中,消除了最小值/最大值选项。添加了相等选项。新的增广拉格朗日公式本身就可用于这种特定类型的约束。
每个选项都对应特定 CSO(客户端-服务器对象)的选择。类型属性的更改意味着 MinMaxConstraintType
CSO 不再存在,并由此引入了新的 EqualityConstraintType
CSO。
由于 MinMaxConstraintType
CSO 已移除,因此需要使用受支持类型之一(EqualityConstraintType
、MinimumConstraintType
或 MaximumConstraintType
)来更新使用此 CSO 的任何宏,如以下示例所示。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
反应流体:ECFM 表生成器更改
修改了 ECFM 表生成器的工作流,从而导致宏代码的更改。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
|
|
多相
磨损边界物理值的更改
由于重构,对磨损边界物理值的 Archard 方法的宏代码进行了更改。
具体而言:
abrasiveWearProfile_0.setMethod(ArchardAbrasiveWearMethod.class);
已更改为
abrasiveWearProfile_0.setMethod(GranularArchardAbrasiveWearMethod.class);
液膜蒸发的更改
液膜蒸发模型的新模型要求导致相间相互作用行为的更改。要将这些对象的行为恢复到上一版本的行为,可将 RaoultActivityCoefficientModel
添加到先前保存的宏,如以下示例所示。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
因解析的欧拉-拉格朗日转换发生的更改
由于解析的欧拉-拉格朗日转换模型和混合多相 (MMP) 模型的 Blob 检测方面有所改进,因此宏代码已更改。具体来说,类已按以下方式重命名:
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
欧拉多相流 (EMP):普朗特数分布的更改
S-Gamma 和自适应多尺寸组 (AMUSIG) 模型使用普朗特数分布的方式已更改,导致宏代码发生更改。
-
S-Gamma 模型(预积分 S-Gamma 模型和离散求积 S-Gamma 模型)
以前发行版本 Simcenter STAR-CCM+ 2206 SgammaTurbulentPrandtlNumberProfile sgammaTurbulentPrandtlNumberProfile_0 = sgammaModel_0.getSgammaTurbulentPrandtlNumberProfile();
TurbulentPrandtlNumberProfile turbulentPrandtlNumberProfile_0 = sgammaModel_0.getTurbulentPrandtlNumberProfile();
-
自适应多尺寸组模型
以前发行版本 Simcenter STAR-CCM+ 2206 NumberDensityTurbulentPrandtlNumberProfile numberDensityTurbulentPrandtlNumberProfile_0 = amusigModel_0.getNumberDensityTurbulentPrandtlNumberProfile();
TurbulentPrandtlNumberProfile turbulentPrandtlNumberProfile_0 = amusigModel_0.getTurbulentPrandtlNumberProfile();
DFBI:欧拉角可用性更高
要使基于欧拉角的计算在运动模拟中的可用范围更加广泛,EulerAngleOption
类已从 star.sixdof
模块移动到 star.motion
模块。如果任何现有 DFBI 宏使用 EulerAngleOption
类,则需要按以下示例更新这些宏。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
固体应力:求解器的更改
由于发生重构,以帮助改进声学模态求解器,固体应力求解器的求解视图和特征模式的宏代码已更改:
NormalModesSolutionView
已重命名为FeSolidStressNormalModesSolutionView
。NormalModesSolutionViewEigenMode
已重命名为FeSolidStressNormalModesSolutionViewEigenMode
。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
电磁
励磁线圈和相关模型的更改
由于重构,已对励磁线圈模型和相关模型的宏代码进行更改。按以下说明更新宏代码:
具有 2D 横向磁势模型的励磁线圈模型
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
有限元励磁线圈模型
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
注 | 具有 3D 的励磁线圈模型的以下宏代码未更改: |
localDirectionFieldProfile_0.getMethod(LocalDirectionFieldFeatureCurveMethod.class).getFlipOption().setSelected(LocalDirectionFieldFeatureCurveFlipOption.Type.BACKWARD);
localDirectionFieldProfile_0.getMethod(LocalDirectionFieldFeatureCurveMethod.class).getFlipOption().setSelected(LocalDirectionFieldFeatureCurveFlipOption.Type.FORWARD);
新磁通量连接报告导致的更改
随着横向磁势模型的磁通量连接报告的引入,宏代码也已更改。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
对材料属性默认值的更改
已修正的 Steinmetz 模型的以下材料属性的默认值已更改:
- 涡流损耗系数
- 磁滞损耗系数
- Steinmetz 系数 A
- Steinmetz 系数 B
默认值现在设为零,而不是非零。
要恢复之前的默认值,使用配合涡流损耗系数使用的以下示例中所示的宏代码:
import star.common.*;
import star.base.neo.*;
import star.material.*;
import star.electromagnetism.common.*;
import star.electromagnetism.ohmicheating.*;
PhysicsContinuum physicsContinuum_0 =
((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));
SolidModel solidModel_0 =
physicsContinuum_0.getModelManager().getModel(SolidModel.class);
Solid solid_0 =
((Solid) solidModel_0.getMaterial());
ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 =
((ConstantMaterialPropertyMethod) solid_0.getMaterialProperties().getMaterialProperty(EddyCurrentLossCoefficientProperty.class).getMethod());
Units units_0 =
((Units) simulation_0.getUnitsManager().getObject("W/kg"));
constantMaterialPropertyMethod_0.getQuantity().setValueAndUnits(1.0626E-5, units_0);
电化学:摩尔浓度处理的更改
随着引入以摩尔浓度单位输入初始条件和边界条件的功能,宏代码也已更改。具体来说,MolarConcentrationProfile
已移至 species
文件夹,对于 Java 宏文件,要继续工作,应进行以下更改:
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
后处理:场景和绘图的打开和关闭的更改
由于场景和绘图显示处理改进,宏代码也已更改。open()
的实例应更改为 openInteractive()
,close()
的实例应更改为 closeInteractive()
。
要改进批处理运行时,从宏中移除这些调用,因为在 Simcenter STAR-CCM+ 批量运行时会忽略这些调用。
Simcenter STAR-CCM+ In-cylinder
表生成器更改
由于新功能和重构,宏代码也已更改。如果宏引用了先前版本的以下代码中包含的任何表,则需要更新这些宏。
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|
|
|
显示器使用的更改
一些冗余标量显示器已更改为部件显示器。因此,Simcenter STAR-CCM+ 2206 中的宏录制中,scalarDisplayer_XX
现记录为 partDisplayer_XX
。受影响显示器的示例包括:
- 进气阀 <N> 显示器 1
- 排气阀 <N> 显示器 1
- 气缸显示器 1
- 气缸活塞表面显示器 1
- 气缸扇区显示器 1
预计现有的宏将继续正常工作,但为获得最大可靠性,建议更新宏代码,如以下示例所示:
以前发行版本 | Simcenter STAR-CCM+ 2206 |
---|---|
|
|