宏 API 更改 5.04

Simcenter STAR-CCM+ 5.04 中,针对材料数据库、NASA 多项式、表面修复、DFBI 和清除求解进行了宏 API 的更改。

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

材料数据库

MaterialDataBase 上的函数 setPath() 不再有效。 此命令的用途是允许 Simcenter STAR-CCM+ 自动从列表中的路径导入 dbs 文件。 这些文件现在必须转换为新的 .mdb 格式,如用户指南中所述。

NASA 多项式

在以前版本的 Simcenter STAR-CCM+ 中,用户通过宏设置的热力学多项式数据必须首先乘以系数 Ru/Mr(X),其中 Ru 为通用气体常数 [J /(kmol K)],Mr(X) 为物质 X 的分子量 [kg/kmol]。 从 Simcenter STAR-CCM+ 5.04.006 开始,不需要此比例缩放:应当输入系数,因为它们可以在文献中找到。

应修改任何现有宏以考虑此更改。

自动表面修复选项

已从 AutomaticSurfaceRepair 类中移除以下方法:


getDoFixPiercedFaces

setDoFixPiercedFaces

setDoFixCloseProximityFaces

setDoFixPoorQualityFaces

此外,以下方法的行为已更改,因为这些方法现在根据其在“表面重构”面板中的设置返回值:


getDoFixCloseProximityFaces

getDoFixPoorQualityFaces

DFBI 线性弹簧力

线性弹簧的主要功能已从线性弹簧力(位于 6 自由度体的“外力与力矩”管理器中)转移到新的线性弹簧耦合(位于 DFBI 父顶层节点下方的新体耦合管理器中)。 这意味着与线性弹簧相关的 Java 代码已更改。 下面给出了以前版本中实施的宏及其最新对应项。

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

// Create Linear Spring Force

Body body_0 =

((Body) simulation_0 .get(BodyManager.class) .getObject("Boat"));

LinearSpringForce linearSpringForce_0 =

body_0 .getExternalForceAndMomentManager() .createExternalForceAndMoment(LinearSpringForce.class);

// Set position of first end point

linearSpringForce_0 .getPosition1() .setComponents(1.0, 0.0, 0.0);

// Set position of second end point

linearSpringForce_0 .getPosition2() .setComponents(2.0, 0.0, 0.0);

// Set remaining properties

linearSpringForce_0 .getSpringConstant() .setValue(20.0);

linearSpringForce_0 .getRelaxationLength() .setValue(5.0);

// Create Linear Spring Coupling

LinearSpringCoupling linearSpringCoupling_0 =

simulation_0 .get(SixDofBodyCouplingManager.class) .createSixDofBodyCoupling(LinearSpringCoupling.class);

// Set position of first end point

Coordinate coordinate_0 =

.linearSpringCoupling_0.getPosition1();

Units units_0 =

((Units) simulation_0 .getUnitsManager() .getObject("m"));

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

// Set position of second end point

Coordinate coordinate_1 =

linearSpringCoupling_0.getPosition2();

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

linearSpringForce_0.setEnabled(false);

linearSpringForce_0.setNoRepellingForce(true);

// Set coordinate system of second end point

LabCoordinateSystem labCoordinateSystem_0 =

((LabCoordinateSystem) simulation_0 .getCoordinateSystemManager() .getObject("Laboratory"));

CartesianCoordinateSystem cartesianCoordinateSystem_0 =

((CartesianCoordinateSystem) labCoordinateSystem_0 .getLocalCoordinateSystemManager() .getObject("Cartesian 1"));

linearSpringForce_0 .setCoordinateSystem(cartesianCoordinateSystem_0);

// Set remaining properties

linearSpringCoupling_0 .getSpringConstant() .setValue(20.0);

linearSpringCoupling_0 .getRelaxationLength() .setValue(5.0);

linearSpringCoupling_0.setEnabled(false);

linearSpringCoupling_0.setNoRepellingForce(true);

// Set coordinate system of second end point

LabCoordinateSystem labCoordinateSystem_0 =

((LabCoordinateSystem) simulation_0 .getCoordinateSystemManager() .getObject("Laboratory"));

CartesianCoordinateSystem cartesianCoordinateSystem_0 =

((CartesianCoordinateSystem) labCoordinateSystem_0 .getLocalCoordinateSystemManager() .getObject("Cartesian 1"));

coordinate_1 .setCoordinateSystem(cartesianCoordinateSystem_0);

注意,以前的线性弹簧力仍存在,但它们完全由其相应的线性弹簧耦合管理。 无法再通过宏创建、复制、删除和重命名线性弹簧力。 通过在相应的线性弹簧耦合中选择或取消选择特定的体,可以自动执行创建和删除操作。 通过复制相应的线性弹簧耦合,可以进行复制。 重命名没有替代方法,因为线性弹簧力的显示名由线性弹簧耦合自动构建。

DFBI 弹簧伸长报告

按照上一节所述,弹簧伸长报告也已更改。

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

Body body_0 =

((Body) simulation_0 .get(BodyManager.class) .getObject("Boat"));

LinearSpringForce linearSpringForce_0 =

((LinearSpringForce) body_0 .getExternalForceAndMomentManager() .getObject("Linear Spring Force 1"));

springElongationReport_0 .setLinearSpringForce(linearSpringForce_0);

LinearSpringCoupling linearSpringCoupling_0 =

((LinearSpringCoupling) simulation_0 .get(SixDofBodyCouplingManager.class) .getObject("Linear Spring 1"));

springElongationReport_0 .setLinearSpringCoupling(linearSpringCoupling_0);

清除求解的新框架

清除求解的修订语法如下所示。

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

Solution solution_0 =

simulation_0.getSolution();

solution_0.clearSolution();

solution_0.resetForRestart();

Solution solution_0 =

simulation_0.getSolution();

//

// clear history, clear fields and reset mesh

solution_0.clearSolution();

solution_0 .clearSolution(Solution.Clear.History, Solution.Clear.Fields);

// replaces reset for restart

solution_0.clearSolution(Solution.Clear.History);

// clear history + reset the mesh

solution_0.clearSolution(Solution.Clear.History, Solution.Clear.Mesh);