宏 API 更改 13.02

Simcenter STAR-CCM+ 13.02 中,针对表面准备、边界条件、谐波平衡、热传递、DFBI、气动声学、反应流体、欧拉多相、湍流、监视器、绘图、设计管理器和协同仿真更改了宏 API。

表面准备

对合并和相交操作的更改

由于对网格操作的功能一致性的调整,合并和相交操作不再设置目标零部件。 因此,unitePartsOperation_0.setTargetPart(meshPart_0); 等语句会导致当前版本的 Simcenter STAR-CCM+ 出现错误消息。 对现有的宏做出相应修改。

对拉伸网格生成器操作的更改

进行了更改,方便表面拉伸网格操作的复制-粘贴。 以前,创建表面拉伸网格生成器操作时,立即创建名称为表面拉伸网格生成器的输出零部件。 然而,当表面拉伸网格生成器操作的模式更改为每个零部件表面时,该输出零部件没有被重用,而是被删除。 因此,通过表面拉伸生成器操作的复制-粘贴创建一个随后的表面拉伸网格生成器输出零部件时,其名称会加 1。

在下例中,最后一行获得的输出零部件的名称为表面拉伸网格生成器 2

SurfaceExtruderOperation surfaceExtruderOperation_4 = 
  (SurfaceExtruderOperation) simulation_0.get(MeshOperationManager.class).createSurfaceExtruderOperation(
          new NeoObjectVector(new Object[] {simpleBlockPart_0}),"Surface Extruder");     // <-- create Surface Extruder operation
  surfaceExtruderOperation_4.setOutputMode(SurfaceExtruderOperation.OutputMode.PER_PART_SURFACE);  // <-- change output mode
  surfaceExtruderOperation_4.getPartSurfaces().setQuery(null); 
  PartSurface partSurface_0 = 
 	   ((PartSurface) simpleBlockPart_0.getPartSurfaceManager().getPartSurface("right")); 
  surfaceExtruderOperation_4.getPartSurfaces().setObjects(partSurface_0);                    // <-- set part surfaces after changing mode
  MeshOperationPart meshOperationPart_1 = 
  	   ((MeshOperationPart) simulation_0.get(SimulationPartManager.class).getPart("Surface Extruder 2"));  // <-- notice first output part was replaced and name was incremented

此行为已经过改进,现在重用默认输出零部件表面拉伸网格生成器。 如果您的宏包按上述方式括使用表面拉伸网格生成器操作和输出零部件,则更新宏以获得正确的表面拉伸输出零部件。

以前发行版本 Simcenter STAR-CCM+ v13.02
MeshOperationPart meshOperationPart_1 = 
  	   ((MeshOperationPart) simulation_0.get(SimulationPartManager.class).getPart("Surface Extruder 2"));
MeshOperationPart meshOperationPart_1 = 
            ((MeshOperationPart) simulation_0.get(SimulationPartManager.class).getPart("Surface Extruder"));

边界条件:自由流条件的更改

作为重构自由流边界条件的一部分,FreeStreamOption 类已从流体移到能量

以前发行版本 Simcenter STAR-CCM+ v13.02
import star.flow.FreeStreamOption;
import star.energy.FreeStreamOption;

谐波平衡:对颤振运动的更改

谐波平衡颤振运动已更改,从而允许更大叶片俯仰运动,结果导致宏代码更改。

以前发行版本 Simcenter STAR-CCM+ v13.02
boundary.getConditions().get(HbMorphingOption.class).setSelected(HbMorphingOption.DISPLACEMENT);
 HbRealDisplacementProfile hbRealDisplacementProfile_0 = boundary.getValues().get(HbRealDisplacementProfile.class);
 hbRealDisplacementProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(0.0, 0.0050, 0.0);
 HbImagDisplacementProfile hbImagDisplacementProfile_0 = boundary.getValues().get(HbImagDisplacementProfile.class);
 hbImagDisplacementProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(0.0, 0.0010, 0.0);
boundary.getConditions().get(HbMorphingOption.class).setSelected(HbMorphingOption.Type.HARMONIC_DISPLACEMENT);
 HarmonicDisplacement harmonicDisplacement_0 = boundary.getValues().get(HarmonicDisplacement.class);
 HbRealDisplacementProfile hbRealDisplacementProfile_0 = harmonicDisplacement_0.getHbRealDisplacementProfile();
 hbRealDisplacementProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(0.0, 0.0050, 0.0);
 HbImagDisplacementProfile hbImagDisplacementProfile_0 = harmonicDisplacement_0.getHbImagDisplacementProfile();
 hbImagDisplacementProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(0.0, 0.0010, 0.0);

