宏 API 更改 4.04

Simcenter STAR-CCM+ 4.04 中,针对分离流出口边界、VOF、系统报告、多孔能量、6 自由度体和涡轮向导进行了宏 API 的更改。

下面详细介绍宏 API 中各项的更改。 如果已访问下面“以前发行版本”列中的任何项,使用以前版本的软件创建的宏将不会在 Simcenter STAR-CCM+ 4.04.011 中运行。

以前发行版本 Simcenter STAR-CCM+ 4.04.011
分离流出口中的分流比

f.setSplitFactor(dv);

f.getSplitFactor().setValue(dv);

其中 fOutletSplitFactor

VOF 沸腾模型中的 HTCxArea

vofBoilingModel_0 .getHTCxArea() .setValue(5000045.0);

VofBoilingHTCxArea vofBoilingHTCxArea_0 = vofBoilingModel_0 .getVofBoilingHTCxArea();

VofBoilingHTCxAreaConstantMethod vofBoilingHTCxAreaConstantMethod_0 = vofBoilingHTCxArea_0 .getHTCxAreaConstantMethod();

vofBoilingHTCxAreaConstantMethod_0 .getHTCxArea() .setValue(5000556.0);

IterationElapsedTimeReport 和 IterationCpuTimeReport

IteratorCpuTimeReport iteratorCpuTimeReport_0 =((IteratorCpuTimeReport) simulation_0 .getReportManager() .getReport("Solver CPU Time per Iteration"));

IteratorCpuTimeReport iteratorCpuTimeReport_0 =((IteratorCpuTimeReport) simulation_0 .getReportManager() .getReport("Solver Iteration CPU Time"));

IteratorElapsedTimeReport iteratonElapsedTimeReport_0 =((IteratorElapsedTimeReport) simulation_0 .getReportManager() .getReport("Solver Elapsed Time per Iteration"));

IteratorElapsedTimeReport iteratorElapsedTimeReport_0 =((IteratorElapsedTimeReport) simulation_0 .getReportManager() .getReport("Solver Iteration Elapsed Time"));

多孔能量指定

RegionThermalPorosity rts = region.getValues() .get(RegionThermalPorosity.class);

rts .setPorousConductivity(0.0260305);

PorousConductivityProfile porousConductivityProfile = region .getValues() .get( PorousConductivityProfile.class);

porousConductivityProfile .setMethod( IsotropicTensorProfileMethod .class);

ScalarProfile scalarProfile = ((IsotropicTensorProfileMethod) porousConductivityProfile .getMethod()) .getIsotropicProfile();

((ConstantScalarProfileMethod) scalarProfile .getMethod()) .getQuantity() .setValue(0.0260305);

RegionThermalPorosity rts = region.getValues() .get(RegionThermalPorosity.class);

rts .setPorousSpecificHeat(1023.3);

PorousSpecificHeatProfileporousSpecificHeatProfile = region .getValues() .get( PorousSpecificHeatProfile.class);

porousSpecificHeatProfile .setMethod( IsotropicTensorProfileMethod .class);

ScalarProfilescalarProfile = ((IsotropicTensorProfileMethod) porousSpecificHeatProfile .getMethod()) .getIsotropicProfile();

((ConstantScalarProfileMethod) scalarProfile.getMethod()) .getQuantity() .setValue(1023.3);

6 自由度体属性

以前的 6 自由度体属性 ExternalForce、ExternalLocalForce、ExternalMoment 和 ExternalLocalMoment 已被移除。 转而引入了 ExternalForceAndMomentManager,它可以用来添加或删除不同种类的力,包括旧的力。 因此,通过宏对力/力矩的访问已发生更改。

Body body_0 = ((Body) simulation_0 .get(BodyManager.class) .getObject("ship"));

Body body_0 = ((Body) simulation_0 .get(BodyManager.class) .getObject("ship"));

// 1) Set external force:

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

// 1) Set external force:

ExternalForceCM externalForceCM_0 = body_0 .getExternalForceAndMomentManager() .createExternalForceAndMoment( ExternalForceCM.class);

externalForceCM_0 .getForce() .setComponents(1.0, 0.0, 0.0);

// 2) Set external local force:

body_0 .getExternalLocalForce() .setVector( new DoubleVector( new double[] {2.0, 0.0, 0.0}));

// 2) Set external local force:

ExternalForceCM externalForceCM_1 = body_0 .getExternalForceAndMomentManager() .createExternalForceAndMoment( ExternalForceCM.class);

externalForceCM_1 .getForce() .setComponents(2.0, 0.0, 0.0);

CartesianCoordinateSystem cartesianCoordinateSystem_0 = ((CartesianCoordinateSystem) simulation_0 .getCoordinateSystemManager() .getObject("ship-CSys"));

externalForceCM_1 .setCoordinateSystem( cartesianCoordinateSystem_0);

// 3) Set external moment:

body_0 .getExternalMoment() .setVector( new DoubleVector( new double[] {3.0, 0.0, 0.0}));

// 3) Set external moment:

ExternalMomentCM externalMomentCM_0 = body_0 .getExternalForceAndMomentManager() .createExternalForceAndMoment( ExternalMomentCM.class);

externalMomentCM_0.getMoment() .setComponents(3.0, 0.0, 0.0);

// 4) Set external local moment:

body_0 .getExternalLocalMoment() .setVector( new DoubleVector( new double[] {4.0, 0.0, 0.0}));

// 4) Set external local moment:

ExternalMomentCM externalMomentCM_1 = body_0 .getExternalForceAndMomentManager() .createExternalForceAndMoment( ExternalMomentCM.class);

externalMomentCM_1 .getMoment() .setComponents(4.0, 0.0, 0.0);

externalMomentCM_1 .setCoordinateSystem( cartesianCoordinateSystem_0);

涡轮向导

应使用涡轮向导重新录制涉及 ImportManager 上的 importTurboBlade 方法的宏,因为已经对此方法的参数列表进行了一些更改。