宏 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+ 中,用户通过宏设置的热力学多项式数据必须首先乘以系数 ,其中 为通用气体常数 [J /(kmol K)], 为物质 的分子量 [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); |