热传递:对参与媒介模型和属性的更改

作为重构离散坐标辐射模型的一部分,与模型和材料属性相关的特定类发生了更改。

以下类从 star.radiation.dom 移到 star.radiation.common。 对这些模型的宏将不具备向后兼容,但对于旧的模拟文件,应该向后兼容。

  • GrayRefractionModel
  • MultiBandRefractionModel
  • ParticipatingGrayModel
  • ParticipatingMultiBandModel
  • ParticipatingSpectrumModel

这些类以同样的方式使用,但是它们必须从一个不同的库位置导入:

以前发行版本 Simcenter STAR-CCM+ v13.02
import star.radiation.dom.GrayRefractionModel;

import star.radiation.dom.MultiBandRefractionModel;

import star.radiation.dom.ParticipatingGrayModel;

import star.radiation.dom.ParticipatingMultiBandModel;

import star.radiation.dom.ParticipatingSpectrumModel;
import star.radiation.common.GrayRefractionModel;

import star.radiation.common.MultiBandRefractionModel;

import star.radiation.common.ParticipatingGrayModel;

import star.radiation.common.ParticipatingMultiBandModel;

import star.radiation.common.ParticipatingSpectrumModel;

特定类已从 star.radiation.dom 移到 star.radiation.common且已重命名

  • AbsorptionCoefficientProperty 已重命名为 AbsorptionCoefficientMaterialProperty
  • ScatteringCoefficientProperty 已重命名为 ScatteringCoefficientMaterialProperty
  • RefractiveIndexProperty 已重命名为 RefractiveIndexMaterialProperty
  • WsggMethod 已重命名为 WsggPropertyMethod

此外,RadiationSpectrumManager 已重命名为 MultiBandSpectrumManager

FireSmokeDialog 类链接至 radiation.common 库中的 AbsorptionCoefficientMaterialPropertyParticipatingGrayModel

使用重命名的类的示例如下:

AbsorptionCoefficientMaterialProperty

以前发行版本 Simcenter STAR-CCM+ v13.02
   // set absorption coefficient to 0.1 1/m
   ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
((ConstantMaterialPropertyMethod) liquid_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientProperty.class).getMethod());
   constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);
   // set absorption coefficient to 0.1 1/m
   ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
((ConstantMaterialPropertyMethod) liquid_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientMaterialProperty.class).getMethod());
   constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);

ScatteringCoefficientMaterialProperty

以前发行版本 Simcenter STAR-CCM+ v13.02
ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
  ((ConstantMaterialPropertyMethod) gasMixture_0.getMaterialProperties().getMaterialProperty(ScatteringCoefficientProperty.class).getMethod());

constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);
ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
  ((ConstantMaterialPropertyMethod) gasMixture_0.getMaterialProperties().getMaterialProperty(ScatteringCoefficientMaterialProperty.class).getMethod());

constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);

RefractiveIndexMaterialProperty

以前发行版本 Simcenter STAR-CCM+ v13.02
ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
  ((ConstantMaterialPropertyMethod) gas_0.getMaterialProperties().
  getMaterialProperty(RefractiveIndexProperty.class).getMethod());

constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);
ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = 
  ((ConstantMaterialPropertyMethod) gas_0.getMaterialProperties().
  getMaterialProperty(RefractiveIndexMaterialProperty.class).getMethod());

constantMaterialPropertyMethod_0.getQuantity().setValue(0.1);

WsggPropertyMethod

以前发行版本 Simcenter STAR-CCM+ v13.02
GasMixture gasMixture_0 = 
     ((GasMixture) multiComponentGasModel_0.getMixture());
   gasMixture_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientProperty.class).setMethod(WsggMethod.class);

   WsggMethod wsggMethod_0 = 
     ((WsggMethod) gasMixture_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientProperty.class).getMethod());

   wsggMethod_0.getOpticalPathLength().setValue(0.0036);
GasMixture gasMixture_0 = 
      ((GasMixture) multiComponentGasModel_0.getMixture());
    gasMixture_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientMaterialProperty.class).setMethod(WsggPropertyMethod.class);

WsggPropertyMethod wsggMethod_0 = 
      ((WsggPropertyMethod) gasMixture_0.getMaterialProperties().getMaterialProperty(AbsorptionCoefficientMaterialProperty.class).getMethod());

    wsggMethod_0.getOpticalPathLength().setValue(0.0036);

