宏 API 更改 6.04
在 Simcenter STAR-CCM+ 6.04 中,针对多相分离流、欧拉多相湍流、表面张力、空化、沸腾、VOF、3D-CAD、Abaqus 协同仿真、热舒适性和 OLGA 耦合进行了宏 API 的更改。
多相分离流(欧拉多相)的多相相互作用
用于设置欧拉相间相互作用的交界面已发生更改。 具体而言,不再在相间相互作用对象上设置由单一相间相互作用表示的相对;转而在欧拉相间相互作用模型对象上进行设置。 示例如下。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
EulerianPhasePair eulerianPhasePair_0 = multiPhaseInteractionModel_0.createPhasePair(); eulerianPhasePair_0.setPresentationName("Liquid Bubble Interactions"); eulerianPhasePair_0 .setContinuousPhase( eulerianPhase_0); eulerianPhasePair_0 .setDispersedPhase( eulerianPhase_1); eulerianPhasePair_0.setDispersedPhase( eulerianPhase_1); |
PhaseInteraction eulerianPhaseInteraction_0 = multiPhaseInteractionModel_0 .createPhaseInteraction(); eulerianPhaseInteraction_0 .enable( EulerianPhaseInteractionModel.class); EulerianPhaseInteractionModel phaseInteractionModel = eulerianPhaseInteraction_0 .getModelManager() .getModel( EulerianPhaseInteractionModel.class); phaseInteractionModel .setContinuousPhase( eulerianPhase_0); phaseInteractionModel .setDispersedPhase( eulerianPhase_1); |
欧拉多相的湍流模型选择更改
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
physicsContinuum_0 .enable(TurbulentModel.class); |
physicsContinuum_0 .enable(MultiPhaseTurbulentModel.class); |
激活表面张力模型
不再在物理连续体上设置表面张力模型,转而在相间相互作用上进行设置。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
continuum 0.enable( SurfaceTensionModel.class); |
MultiPhaseInteractionModel multiPhaseInteractionModel_0 = continuum 0 .getModelManager() .getModel( MultiPhaseInteractionModel .class); PhaseInteraction phaseInteraction_0 = multiPhaseInteractionModel_0 .createPhaseInteraction(); phaseInteraction_0 .enable( VofPhaseInteractionModel.class); phaseInteraction_0 .enable( SurfaceTensionModel.class); phaseInteraction_0 .enable( PhaseInteractionMaterialModel .class); |
设置表面张力系数
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
ConstantMaterialPropertyMethod constantMethod_0 = ((ConstantMaterialPropertyMethod) ((SurfaceTensionProperty) singlePhaseLiquid_0 .getMaterialProperties() .getMaterialProperty( SurfaceTensionProperty.class)) .getMethod()); constantMethod 0 .getQuantity() .setValue(0.0010); |
PhaseInteractionMaterial phaseIntMaterial_0 = ((PhaseInteractionMaterial) phaseIntMaterialModel_0 .getMaterial()); ConstantMaterialPropertyMethod constantMethod_0 = ((ConstantMaterialPropertyMethod) phaseIntMaterial_0 .getMaterialProperties() .getMaterialProperty( SurfaceTensionProperty.class) .getMethod()); constantMethod_0 .getQuantity() .setValue(0.082); |
设置接触角
当表面张力模型处于活动状态时,在边界上设置接触角。 边界具有管理器对象 PhaseConditions,在该对象上设置特定于相的物理量。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
ContactAngleProfile contactAngleProfile_0 = ~ boundary_0 .getValues() .get(ContactAngleProfile.class); contactAngleProfile_0 .getMethod(ConstantScalarProfileMethod.class) .getQuantity() .setValue(3.2); |
PhaseConditions phaseConditions_0 = ((PhaseConditions) boundary_0 .get(PhaseConditionsManager.class) .getPhaseConditions("Phase Interaction 1")); ContactAngleProfile contactAngleProfile_0 = phaseConditions_0 .getPhaseValueManager() .get(ContactAngleProfile.class); contactAngleProfile_0 .getMethod(ConstantScalarProfileMethod.class) .getQuantity() .setValue(0.33); |
激活空化模型
以前在物理连续体上设置此模型,现在在相间相互作用上进行设置。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
physicsContinuum_0.enable(CavitationModel.class); |
PhaseInteraction phaseInteraction_0 = ((PhaseInteraction) multiPhaseInteractionModel_0 .getPhaseInteractionManager() .getPhaseInteraction( "Phase Interaction 1")); phaseInteraction_0 .enable(CavitationModel.class); |
激活沸腾模型
以前在物理连续体上设置此模型,现在在相间相互作用上进行设置。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
physicsContinuum_0.enable(BoilingTopModel.class); physicsContinuum_0.enable(VofBoilingModel.class); |
phaseInteraction_0 .enable(BoilingTopModel.class); phaseInteraction_0 .enable(VofBoilingModel.class); |
指定相对(VOF 相间相互作用)
在 VofPhaseInteractionModel 上设置相互作用的相对。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
不适用,因为在以前的版本中只能处理一个相对。 |
VofPhaseInteractionModel vofPhaseInteractionModel_0 = phaseInteraction_0 .getModelManager() .getModel(VofPhaseInteractionModel.class); vofPhaseInteractionModel_0 .setPrimaryPhase( eulerianPhase_1); vofPhaseInteractionModel_0 .setSecondaryPhase( eulerianPhase_0); |
3D-CAD 旋转和镜像体操作
现在使用 CadModelCoordinate 对象设置轴和位置。 以下是代码片段的一些示例。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
现在,通过 CadModelCoordinate 设置特征轴。 |
|
rotateBodyFeature_1 .getAxis() .setComponents(0.0, 0.0, 1.0); rotateBodyFeature_1 .getAxis() .setUnits(units_0); |
CadModelCoordinate cadModelCoordinate_0 = rotateBodyFeature_1 .getAxis(); cadModelCoordinate_0 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_0 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] { 0.0, 0.0, 1.0})); |
位置也使用 CadModelCoordinate 对象设置。 |
|
Coordinate coordinate_1 = mirrorBodyFeature_0 .getPosition(); coordinate_1 .setCoordinateSystem( cartesianCoordinateSystem_0); coordinate_1 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {0.4, 0.4, 0.0})); |
CadModelCoordinate cadModelCoordinate_2 = mirrorBodyFeature_0 .getPosition(); cadModelCoordinate_2 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_2 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {0.4, 0.4, 0.0})); |
3D-CAD 圆形模式和线性模式
对设置副本数、方向矢量和位置坐标的方式进行了更改。 以下是圆形模式的示例。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
bodyCircularPattern_1.setNumberCopy(5); |
bodyCircularPattern_1.getNumberCopy().setValue(5.0); |
bodyCircularPattern_1.setDirection( new DoubleVector( new double[] {1.0, 0.0, 0.0})); |
CadModelCoordinate cadModelCoordinate_3 = bodyCircularPattern_1 .getDirection(); cadModelCoordinate_3 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_3 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0})); |
Coordinate coordinate_2 = bodyCircularPattern_1 .getPosition(); coordinate_2 .setCoordinateSystem( cartesianCoordinateSystem_0); coordinate_2 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0})); |
CadModelCoordinate cadModelCoordinate_4 = bodyCircularPattern_1 .getPosition(); cadModelCoordinate_4 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_4 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0})); |
3D-CAD 拉伸
如果选择设置指定方向,则方向矢量现在被设为 CadModelCoordinate。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
extrusionMerge_1 .setDirection( new DoubleVector( new double[] {0.0, 1.0, 0.5})); |
CadModelCoordinate cadModelCoordinate_0 = extrusionMerge_1 .getDirectionAxis(); cadModelCoordinate_0 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_0 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {0.0, 1.0, 0.0})); |
3D-CAD 移动体
现在使用 CadModelCoordinate 设置移动体特征的平移矢量。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
Coordinate coordinate_2 = moveBodyFeature_0 .getTranslationVector(); coordinate_2.setCoordinateSystem( cartesianCoordinateSystem_0); coordinate_2.setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {0.0, 1.0, 0.0})); |
CadModelCoordinate cadModelCoordinate_2 = moveBodyFeature_0 .getTranslationVector(); cadModelCoordinate_2 .setCoordinateSystem( cartesianCoordinateSystem_0); cadModelCoordinate_2 .setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {0.0, 1.0, 0.0})); |
3D-CAD 转换草图平面
使用简化的函数来设置转换草图平面的角度属性。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
transformSketchPlane_0.getAngleYZ().setValue(30.0); transformSketchPlane_0.getAngleZX().setValue(-10.0); |
transformSketchPlane_0.getAngle().setComponents(30.0, -10.0, 0.0); |
Abaqus 协同仿真
Abaqus 协同仿真模块的包含路径已更改。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
通常情况下,common 或 abaqus 已添加到路径中。 所需的具体形式将取决于要使用的类。 |
|
import star.cosimulation.*; |
import star.cosimulation.common.*; import star.cosimulation.abaqus.*; |
引用单个类时: |
|
import star.cosimulation.CoSimulationManager; |
import star.cosimulation.common.CoSimulationManager; |
import star.cosimulation.CoSimulationModel; |
import star.cosimulation.common.CoSimulationModel; |
同样,与 Abaqus 相关的类以 abaqus 作为前缀: |
|
import star.cosimulation.AbaqusCoSimulation; |
import star.cosimulation.abaqus.AbaqusCoSimulation; |
热舒适性向导
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
对于 ThermalComfortSolver 类: |
|
solver.getMaximumTemperatureChange().setValues(); |
solver.setMaximumTemperatureChange(); |
对于 TcmBoundary 类: |
|
tcmboundary.setPresentationName(); // has to be set after tcmboundary.setTcmBoundaryName(); |
OLGA 耦合
OlgaZone 以前是包含 OlgaZoneName 场的 ClientServerObject。 现在 OlgaZone 是已命名对象,不再具有 OlgaZoneName 场。 通过在区域对象上调用 setPresentationName(),名称进行了更改。 新建的 OlgaZone 的默认名称也已更改。
以前发行版本 | Simcenter STAR-CCM+ 6.04.014 |
---|---|
OlgaZone olgaZone_0 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject( "OLGA Zone:NewOlgaZone")); olgaZone_0 .setOlgaPosName("POS-OUTLET"); olgaZone_0 .setOlgaZoneName("OUTLET"); OlgaZone olgaZone_1 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject( "OLGA Zone:OUTLET")); olgaZone_1 .setOlgaZoneName("OUTLET"); OlgaZone olgaZone_2 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject( "OLGA Zone:OUTLET")); olgaZone_2 .setCcmBoundary(boundary_2); OlgaZone olgaZone_3 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject( "OLGA Zone:NewOlgaZone")); |
olgaNode_0 .getOlgaZoneManager() .addOlgaZone(); OlgaZone olgaZone_0 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject("NewOlgaZone")); olgaZone_0 .setOlgaPosName("POS-OUTLET"); olgaZone_0 .setPresentationName("OUTLET"); OlgaZone olgaZone_1 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject("OUTLET")); olgaZone_1 .setPresentationName("OUTLET"); OlgaZone olgaZone_2 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject("OUTLET")); olgaZone_2 .setCcmBoundary(boundary_2); olgaNode_0 .getOlgaZoneManager() .addOlgaZone(); OlgaZone olgaZone_3 = ((OlgaZone) olgaNode_0 .getOlgaZoneManager() .getObject("NewOlgaZone")); |