宏 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

通常情况下,commonabaqus 已添加到路径中。 所需的具体形式将取决于要使用的类。

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"));