MultiBandSpectrumManager

以前发行版本 Simcenter STAR-CCM+ v13.02
ParticipatingMultiBandModel participatingMultiBandModel_0 = 
  continuum.getModelManager().getModel(ParticipatingMultiBandModel.class);
SpectralBand spectralBand_0 = 
  participatingMultiBandModel_0.getRadiationSpectrumManager().createThermalSpectralBand(SpectralBand.class);
ParticipatingMultiBandModel participatingMultiBandModel_0 = 
  continuum.getModelManager().getModel(ParticipatingMultiBandModel.class);
SpectralBand spectralBand_0 = 
        participatingMultiBandModel_0.getMultiBandSpectrumManager().createThermalSpectralBand(SpectralBand.class);

DFBI:对体创建的更改

随着纯机械体(即在体网格中没有表示、除重力外与物理连续体没有相互作用的体)的引入,传统体已重命名为连续体(即与物理连续体相互作用、驱动体网格运动的体)。 相应地,类名称已从更改为连续体.

Body 仍作为基础类受支持。 然而,为了确保长期可靠性,建议利用最新版本的类升级宏。
以前发行版本 Simcenter STAR-CCM+ v13.02
boolean is3D = true; // or false for 2D
star.sixdof.Body sixdofBody_0 = 
  simulation_0.get(star.sixdof.BodyManager.class).createBody(is3D);

boolean createDefaultForcesAndMoments = false;
star.sixdof.Body sixdofBody_1 = 
  simulation_0.get(star.sixdof.BodyManager.class).createBody(is3D, createDefaultForcesAndMoments);

star.sixdof.Body sixdofBody_2= 
  simulation_0.get(star.sixdof.BodyManager.class).createBody("Body name", is3D);
boolean is3D = true; // or false for 2D
ContinuumBody continuumBody_0 = 
  simulation_0.get(star.sixdof.BodyManager.class).createContinuumBody(is3D);

boolean createDefaultForcesAndMoments = false;
ContinuumBody continuumBody_1 = 
  simulation_0.get(star.sixdof.BodyManager.class).createContinuumBody(is3D, createDefaultForcesAndMoments);

ContinuumBody continuumBody_2 = 
  simulation_0.get(star.sixdof.BodyManager.class).createContinuumBody("Body name", is3D);

方法 Body.setObjects() 已移到 ContinuumBody.setObjects()

以前发行版本 Simcenter STAR-CCM+ v13.02
star.sixdof.Body body_0 = 
  ((star.sixdof.Body) simulation_0.get(star.sixdof.BodyManager.class).getObject("Body 1"));

Boundary boundary_0 = 
  region_0.getBoundaryManager().getBoundary("hull");

Boundary boundary_1 = 
  region_0.getBoundaryManager().getBoundary("deck");

Vector<NamedObject> boundaries = new Vector<NamedObject>();
boundaries.add(boundary_0);
boundaries.add(boundary_1);

body_0.setObjects(boundaries);
ContinuumBody continuumBody_0 = 
  ((ContinuumBody) simulation_0.get(star.sixdof.BodyManager.class).getObject("Body 1"));

Boundary boundary_0 = 
  region_0.getBoundaryManager().getBoundary("hull");

Boundary boundary_1 = 
  region_0.getBoundaryManager().getBoundary("deck");

Vector<NamedObject> boundaries = new Vector<NamedObject>();
boundaries.add(boundary_0);
boundaries.add(boundary_1);

continuumBody_0.setObjects(boundaries);

气动声学:对后 Ffowcs Williams-Hawkings (FW-H) 接收器的更改

作为后点接收器对流声学效果选项的更改的一部分,对象 ConvectiveVelocityProfile 已重命名为 FwhConvectiveVelocityProfile。 在宏代码内,出现的所有 ConvectiveVelocityProfile 必须相应地重命名。 例如:

以前发行版本 Simcenter STAR-CCM+ v13.02
ConvectiveVelocityProfile convectiveVelocityProfile = pointFwhPostProcessingReceiver.getConvectiveVelocityProfile();
FwhConvectiveVelocityProfile fwhConvectiveVelocityProfile = pointFwhPostProcessingReceiver.getFwhConvectiveVelocityProfile();

反应流体:对进度变量的更改

已为进度变量源更改用户选项,结果导致宏代码更改。

