宏 API 更改 9.04

Simcenter STAR-CCM+ 9.04,针对颗粒压力模型、欧拉多相建模、协同仿真、1D 耦合、STAR-Cast 和 Ffowcs Williams-Hawkings 模型进行了宏 API 的更改。

摩擦和颗粒压力模型更改

Simcenter STAR-CCM+ v9.04 中,在颗粒压力模型中完成摩擦模型的选择。 按以下说明更新旧宏:

以前发行版本 Simcenter STAR-CCM+ v9.04

//Activating the Granular Pressure Model

PhysicsContinuum physicsContinuum_0 = 

((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); physicsContinuum_0.enable(GranularPressureModel.class); physicsContinuum_0.enable(GranularTemperatureProviderGroup.class); physicsContinuum_0.enable(GranularTemperatureTransportModelProvider.class);

//Activating the Granular Pressure Model

PhysicsContinuum physicsContinuum_0 = 

((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); physicsContinuum_0.enable(GranularPressureModel.class); physicsContinuum_0.enable(GranularTemperatureTransportModelProvider.class);

//Setting frictional regime to Modified Johnson

GranularPressureModel granularPressureModel_0 =  physicsContinuum_0.getModelManager().getModel(GranularPressureModel.class); FrictionalTheoryProvider frictionalTheoryProvider_0 = granularPressureModel_0.getFrictionalTheory(); frictionalTheoryProvider_0.getFrictionalSolidPressureOption().setSelected(FrictionalSolidPressureOption.MOD_JOHNSON);

//Setting frictional regime to Modified Johnson

PhysicsContinuum physicsContinuum_0 = 

((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1")); GranularPressureModel granularPressureModel_0 =  physicsContinuum_0.getModelManager().getModel(GranularPressureModel.class); granularPressureModel_0.getFrictionalSolidPressureOption().setSelected(FrictionalSolidPressureOption.MOD_JOHNSON);

//Setting frictional regime to Schaeffer GranularPressureModel granularPressureModel_0 = physicsContinuum_0.getModelManager().getModel(GranularPressureModel.class); FrictionalTheoryProvider frictionalTheoryProvider_0 =  granularPressureModel_0.getFrictionalTheory(); frictionalTheoryProvider_0.getFrictionalSolidPressureOption().setSelected(FrictionalSolidPressureOption.SCHAEFFER);

//Setting frictional regime to Schaeffer GranularPressureModel

GranularPressureModel granularPressureModel_0 =  physicsContinuum_0.getModelManager().getModel(GranularPressureModel.class); granularPressureModel_0.getFrictionalSolidPressureOption().setSelected(FrictionalSolidPressureOption.SCHAEFFER);

//Setting angle property on Schaeffer model

SchaefferFrictionalMethod schaefferFrictionalMethod_0 =  frictionalTheoryProvider_0.getFrictionalMethod(); schaefferFrictionalMethod_0.getAngInternalFriction().setValue(26.0);

//Setting angle property on Schaeffer model

SchaefferFrictionalMethod schaefferFrictionalMethod_0 =  granularPressureModel_0.getFrictionalMethod(); schaefferFrictionalMethod_0.getAngInternalFriction().setValue(26.0);

欧拉多相相互作用长度尺度和相互作用面积密度更改

Simcenter STAR-CCM+ v9.04 中,不同相互作用长度尺度 (ILS) 模型会合并到单个模型中。 同样,不同相互作用面积密度 (IAD) 模型也合并到一个模型中。 以前的 ILS 和 IAD 模型现在作为 ILS 和 IAD 方法提供。 常数相互作用长度尺度方法设为默认 ILS 方法(其值为 0.001 m),而对称相互作用面积密度方法设为默认 IAD 方法。

以前发行版本 Simcenter STAR-CCM+ v9.04

//Selecting Interaction Length Scale as Constant and setting its value to 1.0E-4

eulerianPhaseInteraction_0.enable(ConstantInteractionLengthScaleModel.class);

ConstantInteractionLengthScaleModel constantInteractionLengthScaleModel_0 =

eulerianPhaseInteraction_0.getModelManager().getModel(ConstantInteractionLengthScaleModel.class);

constantInteractionLengthScaleModel_0.getInteractionLengthScale().setValue(1.0E-4);

//Selecting Symmetric Interaction Area Density

eulerianPhaseInteraction_0.enable(SymmetricInteractionAreaDensityModel.class);

//Selecting Interaction Length Scale as Constant and setting its value to 1.0E-4

eulerianPhaseInteraction_0.enable(EulerianInteractionLengthScaleModel.class);

EulerianInteractionLengthScaleModel eulerianInteractionLengthScaleModel_0 =

eulerianPhaseInteraction_0.getModelManager().getModel(EulerianInteractionLengthScaleModel.class);

ConstantInteractionCoefficientMethod constantInteractionCoefficientMethod_0 =

eulerianInteractionLengthScaleModel_0.getEulerianInteractionLengthScale().getMethod(ConstantInteractionCoefficientMethod.class);

constantInteractionCoefficientMethod_0.getQuantity().setValue(1.0E-4);

//Selecting Symmetric Interaction Area Density (default)

eulerianPhaseInteraction_0.enable(InteractionAreaDensityModel.class);

//Using a Field Function as Interaction Length Scale

eulerianPhaseInteraction_0.enable(ConstantInteractionLengthScaleModel.class);

ConstantInteractionLengthScaleModel constantInteractionLengthScaleModel_0 =

phaseInteraction_0.getModelManager().getModel(ConstantInteractionLengthScaleModel.class);

phaseInteraction_0.disableModel(constantInteractionLengthScaleModel_0);

phaseInteraction_0.enable(UserDefinedInteractionLengthScaleModel.class);

UserDefinedInteractionLengthScaleModel userDefinedInteractionLengthScaleModel_0 =

phaseInteraction_0.getModelManager().getModel(UserDefinedInteractionLengthScaleModel.class);

InteractionLengthScaleProfile interactionLengthScaleProfile_0 =

userDefinedInteractionLengthScaleModel_0.getInteractionLengthScaleProfile();

UserFieldFunction userFieldFunction_0 =

((UserFieldFunction) simulation_0.getFieldFunctionManager().getFunction(desiredFunctionName));

interactionLengthScaleProfile_0.getMethod(FunctionScalarProfileMethod.class).setFieldFunction(userFieldFunction_0);

//Using a Field Function as Interaction Length Scale

eulerianPhaseInteraction_0.enable(EulerianInteractionLengthScaleModel.class);

EulerianInteractionLengthScaleModel eulerianInteractionLengthScaleModel_0 =

phaseInteraction_0.getModelManager().getModel(EulerianInteractionLengthScaleModel.class);

eulerianInteractionLengthScaleModel_0.getEulerianInteractionLengthScale().setMethod(FunctionInteractionCoefficientMethod.class);

FunctionInteractionCoefficientMethod functionInteractionCoefficientMethod_0 =

eulerianInteractionLengthScaleModel_0.getEulerianInteractionLengthScale().getMethod(FunctionInteractionCoefficientMethod.class);

UserFieldFunction userFieldFunction_0 =

((UserFieldFunction) simulation_0.getFieldFunctionManager().getFunction(desiredFunctionName));

functionInteractionCoefficientMethod_0.setFieldFunction(userFieldFunction_0);

//Selecting Spherical Particle Interaction Area Density

phaseInteraction_0.enable(SymmetricInteractionAreaDensityModel.class);

SymmetricInteractionAreaDensityModel symmetricInteractionAreaDensityModel_0 =

phaseInteraction_0.getModelManager().getModel(SymmetricInteractionAreaDensityModel.class);

phaseInteraction_0.disableModel(symmetricInteractionAreaDensityModel_0);

phaseInteraction_0.enable(SphericalParticleInteractionAreaDensityModel.class);

//Selecting Spherical Particle Interaction Area Density

phaseInteraction_0.enable(InteractionAreaDensityModel.class);

InteractionAreaDensityModel interactionAreaDensityModel_0 =

phaseInteraction_0.getModelManager().getModel(InteractionAreaDensityModel.class);

interactionAreaDensityModel_0.getInteractionAreaDensity().setMethod(SphericalParticleInteractionAreaDensityMethod.class);

欧拉多相流体分布和流体选项更改

Simcenter STAR-CCM+ v9.04 中,用于设置初始条件、边界条件、质量和动量源的 EMP 速度和体积分数分布已迁移到每个单独的相。

以前发行版本 Simcenter STAR-CCM+ v9.04

//Setting the Initial conditions for velocity and volume fraction

MultiPhaseVelocityProfile multiPhaseVelocityProfile_0 =

physicsContinuum_0.getInitialConditions().get(MultiPhaseVelocityProfile.class);

VectorProfile vectorProfile_0 =

multiPhaseVelocityProfile_0.getMethod(CompositeArrayVectorProfileMethod.class).getProfile(0);

vectorProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(2.02, 0.0, 0.0);

VectorProfile vectorProfile_1 =

multiPhaseVelocityProfile_0.getMethod(CompositeArrayVectorProfileMethod.class).getProfile(1);

vectorProfile_1.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(2.0, 0.0, 0.0);

VolumeFractionProfile volumeFractionProfile_0 =

physicsContinuum_0.getInitialConditions().get(VolumeFractionProfile.class);

volumeFractionProfile_0.getMethod(ConstantArrayProfileMethod.class).getQuantity().setArray(new DoubleVector(new double[]

{0.999, 0.0010}));

//Setting the Initial conditions for velocity and volume fraction

VelocityProfile velocityProfile_0 =

eulerianPhase_0.get(ContinuumInitialConditionManager.class).get(VelocityProfile.class);

velocityProfile_0.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(2.02, 0.0, 0.0);

VelocityProfile velocityProfile_1 =

eulerianPhase_1.get(ContinuumInitialConditionManager.class).get(VelocityProfile.class);

velocityProfile_1.getMethod(ConstantVectorProfileMethod.class).getQuantity().setComponents(2.0, 0.0, 0.0);

ScalarVolumeFractionProfile scalarVolumeFractionProfile_0 =

eulerianPhase_0.get(ContinuumInitialConditionManager.class).get(ScalarVolumeFractionProfile.class);

scalarVolumeFractionProfile_0.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(0.999);

ScalarVolumeFractionProfile scalarVolumeFractionProfile_1 =

eulerianPhase_1.get(ContinuumInitialConditionManager.class).get(ScalarVolumeFractionProfile.class);

scalarVolumeFractionProfile_1.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(0.0010);

//Setting boundary conditions for two-phases (Water and Steam)

MultiPhaseVelocityMagnitudeProfile multiPhaseVelocityMagnitudeProfile_0 =

boundary_1.getValues().get(MultiPhaseVelocityMagnitudeProfile.class);

multiPhaseVelocityMagnitudeProfile_0.getMethod(ConstantArrayProfileMethod.class).getQuantity().setArray(new DoubleVector(new double[] {2.0, 2.0}));

VolumeFractionProfile volumeFractionProfile_1 =

boundary_1.getValues().get(VolumeFractionProfile.class);

volumeFractionProfile_1.getMethod(ConstantArrayProfileMethod.class).getQuantity().setArray(new DoubleVector(new double[] {0.999, 0.0010}));

//Setting boundary conditions for two-phases (Water and Steam)

PhaseConditions phaseConditions_0 =

((PhaseConditions) boundary_1.get(PhaseConditionsManager.class).getPhaseConditions("Water"));

PhaseConditions phaseConditions_1 =

((PhaseConditions) boundary_1.get(PhaseConditionsManager.class).getPhaseConditions("Steam"));

VelocityMagnitudeProfile velocityMagnitudeProfile_0 =

phaseConditions_0.getPhaseValueManager().get(VelocityMagnitudeProfile.class);

velocityMagnitudeProfile_0.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(2.0);

VelocityMagnitudeProfile velocityMagnitudeProfile_1 =

phaseConditions_1.getPhaseValueManager().get(VelocityMagnitudeProfile.class);

velocityMagnitudeProfile_1.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(2.0);

ScalarVolumeFractionProfile scalarVolumeFractionProfile_2 =

phaseConditions_0.getPhaseValueManager().get(ScalarVolumeFractionProfile.class);

scalarVolumeFractionProfile_2.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(0.999);

ScalarVolumeFractionProfile scalarVolumeFractionProfile_3 =

phaseConditions_1.getPhaseValueManager().get(ScalarVolumeFractionProfile.class);

scalarVolumeFractionProfile_3.getMethod(ConstantScalarProfileMethod.class).getQuantity().setValue(0.0010);

//Turning on mass and momentum user-source options

MultiPhaseMassUserSourceOption multiPhaseMassUserSourceOption_0 =

region_0.getConditions().get(MultiPhaseMassUserSourceOption.class);

multiPhaseMassUserSourceOption_0.setUserSourceOption(true);

MultiPhaseMomentumUserSourceOption multiPhaseMomentumUserSourceOption_1 =

region_0.getConditions().get(MultiPhaseMomentumUserSourceOption.class);

multiPhaseMomentumUserSourceOption_1.setUserSourceOption(true);

//Turning on mass and momentum user-source options

MassUserSourceOption massUserSourceOption_0 =

phaseConditions_0.getPhaseConditionManager().get(MassUserSourceOption.class);

massUserSourceOption_0.setUserSourceOption(true);

MassUserSourceOption massUserSourceOption_1 =

phaseConditions_1.getPhaseConditionManager().get(MassUserSourceOption.class);

massUserSourceOption_1.setUserSourceOption(true);

phaseConditions_0.getPhaseConditionManager().get(MomentumUserSourceOption.class).setSelected(MomentumUserSourceOption.SPECIFIED);

phaseConditions_1.getPhaseConditionManager().get(MomentumUserSourceOption.class).setSelected(MomentumUserSourceOption.SPECIFIED);

//Setting the field-functions as mass and momentum user source

MultiPhaseMassUserSource multiPhaseMassUserSource_0 =

region_0.getValues().get(MultiPhaseMassUserSource.class);

multiPhaseMassUserSource_0.setMethod(CompositeArrayProfileMethod.class);

MultiPhaseMassUserSourceVolumeFractionDerivative multiPhaseMassUserSourceVolumeFractionDerivative_0 =

region_0.getValues().get(MultiPhaseMassUserSourceVolumeFractionDerivative.class);

multiPhaseMassUserSourceVolumeFractionDerivative_0.setMethod(CompositeArrayProfileMethod.class);

//Setting the field-functions as mass and momentum user source

MassUserSource massUserSource_0 =

phaseConditions_0.getPhaseValueManager().get(MassUserSource.class);

massUserSource_0.setMethod(FunctionScalarProfileMethod.class);

MassUserSource massUserSource_1 =

phaseConditions_1.getPhaseValueManager().get(MassUserSource.class);

massUserSource_1.setMethod(FunctionScalarProfileMethod.class);

MassUserSourceVolumeFractionDerivative massUserSourceVolumeFractionDerivative_0 =

phaseConditions_0.getPhaseValueManager().get(MassUserSourceVolumeFractionDerivative.class);

massUserSourceVolumeFractionDerivative_0.setMethod(FunctionScalarProfileMethod.class);

同样,将下表中列出的旧类名称替换为更新后的对等名称:

以前发行版本 Simcenter STAR-CCM+ v9.04

MultiPhaseVelocityProfile

VelocityProfile

VolumeFractionProfile

ScalarVolumeFractionProfile

MultiPhaseMassUserSourceOption

MassUserSourceOption

MultiPhaseMassUserSource

MassUserSource

MultiPhaseMomentumUserSourceOption

MomentumUserSourceOption

MultiPhaseMomentumUserSource

MomentumUserSource

MultiPhaseMomentumUserSourceJacobianVector 

MomentumUserSourceJacobianVector 

MultiPhaseMassUserSourceVolumeFractionDerivative 

MassUserSourceVolumeFractionDerivative

由于引入隐式模型和求解器产生 Simcenter STAR-CCM+ 协同仿真 API 更改

Simcenter STAR-CCM+ v9.04 中,针对 Simcenter STAR-CCM+ 协同仿真引入了 StarccmplusCoSimulationImplicitUnsteadyModel 模型和 StarccmplusCoSimulationImplicitUnsteadySolver 求解器。

为了适应这些更改,以前的 StarccmplusCoSimulationModel 模型已重命名为 StarccmplusCoSimulationExplicitUnsteadyModel(对于瞬态模拟)和 StarccmplusCoSimulationSteadyModel(对于稳态模拟)。

对于瞬态模拟,以前的 StarccmplusCoSimulationUnsteadySolver 求解器已重命名为 StarccmplusCoSimulationExplicitUnsteadySolver。 如果模拟包含较旧的模型或求解器,它们将更新以使用重命名的变体。

以前发行版本 Simcenter STAR-CCM+ v9.04

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

physicsContinuum_0.enable(CoSimulationModel.class);

physicsContinuum_0.enable(StarccmplusCoSimulationModel.class);

StarccmplusCoSimulationUnsteadySolver starccmplusCoSimulationUnsteadySolver_0 =          ((StarccmplusCoSimulationUnsteadySolver) simulation_0.getSolverManager().getSolver(StarccmplusCoSimulationUnsteadySolver.class));

((ConstantNegotiationMethod) starccmplusCoSimulationUnsteadySolver_0.getNegotiationMethodManager().getMethod()).getConstantTimeStep().setValue(10.0);

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

physicsContinuum_0.enable(CoSimulationModel.class);

physicsContinuum_0.enable(StarccmplusCoSimulationExplicitUnsteadyModel.class);

StarccmplusCoSimulationExplicitUnsteadySolver starccmplusCoSimulationExplicitUnsteadySolver_0 = 

((StarccmplusCoSimulationExplicitUnsteadySolver) simulation_0.getSolverManager().getSolver(StarccmplusCoSimulationExplicitUnsteadySolver.class));

((ConstantNegotiationMethod) starccmplusCoSimulationExplicitUnsteadySolver_0.getNegotiationMethodManager().getMethod()).getConstantTimeStep().setValue(10.0);

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

physicsContinuum_0.enable(CoSimulationModel.class);

physicsContinuum_0.enable(StarccmplusCoSimulationModel.class);

StarccmplusCoSimulationSteadySolver starccmplusCoSimulationSteadySolver_0 = 

 ((StarccmplusCoSimulationSteadySolver) simulation_0.getSolverManager().getSolver(StarccmplusCoSimulationSteadySolver.class));

NumIterationsPerExchange numIterationsPerExchange_0 = 

starccmplusCoSimulationSteadySolver_0.getNumIterationsPerExchange();

numIterationsPerExchange_0.setNumIterationsPerExchange(10);

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

physicsContinuum_0.enable(CoSimulationModel.class);

physicsContinuum_0.enable(StarccmplusCoSimulationSteadyModel.class);

StarccmplusCoSimulationSteadySolver starccmplusCoSimulationSteadySolver_0 = 

((StarccmplusCoSimulationSteadySolver) simulation_0.getSolverManager().getSolver(StarccmplusCoSimulationSteadySolver.class));

NumIterationsPerExchange numIterationsPerExchange_0 = 

starccmplusCoSimulationSteadySolver_0.getNumIterationsPerExchange();

numIterationsPerExchange_0.setNumIterationsPerExchange(10);

1D 耦合中区域分配到边界的方式更改

Simcenter STAR-CCM+ v9.04 中,使用对象选择器对话框来设置区域。 在以前的版本中,使用下拉菜单选择区域的边界。 必须对引用旧边界选择法的任何宏进行更新,如下所示:

以前发行版本 Simcenter STAR-CCM+ v9.04

OlgaZone olgaZone_1 = 

      ((OlgaZone) olga5Node_0.getOlgaZoneManager().getObject("Zone 1"));

Boundary boundary_0 = 

region_0.getBoundaryManager().getBoundary("Inlet");

olgaZone_1.setCcmBoundary(boundary_0);

OlgaZone olgaZone_1 = 

      ((OlgaZone) olga5Node_0.getOlgaZoneManager().getObject("Zone 1"));

Boundary boundary_0 = 

region_0.getBoundaryManager().getBoundary("Inlet”);

olgaZone_1.getCcmBoundaryPartGroup().setObjects(boundary_0);

STAR-Cast 中的二次枝晶间距模型更改

Simcenter STAR-CCM+ v9.04 中,一次枝晶间距材料属性转换为一次枝晶间距模型。 同样,二次枝晶间距材料属性转换为二次枝晶间距/二次枝晶间距 (LST)/二次枝晶间距 (CR) 模型。 必须对包含这些函数的任何旧宏进行更新,如下所示:

以前发行版本 Simcenter STAR-CCM+ v9.04

package macro;

import java.util.*;

import star.common.*;

import star.casting.*;

public class castingModel extends StarMacro {

public void execute() {

execute0();

}

private void execute0() {

Simulation simulation_0 = 

getActiveSimulation();

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

EulerianMultiPhaseModel eulerianMultiPhaseModel_0 = 

physicsContinuum_0.getModelManager().getModel(EulerianMultiPhaseModel.class);

EulerianPhase eulerianPhase_0 = 

      ((EulerianPhase) eulerianMultiPhaseModel_0.getPhaseManager().getPhase("Phase 1"));

eulerianPhase_0.enable(CriteriaFunctionModel.class);

}

}

package macro;

import java.util.*;

import star.material.*;

import star.common.*;

import star.casting.*;

public class castingModel extends StarMacro {

public void execute() {

execute0();

}

private void execute0() {

Simulation simulation_0 = 

getActiveSimulation();

PhysicsContinuum physicsContinuum_0 = 

      ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Physics 1"));

EulerianMultiPhaseModel eulerianMultiPhaseModel_0 = 

physicsContinuum_0.getModelManager().getModel(EulerianMultiPhaseModel.class);

EulerianPhase eulerianPhase_0 = 

      ((EulerianPhase) eulerianMultiPhaseModel_0.getPhaseManager().getPhase("Phase 1"));

eulerianPhase_0.enable(CriteriaFunctionModel.class);

eulerianPhase_0.enable(PrimaryDendriteArmSpacingModel.class);

eulerianPhase_0.enable(SecondaryDendriteArmSpacingModel.class);

eulerianPhase_0.enable(SecondaryDendriteArmSpacingLSTModel.class);

}

}

Ffowcs Williams-Hawkings 模型更改

远场密度远场声速属性已从作为飞行中的 FW-H 模型的属性转换为 FW-H 接收器管理器。 因此,显式(而不是默认情况下)设置这些属性的任何旧宏将无法编译。

以前发行版本 Simcenter STAR-CCM+ v9.04

FwhModel fwhModel_0 =

physicsContinuum_0.getModelManager().getModel(FwhModel.class);

fwhModel_0.getRhoFarField().setValue(1.225);

fwhModel_0.getSoundSpeedFarField().setValue(340.0);

simulation_0.get(ReceiverManager.class).getFarFieldDensity().setValue(1.225);

simulation_0.get(ReceiverManager.class).getFarFieldSoundSpeed().setValue(340.0); 

声学相关长度已从作为二维模拟的参考值节点中的属性(启用飞行中的 FW-H 模型后 FW-H 模型的情况下)分别转换为 FW-H 接收器管理器(对于飞行中的 FW-H 模型)和后 FW-H 接收器管理器(对于后 FW-H 模型)。 因此,显式(而不是默认情况下)设置此属性的任何旧宏将无法编译。

以前发行版本 Simcenter STAR-CCM+ v9.04

continuum.getReferenceValues().get(AcousticCorrelationLengthRV.class).setValue(0.19); 

simulation_0.get(ReceiverManager.class).getAcousticCorrelationLength().setValue(0.19);

simulation_0.get(FwhPostProcessingReceiverManager.class).getAcousticCorrelationLength().setValue(0.19);

远场密度远场声速属性已从作为后 FW-H 模型的属性转换为后 FW-H 接收器管理器。 因此,显式(而不是默认情况下)设置这些属性的任何旧宏将无法编译。

以前发行版本 Simcenter STAR-CCM+ v9.04

FwhCollectTrnPostProcessingModel

fwhCollectTrnPostProcessingModel_0 =

physicsContinuum_0.getModelManager().getModel(FwhCollectTrnPostProcessingModel.class);

fwhCollectTrnPostProcessingModel_0.getRhoFarField().setValue(1.225);

fwhCollectTrnPostProcessingModel_0.getSoundSpeedFarField().setValue(340.0);

simulation_0.get(FwhPostProcessingReceiverManager.class).getFarFieldDensity().setValue(1.225);

simulation_0.get(FwhPostProcessingReceiverManager.class).getFarFieldSoundSpeed().setValue(340.0)