宏 API 更改 6.06

Simcenter STAR-CCM+ 6.06 中,针对 DFBI、VOF、建模、融化与凝固、固体应力求解器、电池建模和 OLGA 耦合进行了宏 API 的更改。

DFBI 中的外力和推进力更改

推进力和外力已扩展,以便可以在体坐标系以外的坐标系中指定力的位置。 产生以下宏更改:

以前发行版本 Simcenter STAR-CCM+ 6.06.011

推进力:属性 Position 的类型已从 VectorPhysicalQuantity 更改为 Coordinate

propulsionForce_0

.getPosition()

.setComponents(1.0, 0.0, 0.0);

Units units_0 =

((Units) simulation_0

.getUnitsManager()

.getObject("m"));

propulsionForce_0

.getPositionAsCoordinate()

.setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

propulsionForce_0

.getPosition()

.setVector( new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

Units units_0 = ((Units) simulation_0

.getUnitsManager()

.getObject("m"));

propulsionForce_0

.getPositionAsCoordinate()

.setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

外力:属性 Position 的类型已从 VectorPhysicalQuantity 更改为 Coordinate

externalForce_0

.getPosition()

.setComponents(1.0, 0.0, 0.0);

Units units_0 = ((Units) simulation_0

.getUnitsManager()

.getObject("m"));

externalForce_0

.getPositionAsCoordinate()

.setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

externalForce_0

.getPosition()

.setVector( new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

Units units_0 = ((Units) simulation_0

.getUnitsManager()

.getObject("m"));

externalForce_0

.getPositionAsCoordinate()

.setCoordinate( units_0, units_0, units_0, new DoubleVector( new double[] {1.0, 0.0, 0.0} ));

出于安全方面的考虑,在 PropulsionForceExternalForce 这两个类中,方法 getPosition() 已声明为专用。 如果仍使用此方法,系统将会发出编译错误。 应改用方法 getPositionAsCoordinate().setCoordinate(...)

VOF 多相模型的类名称更改

如果从宏激活 VOF 多相模型,则需要激活 SegregatedVofFlowModel 而不是 SegregatedFlowModel

以前发行版本 Simcenter STAR-CCM+ 6.06.011

physicsContinuum_0.enable( SegregatedVofModel.class);

physicsContinuum_0.enable(SegregatedFlowModel.class);

physicsContinuum_0.enable( SegregatedVofModel.class);

physicsContinuum_0.enable( SegregatedVofFlowModel.class);

激活凝固-融化

不再在物理连续体上激活凝固-融化模型,转而在相间相互作用上激活。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

physicsContinuum_0.enable(VofEnthalpyMeltingModel.class);

phaseInteraction_1 .enable(VofEnthalpyMeltingModel.class);

激活 Carman-Kozeny 两相渗透率

不再在物理连续体上激活 Carman-Kozeny 两相渗透率模型,转而在相间相互作用上激活。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

physicsContinuum_0.enable(MushyZoneCarmanKozenyPermeabilityModel.class);

phaseInteraction_1 .enable(MushyZoneCarmanKozenyPermeabilityModel.class);

设置潜热、液相线和固相线温度

不再为欧拉相管理器中的材料设置潜热、液相线温度和固相线温度,而是为相间相互作用管理器中的多相混合物设置潜热、液相线温度和固相线温度。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

SinglePhaseLiquidModelsinglePhaseLiquidModel_0 =eulerianPhase_1.getModelManager().getModel(SinglePhaseLiquidModel.class);

SinglePhaseLiquid singlePhaseLiquid_0 =((SinglePhaseLiquid)singlePhaseLiquidModel_0.getMaterial());

ConstantMaterialPropertyMethodconstantMaterialPropertyMethod_0 =((ConstantMaterialPropertyMethod)singlePhaseLiquid_0

.getMaterialProperties()

.getMaterialProperty(LatentHeatProperty.class)

.getMethod());

constantMaterialPropertyMethod_0

.getQuantity().setValue(4800000.0);

PhaseInteractionMaterialModel phaseInteractionMaterialModel_0 = phaseInteraction_1 .getModelManager() .getModel(PhaseInteractionMaterialModel.class);

PhaseInteractionMaterial phaseInteractionMaterial_0 = ((PhaseInteractionMaterial) phaseInteractionMaterialModel_0 .getMaterial());

ConstantMaterialPropertyMethod constantMaterialPropertyMethod_0 = ((ConstantMaterialPropertyMethod) phaseInteractionMaterial_0

.getMaterialProperties()

.getMaterialProperty(LatentHeatProperty.class)

.getMethod());

constantMaterialPropertyMethod_0

.getQuantity() .setValue(4800000.0);

ConstantMaterialPropertyMethodconstantMaterialPropertyMethod_1 =((ConstantMaterialPropertyMethod)singlePhaseLiquid_0.getMaterialProperties().getMaterialProperty(LiquidusTemperatureProperty.class).getMethod());

constantMaterialPropertyMethod_1.getQuantity().setValue(300.0);

ConstantMaterialPropertyMethod constantMaterialPropertyMethod_1 = ((ConstantMaterialPropertyMethod) phaseInteractionMaterial_0

.getMaterialProperties()

.getMaterialProperty(LiquidusTemperatureProperty.class)

.getMethod());

constantMaterialPropertyMethod_1 .getQuantity().setValue(300.0);

ConstantMaterialPropertyMethodconstantMaterialPropertyMethod_2 =((ConstantMaterialPropertyMethod)singlePhaseLiquid_0.getMaterialProperties().getMaterialProperty(SolidusTemperatureProperty.class).getMethod());

constantMaterialPropertyMethod_2.getQuantity().setValue(400.0);

ConstantMaterialPropertyMethod constantMaterialPropertyMethod_2 = ((ConstantMaterialPropertyMethod) phaseInteractionMaterial_0

.getMaterialProperties()

.getMaterialProperty(SolidusTemperatureProperty.class)

.getMethod());

constantMaterialPropertyMethod_2 .getQuantity().setValue(400.0);

固体应力求解器的类名称更改

固体应力求解器的类名称现在为 SolidStressIterativeSolver。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

SolidStressSolver solidStressSolver_0 =((SolidStressSolver) simulation_0

.getSolverManager()

.getSolver(

SolidStressSolver.class));

SolidStressIterativeSolver solidStressIterativeSolver_0 =((SolidStressIterativeSolver) simulation_0

.getSolverManager()

.getSolver( SolidStressIterativeSolver.class));

电池模块更改

在上一版本之后,生成电池模块对象的过程已发生更改。 以前的单一操作已分解为三个单独的操作。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

batteryModule_0.generate();

batteryModule_0.generateParts();

batteryModule_0 .generateConnectorParts();

batteryModule_0 .generateRegions( new NeoObjectVector( new Object[] {}), true);

OLGA 耦合更改

对于 OLGA 耦合模拟,默认情况下欧拉相的动力粘度设为使用 OLGA 动力粘度方法。 如果希望设置恒定动力粘度,需要在设置常数值之前选择此材料属性方法。

以前发行版本 Simcenter STAR-CCM+ 6.06.011

ConstantMaterialPropertyMethodconstantMaterialPropertyMethod_0 =((ConstantMaterialPropertyMethod)singlePhaseGas_1.getMaterialProperties().getMaterialProperty(DynamicViscosityProperty.class).getMethod());constantMaterialPropertyMethod_0.getQuantity().setValue(1.704E-5);

SinglePhaseLiquidsinglePhaseLiquid_0 =((SinglePhaseLiquid)singlePhaseLiquidModel_0.getMaterial());singlePhaseLiquid_0.getMaterialProperties().getMaterialProperty(DynamicViscosityProperty.class).setMethod(ConstantMaterialPropertyMethod.class);ConstantMaterialPropertyMethodconstantMaterialPropertyMethod_0 =((ConstantMaterialPropertyMethod)singlePhaseLiquid_0.getMaterialProperties().getMaterialProperty(DynamicViscosityProperty.class).getMethod());constantMaterialPropertyMethod_0.getQuantity().setValue(1.704E-5);