以前发行版本 Simcenter STAR-CCM+ v13.02
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.PETERS);
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.PETERS_TFS);
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.ZIMONT);
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.ZIMONT_TFS);
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.USERDEFINED);
tfcCombustionPartiallyPremixedModel_0.getTurbulentFlameSpeedControlOption().setSelected(TurbulentFlameSpeedControlOption.USERDEFINED_TFS);

欧拉多相:更改为湍流阻尼

提供了额外的湍流阻尼公式法,改善了湍流阻尼模型。 在模型中,必须在相范围内指定阻尼参数。 现在显示以前发行版本中所用的湍流阻尼公式以供选择。 该公式被称为 Egorov 公式,应该被显式选中,而在以前的发行版本中,这是在内部完成的。 此项改进导致宏代码更改。

以前发行版本 Simcenter STAR-CCM+ v13.02
     LsiTurbDampingModel lsiTurbDampingModel_0 = 
       phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

     lsiTurbDampingModel_0.getDampingConstant().setValue(1100.0);
    phaseInteraction_0.enable(LargeInterfaceDetectionModel.class);
    phaseInteraction_0.enable(LsiTurbDampingModel.class);

    LsiTurbDampingModel lsiTurbDampingModel_0 = 
      phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

    PrimaryPhaseTurbulenceDampingParameters primaryPhaseTurbulenceDampingParameters_1 = 
      lsiTurbDampingModel_0.getPrimaryPhaseTurbulenceDampingParameters();

    KwTurbTurbulenceDampingParameters kwTurbTurbulenceDampingParameters_1 = 
      primaryPhaseTurbulenceDampingParameters_1.getKwTurbTurbulenceDampingParameters();

    kwTurbTurbulenceDampingParameters_1.getDampingFormulationOption().setSelected(LsiTurbDampingFormulationOption.Type.EGOROV);

    kwTurbTurbulenceDampingParameters_1.getKWTurbDampingConstant().setValue(1100.0);

    kwTurbTurbulenceDampingParameters_1.getInterfaceDistanceOption().setSelected(LsiTurbDampingInterfaceDistanceOption.Type.VOLUMEBASED);

    SecondaryPhaseTurbulenceDampingParameters secondaryPhaseTurbulenceDampingParameters_0 = 
      lsiTurbDampingModel_0.getSecondaryPhaseTurbulenceDampingParameters();

    KwTurbTurbulenceDampingParameters kwTurbTurbulenceDampingParameters_2 = 
      secondaryPhaseTurbulenceDampingParameters_0.getKwTurbTurbulenceDampingParameters();

    kwTurbTurbulenceDampingParameters_2.getDampingFormulationOption().setSelected(LsiTurbDampingFormulationOption.Type.EGOROV);

    kwTurbTurbulenceDampingParameters_2.getKWTurbDampingConstant().setValue(1100.0);

    kwTurbTurbulenceDampingParameters_2.getInterfaceDistanceOption().setSelected(LsiTurbDampingInterfaceDistanceOption.Type.VOLUMEBASED);

湍流:从 Spalart-Allmaras 分离涡模型中删除常数

由于公式发生了更改,所以删除常数 Cv2。 从现有宏删除此常数的实例。

以前发行版本 Simcenter STAR-CCM+ v13.02
SaTurbDesModel.setCv2(5.0);
//SaTurbDesModel.setCv2(5.0);

监视器:名称语法的更改

由于重构,所以字符串 cpu 已更改为大写:CPU。 对现有的宏做出相应修改。

绘图:对颜色的更改

作为绘图颜色改进的一部分,已为轴标签、轴刻度和热区图样式更改了宏代码。

代码更改的示例如下:

以前发行版本 Simcenter STAR-CCM+ v13.02
setColor(new IntVector(new int[] {255, 255, 0, 255}));
setColor(new DoubleVector(new double[] {1.0, 1.0, 0.0}));

设计管理器 MdxDataSet:结束对一些方法的支持

由于重构了 MdxDataSet 类,一些在 v12.04 或 v12.06 中可用的方法已作废。 请从您的宏中删除这些方法。

    
public boolean getNeedsSorting()
public void setNeedsSorting(boolean newValue) 
public double getXOffset()
public void setXOffset(double v)
public double getYOffset()
public void setYOffset(double v)
public double getXScale()
public void setXScale(double v)
public double getYScale()
public void setYScale(double v)

协同仿真

删除场导入和导出选项

