结束宏结构

编写最终宏之前结束宏结构是很好的做法。 决定如何最好地组织宏,例如,使用何种方法、使用哪种操作包含在循环中, 以及所需类的数量。 这些决定都基于必要性和您的 Java 编程经验。

在本阶段,考虑宏是否需要在将来进行修改以包括其他命令和过程(例如,设置额外边界条件)也是非常有用的。 如果可能,建议将宏分为子部分,运行各个任务,而不是将所有内容都包含在单个的连续部分中。 当您将额外过程添加至宏时,很易找到该部分并插入命令。 Java 语言面向对象的特性使其适合于这种类型的组织。 在本教程中,嵌套类用于区分过程中的步骤。

主要过程划分如下:

  • 读取输入数据的类
  • 创建存储输入数据的对象的类
  • 设置 Simcenter STAR-CCM+ 的中值并运行模拟的类
  • 运行后处理任务的类
  • 额将任意数据(例如曳力系数)写入外部文件的附加类

分别给予这些类下列名称:

  • DataReader
  • SimData
  • SimRunner
  • PostProcessor
  • DataWriter

以这种方式组织宏的一项重要优势是,由于语句遵循逻辑顺序,所以宏的主要方法易于理解。

使用输入数据文件

考虑宏如何读取风数据,并传递到模拟。 您可按照需要改变数据,如果必要,可运行多个模拟。 因此,将输入数据存入简单的文本文件,并使用宏读入模拟中。

  • 导航到下载的教程文件的 automation 文件夹。 将 trainInput.txt 文件复制到工作目录。
  • 使用合适的文本编辑器打开文件 trainInput.txt

文件包含以下数据:

  • 横风攻角(单位:度) AngDeg
  • 列车速度 VelTrn
  • 横风速度 VelWnd
  • 相应的初始速度 InitVelTrnInitVelWnd

文件的每一行代表一组数据。 使用宏读取每行并将数据存入对象中。 将一组对象存入一个阵列。 当每次运行模拟时,从对象中读取数据,并将其有效传递到模拟,而无需重新打开输入文件。