iSIGHT 基本培训 连接和集成 模拟代码到 iSIGHT
iSIGHT中的模拟代码(Simcodes ) iSIGHT 运行的代码,是可执行文件和由ASCII 组成的输入、输出文件 (文本文件) iSIGHT 可以运行商业的和拥有使用权的模拟代码(simcodes)
iSIGHT使用的代码 商业程序(Commercial Codes) 所有权程序 (Proprietary Codes ) 由供应商开发的程序 ANSYS; ABACUS; CFX; UG; ADAMS; Pro/ENGINEER; MSC/NASTRAN; Radioss; Matlab; Excel; LS-DYNA; MOLDFLOW; MATRIXx; DEFORM; PATRAN 所有权程序 (Proprietary Codes ) 由公司开发的程序
代码因素(Code Considerations) iSIGHT 不能运行所有通过用户图形界面(GUI)生成的代码,除非有宏存在 宏文件记录了图形界面受驱动的动作 第三方脚本工具
紧密/松散连接(Tight / Loose Coupling) 松散连接—文件编译器—ASCII 输入/输出 普通的(generic) 盒子之外(out of the box) 容易使用 紧密连接 有价值名字文件(name-value files) APIs 更好的性能
代码连接(Code Coupling) iSIGHT 运行模拟代码之前, 模拟代码必须集成到 iSIGHT 环境中
执行协议(Execution Protocol) 模拟代码的名称和路径 输入输出文件的名称和路径 允许返回的代码 花费的时间 文件编译指令
iSIGHT中的路径名 iSIGHT 接受相对和绝对的路径名 相对路径名是指相对于描述文件开始的目录
程序文件的要求 程序文件执行选项包括花费的时间,返回的代码,以及可选择的运行参数
文件编译指令(File Parsing Instructions) iSIGHT 中新的设计点不直接通过模拟代码,而是通过输入输出文件 iSIGHT 必须以代码能够识别的形式设置数据点 为了建立数据流,必须将iSIGHT 变量定义和映射到输入输出文件的位置
iSIGHT中的参数名 iSIGHT 变量名可以不同于模拟代码的变量名 iSIGHT 变量名: 字母和数字 必须以字母开头 不能包含特殊字符,如:空格,下划线,百分号,等 例如—FlangeWidth 不能写作 Flange_Width
输入编译指令 模拟代码读取输入文件,iSIGHT WRITES 输入文件 输入文件 iSIGHT 模拟代码 Write Read The value of X is 5 The value of Y is 3 Z = X * Y X = 5 Y = 3 输入文件 iSIGHT 模拟代码 Write Read
输入文件的产生 从技术上讲, iSIGHT 需要为每一次运行创建新的输入文件 如果输入文件仅有一小部分改变,新的运行中重新创建输入文件将浪费时间 对于大的输入文件使用一个模板文件,从而在运行之间使某些地方相对不变
模板文件(Template File) 是一个工作实例文件,它用来产生送到模拟代码的输入文件 iSIGHT 复制一份模板文件,用新设计点的值修改它,通过模拟代码保存在输入文件中
输入编译命令 用于输入编译的命令很多 普通的输入编译命令 查找(find ) 写(write ) 替换(replace)
查找(find)命令 查找(find)命令代表一个字符串 它移动光标到要找的字符串的末端 例子: find “The value of X is” The value of X is|5 The value of Y is 3
写(write )命令 写(write)命令写一个值在文件内的光标位置 例子: write $X
替换(replace )命令 替换(replace)也写一个值到文件内的光标位置 例子 replace word with $X
写与替换(write vs. replace) New X value = 2.3 iSIGHT 和代码不同步 The value of X is 2.33 The value of Y is 3 write $X The value of X is|5.43 The value of Y is 3 The value of X is 2.3 The value of Y is 3 replace word with $X Template file
格式确定器(Format Specifiers) 数值应该如何写进文件,写(write)和替换(replace)命令不能提供给用户任何控制方法 如果数值必须有一个确定的格式,那么必须使用格式确定器 iSIGHT 使用 C 语言格式确定器来控制数值写入文件的方法
格式确定器(Format Specifiers) C 语言格式确定器的结构:%X.YZ X 是宽度 – 数值的字符总数 (包括小数点) Y 是精度 – 小数点后数字的数量 Z 是类型 – 浮点(floating),整型(integer),指数型(exponential),等
格式(Format)举例 %6.4f 表示一个浮点数,6个字符的长度,小数点后有4位—X.XXXX 格式确定器对于 FORTRAN 输入文件是有用的,因为它的数值必须在某列
带有写( write)和替换( replace)的格式 New X value = 2.3 The value of X is 2.30 The value of Y is 3 write $X as “%4.2f The value of X is|5.43 The value of Y is 3 The value of X is 2.3 The value of Y is 3 replace word with $X Template file
输出编译指令 模拟代码写到输出文件,iSIGHT READS 输出文件 输出文件 模拟代码 iSIGHT Write Read The value of Z is 15 Z = 15 Z = X * Y 输出文件 模拟代码 iSIGHT Write Read
输出编译命令 有许多命令用于输出编译中 普通的输出编译命令 查找(find ) 读(read ) 提取(provide)
读(read )命令 读(read)命令用于从输出文件中读取数值 这个数值可以在编译指令中用于数学计算 例子 read Z
提取(provide)命令 提取(provide)命令从输出文件中读取一个数值,并将它映射给一个 iSIGHT 参数 例子 provide $Z
怎样连接代码(Couple Codes) 代码连接通过过程集成( Process Integration )和文件编译器(File Parser)完成 过程集成(Process Integration)用来定义执行协议 文件编译器(File Parser)用来创建编译指令
练习 连接一个所有权代码到 iSIGHT 这个代码是一个简单的飞机空气动力学分析 这个问题在5分钟内运行 (使用缺省的时间花费) 这个代码返回一个 0 退出状态 (使用缺省的允许返回代码)
练习 创建iSIGHT 变量 iSIGHT 输入变量 iSIGHT 输出变量 翼展(WingSpan);机翼面积(WingArea);机身长度(FuseLength);机身直径(FuseDia) iSIGHT 输出变量 SurfAreaFuse;WetArea;LoD
练习 模板文件—AeroInTemp.dat aero.exe AeroOut.txt AeroIn.txt WingSpan WingArea FuseLength FuseDia AeroOut.txt AeroIn.txt SurfAreaFuse WetArea LoD
练习步骤 开始过程集成(Process Integration) 添加一个代码 输入文件名 开始文件编译器( File Parser) 创建文件编译指令 执行应用程序 检验数据流 (是否是所要的输出量?)
总结 过程集成(Process Integration ) 文件编译器(File Parser) 执行代码协议 (执行的文件名和路径,花费的时间,返回的代码) 设置初始值 文件编译器(File Parser) 创建和映射iSIGHT 参数到输入和输出文件 任务管理器(Task Manager)- 执行
附加练习 命令行 多个输入文件 标准输入和标准输出 批处理文件或 文本文件 简单的数组分析