由于从 GT-SUITE 协同仿真区条件中删除场导入选项和场导出选项,所以以下宏命令将停止运行,需要删除(无需替换):

  • import star.cosimulation.common.FieldImportOption;
  • import star.cosimulation.common.FieldExportOption;
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldImportOption.class).setSelected(FieldImportOption.Type.VELOCITY);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldImportOption.class).setSelected(FieldImportOption.Type.VELOCITY_AND_DENSITY);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldImportOption.class).setSelected(FieldImportOption.Type.MASS);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldImportOption.class).setSelected(FieldImportOption.Type.PRESSURE);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldExportOption.class).setSelected(FieldExportOption.Type.VELOCITY);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldExportOption.class).setSelected(FieldExportOption.Type.MASS);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldExportOption.class).setSelected(FieldExportOption.Type.PRESSURE);
  • coSimulationZone_0.getCoSimulationZoneConditions().get(FieldExportOption.class).setSelected(FieldExportOption.Type.MASS_FLOW_RATE_VIA_FILE);

重构导致的更改

协同仿真中的结构改进导致宏代码更改。

以前发行版本 Simcenter STAR-CCM+ v13.02
abaqusOrStarccmplusCoSimulationSolver_0.setVerbosity(2);

// VERBOSITY LEVEL CORRESPONDENCE:

// None = 0
// Low = 1
// High = 2
import star.cosimulation.common.VerbosityLevel; // THIS GOES AT THE BEGINNING OF THE FILE WITH THE OTHER IMPORTS

coSimulation_0.getCoSimulationConditions()
              .get(VerbosityLevel.class)
              .setSelected(VerbosityLevel.Type.HIGH);

// VERBOSITY LEVEL CORRESPONDENCE:

// None = VerbosityLevel.Type.NONE
// Low = VerbosityLevel.Type.LOW
// High = VerbosityLevel.Type.HIGH

以下类已从 star.cosimulation.starccmplus 移到 star.cosimulation.link.starccmplus

  • StarccmplusConnectionFile
  • StarccmplusCoSimLaunch
  • StarccmplusCoSimHostPort

结果,在宏内更新导入语句如下:

以前发行版本 Simcenter STAR-CCM+ v13.02
import star.cosimulation.starccmplus.StarccmplusConnectionFile;

import star.cosimulation.starccmplus.StarccmplusCoSimLaunch;

import star.cosimulation.starccmplus.StarccmplusCoSimHostPort;
import star.cosimulation.link.starccmplus.StarccmplusConnectionFile;

import star.cosimulation.link.starccmplus.StarccmplusCoSimLaunch;

import star.cosimulation.link.starccmplus.StarccmplusCoSimHostPort;

以下类已从 star.cosimulation.common 移到 star.cosimulation.link.common

  • AbaqusCoSimulationType
  • AmesimCoSimulationType
  • ConsistencyCheckOption
  • CoSimAssignedHostPort
  • CoSimCommandLine
  • CoSimConnectionFile
  • CoSimHostPort
  • CoSimulation
  • CoSimulationConditionManager
  • CoSimulationConnectOption
  • CoSimulationEditor
  • CoSimulationLaunchOption
  • CoSimulationLoadPartnerLibraryOption
  • CoSimulationManager
  • CoSimulationPartner
  • CoSimulationType
  • CoSimulationValueManager
  • CoSimulationZone
  • CoSimulationZoneConditionManager
  • CoSimulationZoneManager
  • CoSimulationZoneType
  • CoSimulationZoneValueManager
  • CouplingPrecisionOption
  • DisconnectOption
  • FilePath
  • GtPowerCoSimulationType
  • IndexedOption
  • IndexedOptionNameComparator
  • LocalFilePath
  • OlgaCoSimulationType
  • PartnerFileSystemOption
  • PointCoSimulationZoneType
  • ReactingChannelCoSimulationType
  • RelapCoSimulationType
  • StarccmplusCoSimulationType
  • SurfaceCoSimulationZoneType
  • VolumeCoSimulationZoneType
  • WaveCoSimulationType

关于如何在宏中更新导入语句的示例如下:

以前发行版本 Simcenter STAR-CCM+ v13.02
import star.cosimulation.common.CoSimulation;

import star.cosimulation.common.ConsistencyCheckOption;

import star.cosimulation.common.CoSimAssignedHostPort;
import star.cosimulation.link.common.CoSimulation;

import star.cosimulation.link.common.ConsistencyCheckOption;

import star.cosimulation.link.common.CoSimAssignedHostPort;

以下类是包 star.cosimulation.common 的一部分,已被删除:

  • CoSimulationWithDomain
  • NullCoSimulation