结束宏结构
编写最终宏之前结束宏结构是很好的做法。 决定如何最好地组织宏,例如,使用何种方法、使用哪种操作包含在循环中, 以及所需类的数量。 这些决定都基于必要性和您的 Java 编程经验。
在本阶段,考虑宏是否需要在将来进行修改以包括其他命令和过程(例如,设置额外边界条件)也是非常有用的。 如果可能,建议将宏分为子部分,运行各个任务,而不是将所有内容都包含在单个的连续部分中。 当您将额外过程添加至宏时,很易找到该部分并插入命令。 Java 语言面向对象的特性使其适合于这种类型的组织。 在本教程中,嵌套类用于区分过程中的步骤。
主要过程划分如下:
- 读取输入数据的类
- 创建存储输入数据的对象的类
- 设置 Simcenter STAR-CCM+ 的中值并运行模拟的类
- 运行后处理任务的类
- 额将任意数据(例如曳力系数)写入外部文件的附加类
分别给予这些类下列名称:
- DataReader
- SimData
- SimRunner
- PostProcessor
- DataWriter
以这种方式组织宏的一项重要优势是,由于语句遵循逻辑顺序,所以宏的主要方法易于理解。
使用输入数据文件
考虑宏如何读取风数据,并传递到模拟。 您可按照需要改变数据,如果必要,可运行多个模拟。 因此,将输入数据存入简单的文本文件,并使用宏读入模拟中。
- 导航到下载的教程文件的 automation 文件夹。 将 trainInput.txt 文件复制到工作目录。
- 使用合适的文本编辑器打开文件 trainInput.txt。
文件包含以下数据:
- 横风攻角(单位:度) AngDeg
- 列车速度 VelTrn
- 横风速度 VelWnd
- 相应的初始速度 InitVelTrn 和 InitVelWnd
文件的每一行代表一组数据。 使用宏读取每行并将数据存入对象中。 将一组对象存入一个阵列。 当每次运行模拟时,从对象中读取数据,并将其有效传递到模拟,而无需重新打开输入文件。