本教程是一个进行悬臂梁减重分析的例子,iSIGHT-FD V2.5集成的软件是UG NX3.0、MSC.Patran 2005 r2和MSC.Nastran 2005。 一 UG参数化过程
1. 打开UG NX 3.0程序,新建一个零件,名称为beam.prt,然后点击菜单“应用-建
模”,右键选择“视图方向-俯视图”; 2. 点击草图按钮
截面;
,进入草绘界面,然后点击直线按钮
,绘制如下图所示的工字形
3. 使用”自动判断的尺寸”按钮标注如下所示线段的尺寸;
4. 按照同样方法标注其它尺寸,最终结果如下图所示:
5. 点击左侧的“约束”按钮,然后选择下图所示的最上面的两条竖直线段,最后点击约束
工具栏上的等式约束,给这两条线段施加一个等式约束;
6. 给这两条线段施加等式约束后,点击左侧的“显示所有约束”按钮,会在两条线段上出
现两个“=”,标明等式约束已成功施加上,如下图所示;
7. 接下来,为最下面的两条竖直线段施加等式约束,如下图所示;
8. 为左侧的两条Flange线段施加等式约束,如下图所示;
9. 为右侧的两条Flange线段施加等式约束,如下图所示;
10. 点击左上角的“完成草图”按钮
,退出草绘状态。
11. 选择菜单“工具-表达式”,弹出表达式编辑窗口,在下方名称后的文本框中输入Length,
在公式后的文本框中输入200,点击后面的√,即可将该参数加入中部的大文本框中,然后点击确定;
12. 点击左侧的拉伸按钮,选择工字形草图,然后在弹出的输入拉伸长度的框中将数值改为
上一步创建的参数名称Length,最后点击拉伸对话框中的√,接受所作的更改;
13. 现在需要将UG零件的表达式文件输出,再次选择菜单“工具-表达式”,弹出表达式编
辑窗口,点击右上角的“导出表达式到文件”按钮,然后在弹出的对话框中输入表达式文件名称,如beam.exp,点击OK保存。
14. 最后将UG零件保存。
二 UG零件Parasolid格式文件beam.x_t的输出
1. UG零件的更新及Parasolid格式文件beam.x_t的输出需要用到提供的VC编的程序
ugUpdate.exe;
2. 新建一个文本文档,在该文档中输入以下内容:
“ugUpdate.exe beam.prt beam.exp <本地机当前工作路径>\\beam.x_t”
然后将该文档保存为后缀名是*.bat的批处理文件,如UG_Parasolid.bat,该批处理文件的作用是执行ugUpdate.exe程序,读取beam.prt零件和beam.exp表达式文件,然后在当前路径生成名称为beam.x_t的Parasolid格式的文件;
3. 双击运行UG_Parasolid.bat,即可在当前工作路径生成beam.x_t文件。
三. Patran参数化过程
1. 打开Patran程序,选择File>Session>Record,建立一个Session文件,比如
beam.ses,然后新建一个beam.db模型文件,导入beam.x_t文件 File>Import>Parasolid
2. 划分网格:Action→Create,Object→Mesh,Type→Solid,Elem Shape→Tet,Mesher→
TetMesh,Topology→Tet 10,Input List→Solid 1,Global Edge Length→0.015
3. 施加固定约束,点击Loads/BCs按钮
Action→Create,Object→Displacement,Type→Nodal,New Set Name→dis1 点击Input Data按钮,Translations 点击“Select Application Region”按钮,Geometry Filter→Geometry,Select Geometry Entities→Solid 1.14,点击Add按钮。这里需要选择Label Control按钮,点击Surface or Face按钮。 4. 施加载荷 Action→Create,Object→Force,Type→Nodal,New Set Name→force1 点击Input Data按钮,Force 点击“Select Application Region”按钮,Geometry Filter→Geometry,Select Geometry Entities→Solid 1.10.3,点击Add按钮。这里需要选择Label Control按钮,点击Curve or Edge按钮。 5. 定义弹性材料,点击Materials按钮 Action→Create,Object→Isotropic,Method→Manual Input,Material Name→steel 点击“Input Properties”按钮,Constitutive Model→Linear Elastic,Elastic Modulus→2e9,Poisson Ratio→0.3。 6. 定义单元属性,点击Properties按钮 Action→Create,Object→3D,Type→Solid,Property Set Name→pro 点击“Input Properties”按钮,点击Mat Prop Name后的图标,选择第5步定义的材料名称steel; Select Members→Solid 1,点击Add。 7. 定义Load Cases,点击“Load Cases”按钮 Action→Create,Load Case Name→job,Input Data→Displ_dis1 Force_force1 8. 显示Load Cases,点击Loads/BCs按钮, Action→Plot Markers,Current Load Case→job,Assigned Load/BCs Sets→Displ_dis1 Force_force1 9. 提交分析 到此,所有的建模工作已经完成,需要将分析提交给Nastran,按照下列步骤生成Nastran分析数据。 提交分析:Action→Analyze,Object→Entire Model,Method→Analysis Deck(重要,这样Patran才将分析过程存入一个文件,可以在Nastran中进行分析,该文件一般存放在C:\\WINDOWS\\Temp目录下或者当前用户的主目录下),Job Name→ elastic_analysis_beam,然后选择Print,TypeLoadcase → 。选择分析类型按钮:LINEAR STATIC , 。这时,按下 , ,Data Output→OP2 and ,Solution 选 择 ,Patran会将分 析模型提交到Nastran的分析文件中,随后就可以使用Nastran对该文件进行分析计算了。 10. 保存并关闭Patran程序,保留最新的beam.ses文件。 11. 因为beam.ses文件中包括一些绝对路径,在集成优化过程中不够灵活,因此需对 beam.ses文件进行一定处理。用记事本格式打开beam.ses文件,首先将创建beam.db文件的一行命令修改,将最后的绝对路径去掉。然后将导入beam.x_t文件的一行命令进行修改,将最后的绝对路径去掉。最后将第89行写入数据库的一行命令进行修改,将绝对路径去掉,例如: 修改前:uil_file_new.go( \"D:\\MSC.Software\\MSC.Patran\\2005_r2/template.db\\"E: \\UGPatranNastran\\beam.db\" ) p3_ug_xmt_import_v1( \"E:\\UGPatranNastran\\beam.x_t\ @ \"\uil_file_import_ps_tr_xmt_count, @ uil_file_import_ps_patran_count, uil_file_import_ps_tra_n_layers, @ uil_file_import_ps_tr_layer_ids, uil_file_import_ps_tr_model_tol, TRUE, \"\ @ FALSE ) jobfile.writec( \"DATABASE\ 修改后:uil_file_new.go( \"D:\\MSC.Software\\MSC.Patran\\2005_r2/template.db\\" beam.db\" ) p3_ug_xmt_import_v1( \"beam.x_t\ @ \"\uil_file_import_ps_tr_xmt_count, @ uil_file_import_ps_patran_count, uil_file_import_ps_tra_n_layers, @ uil_file_import_ps_tr_layer_ids, uil_file_import_ps_tr_model_tol, TRUE, \"\ @ FALSE ) jobfile.writec( \"DATABASE\ 四. 创建批处理文件 1. 创建运行Patran的批处理文件,首先新建一个文本文档,将其名称“新建文本文档.txt” 修改为“GoPatran.bat”,然后以记事本格式打开该文件,在文件中加入以下内容并保存; \"D:\\MSC.Software\\MSC.Patran\\2005_r2\\bin\\patran.exe\" -b -sfp beam.ses 该批处理文件的作用是双击该文件后即自动调用Patran安装程序目录下的patran.exe,然后读取beam.ses命令流文件自动执行Parasolid文件的导入、网格划分、边界条件施加及输出beam.bdf文件等一系列操作,最后在同一目录下生成beam.bdf文件。 2. 创建运行Nastran的批处理文件,首先新建一个文本文档,将其名称“新建文本文档.txt” 修改为“GoNastran.bat”,然后以记事本格式打开该文件,在文件中加入以下内容并保存; \"D:\\MSC.Software\\MSC.Nastran\\bin\\nastran.exe\" beam.bdf msgbell=no 该命令表示运行Nastran安装程序目录下的nastran.exe,然后读取beam.bdf命令流文件进行求解,最后在同一目录下生成beam.f06文件,我们想要的结果数据就在该文件中。 五. 在iSIGHT-FD 2.5中集成UG、Patran和Nastran 1. 首先将集成所需要的文件拷贝到一个文件夹中,包括集成UG所需要的beam.prt、 beam.exp、ugUpdate.exe和UG_Parasolid.bat等四个文件,集成Patran所需要的beam.x_t、beam.ses、GoPatran.bat等三个文件以及集成Nastran所需要的beam.bdf、GoNastran.bat和beam.f06等三个文件; 2. 启动iSIGHT-FD 2.5,首先会弹出登录窗口,以Standalone模式登录,点击OK; 3. 进入iSIGHT-FD的Design Gateway界面,点击左边的Fit to window按钮可以讲 工作流放大到与窗口适应; 4. 用鼠标左键从上面的Activities面板上拖拽下一个Simcode组件放到工作流中; 5. 用同样的方法再从Activities面板上拖拽下两个Simcode组件放到工作流中; 6. 右键点击工作流中左边的Simcode组件,选择Rename,然后在弹出的Rename Component面板中输入GoUG,点击确定,将该Simcode组件名称修改为GoUG; 7. 用同样方法,将另外两个Simcode组件分别修改为GoPatran和GoNastran。由于 iSIGHT-FD软件支持中文,因此也可以将组件的名称修改为中文名称; 8. 选择菜单“File>Save”,将该模型保存,如UGPatranNastran.zmf; 9. 双击GoUG组件,弹出Component Editor窗口,在中间的Command模块中点击 Find Program按钮,找到UG_Parasolid.bat文件然后打开; 10. 如下图所示,然后点击Apply保存所作的修改; 11. 点击Input进入Input模块,然后点击窗口中间的灰色框; 12. 弹出Exchanger Wizard面板,点击Next; 13. 点击Browse按钮,找到beam.exp文件,然后点击打开; 14. 如下图所示; 15. 接下来连续两次点击Next,到最后点击Finish; 16. 如下图所示,此时将beam.exp文件内容读入到iSIGHT-FD的Input模版中,接下 来进行参数的解析; 17. 用鼠标左键点击第1行等号右边的数字20,此时会把整行内容全部选中,因此我们需 要将等号“=”设置为分隔符,默认的分隔符是空格和逗号。先用鼠标左键点击20,此时会把整行选上,然后点击右键,选择Edit Section details,弹出Edit Section Format面板,选择General Text Details,然后在框中输入等号“=”,点击OK; 18. 此时再左键点击数字20时就可以只把20选上。在Parameter后的框中输入 FlangeLeft,最后点击Write按钮,将该数值20解析为参数FlangeLeft; 19. 解析后如下图所示,在右边的Input Parameter框中就有了解析的参数FlangeLeft, 可以看到该参数的值、模式及格式等信息; 20. 用同样的方法将其它六个参数FlangeRight、Height、HeightDown、HeightUp、 Length及Width分别解析。解析后的beam.exp文件如下所示,点击Apply保存所作的修改; 21. 此时集成UG的工作已经完成,点击OK退出Component Editor; 22. 接下来进行Patran的集成工作。双击GoPatran组件,按照集成GoUG组件的方法, 在Command模块中通过点击Find Program按钮将GoPatran.bat文件加入到Command Line中,最后点击Apply保存所作的修改; 23. 此时集成Patran的工作已经完成,接下来进行Nastran的集成工作。双击GoNastran 组件,在Command模块中通过点击Find Program按钮将GoNastran.bat文件加入到Command Line中,最后点击Apply保存所作的修改; 24. 接下来点击组件编辑器上方的Output按钮进入Output模块,点击中间的灰色框; 25. 接下来在弹出的Exchanger Wizard面板中点击Sample File后面的Browse按钮将 beam.f06文件加入; 26. 接下来连续两次点击Next,最后点击Finish完成beam.f06文件的读取,此时 beam.f06文件中的内容已经显示在组件编辑器面板的文本框中了; 27. 点击Component Editor左上角的“Find text in the data viewer”按钮,在弹出 的对话框中输入以下语句“MAXIMUM DISPLACEMENTS”,注意这两个单词之间是两个空格; 28. 点击“MAXIMUM DISPLACEMENTS”后面如下图所示的数字,然后在下面 Parameter后的文本框中输入参数名称MaxDisp,最后点击Read按钮,即可将该数值解析为参数MaxDisp; 29. 解析后的结果如下图所示,点击OK保存所作的修改并退出组件编辑器; 30. iSIGHT-FD执行时有两种模式。第一种是所有组件都在当前工作路径下执行,每一个 组件执行时的所有中间文件及结果文件都会保存在当前工作路径。如果文件比较多且多次迭代的话,则该路径下的内容会比较混乱,而且容易出现问题。第二种模式是所有组件都会在一个默认的工作路径下执行任务,工作流中的每一个组件都会在该路径下自动创建一个文件夹。每一个组件执行时的所有中间文件及结果文件都会自动保存在该文件夹中,而在每个组件执行完成后又会自动把该文件夹删除掉。这个默认的工作路径在 iSIGHT-FD中称为“Runtime directory”简称为rundir。rundir的路径在C:\\Documents and Settings\\<当前用户>\\Local Settings\\Temp\\FiperRuns; 31. 首先我们需要对iSIGHT-FD执行任务时的文件处理过程做个初步的了解。点击Files 按钮,左边选择GoUG组件,进入GoUG组件的文件参数管理面板,我们可以看到在该面板里包括两个模块,分别是Input Files和Output Files,在Input Files和Output Files模块下又都包括Source和Destination两个模块。Input Files模块表示的是在该组件调用的程序执行之前所进行的一些文件的拷贝移动工作,Output Files模块表示的是在该组件调用的程序执行之后所进行的一些文件的拷贝移动工作。Source模块表示源文件所在的位置,Destination模块表示文件拷贝移动之后所在的位置;。 32. 因此,我们现在需要再对模型进行一些设置,以使模型能够顺利运行,且具有可移植性, 使iSIGHT-FD的模型文件拷贝到任何一台电脑上不用修改路径也可以顺利执行; 33. 首先对GoUG组件进行处理。进入Workflow双击GoUG组件,进入Command模 块,将Distribute Executable前面的复选框选中,我们可以看到下面的绝对路径已经变成了一个绿色的参数名称UG_Parasolid。这样做的目的是将UG_Parasolid.bat所在的绝对路径也解析成了一个参数,使得使用起来更加灵活,而且将UG_Parasolid.bat文件中的内容封装到了iSIGHT-FD的模型文件中,即移植模型文件时已经不需要UG_Parasolid.bat文件了; 34. 此时点击Files按钮,左边选择GoUG组件,进入GoUG组件的文件参数管理面板, 可以看到UG_Parasolid文件参数已经在Input Files模块中显示出来了。在左边Source模块下的Location是以In Model模式存在的,表明这个UG_Parasolid.bat文件已经封装到了iSIGHT-FD的主模型文件中; 35. 点击右侧Destination模块下的Browse按钮,在弹出的Select File界面上将Path Options选项由Absolute path修改为Runtime directory,然后点击下面的Select按钮; 36. 此时如下图所示,在UG_Parasolid前面多了(rundir),表明路径已修改到了Runtime directory下,即在执行UG_Parasolid.bat之前先把该文件由UGPatranNastran.zmf模型文件中拷贝到rundir路径下; 37. 在执行UG_Parasolid.bat文件时,在该文件所在文件夹中还需要用到beam.prt及 ugUpdate.exe这两个文件,因此我们还需要在执行UG_Parasolid.bat文件之前先把这两个文件拷贝到rundir路径下。点击“Add a new parameter to the list”按钮,弹出File Parameter Wizard面板,由于这两个文件是作为输入文件使用的,因此选择Input项,点击Next; 38. 选择Scalar项,点击Next; 39. 选择In Model,直接把这两个文件封装到zmf模型文件中; 40. 点击Load From按钮,找到本机上的beam.prt文件; 41. 如下图所示; 42. 连续点击Next,直到最后点击Finish; 43. 这时beam_prt文件参数已经出现在列表中。在下面的Source模块中是In Model 项,但右边的Destination模块是Automatic,因此选中Fixed file name项,然后点击Browse; 44. 在弹出的Select File面板上选中beam.prt,然后将Path Options项由Absolute path改为Runtime directory,点击Select; 45. 如下图所示; 46. 同样方法,将ugUpdate.exe按照37-45步的方式也做成File Parameters,最终如 下图所示; 47. 在File Parameters列表中选中beam_exp,我们发现该文件的Source模块还是File 选项,因此需要将其修改为In Model项,把该文件也封装到zmf模型文件中; 48. 结果如下图所示; 49. 现在我们对执行UG_Parasolid.bat之前文件的拷贝工作已完成,现在我们需要对执行 UG_Parasolid.bat之后的文件操作进行处理。考虑到执行UG_Parasolid.bat之后生成的beam.x_t文件需要有下一个Patran组件使用,因此还需要把beam.x_t文件作成一个输出的文件参数。选择Output Files,然后点击“Add a new parameter to the list”按钮,弹出File Parameter Wizard面板,由于beam.x_t文件是作为输出文件使用的,因此选择Output项,点击Next; 50. 选择Scalar项,点击Next; 51. 点击Browse,找到本机上的beam.x_t,选中Runtime directory,点击Select; 52. 如下图所示,接下来连续点击Next; 53. 最后点击Finish,完成beam.x_t文件参数的设置; 54. 最后结果如下图所示,beam.x_t文件参数的设置表示在执行UG_Parasolid.bat文件 之后将beam.x_t文件从rundir路径下拷贝出来(Source),然后由FIPER文件管理系统管理起来(Destination下的FIPER File Manager),后面的Patran组件使用beam.x_t文件时可以直接从FIPER File Manager中拷贝出来; 55. 现在UG组件的设置已经完成,接下来需要对Patran组件进行设置,和前面的方法一 样,先将GoPatran.bat和beam.ses文件添加到File Parameters列表中,如下图所示; 56. 接下来添加beam.x_t文件, 57. 选择Scalar项,点击Next; 58. 选择“Map from a file parameter in another component”项; 59. 双击GoUG,选中下面的beam.x_t,点击Next; 60. 连续点击Next,最后点击Finish,结果如下图所示,Source模块为None选项,但 在File Parameters列表中的In From显示的是[Mapping],表明该文件是与其它组件中的文件映射起来的; 61. 将Destination项指定到rundir路径,如下图所示; 62. 按照前面的方法,将Patran组件的Output模块中的beam.dbf文件添加到File Parameters列表中,如下图所示; 63. 按照Patran组件的方法,将Nastran组件中的GoNastran、beam.dbf也添加到File Parameters列表中,如下图所示; 64. Nastran组件的Output模块中的File Parameters列表中已经有了beam.f06文件, 因此不需要对该文件进行任何处理。 65. 还有一点需要注意,我们可以看到UG_Parasolid.bat文件中的内容是 “ugUpdate.exe beam.prt beam.exp <本地机当前工作路径>\\beam.x_t” 执行改批处理文件的结果是将生成的beam.x_t存放到<本地机当前工作路径>,而不是iSIGHT-FD的rundir路径,因此我们还需要将这里的beam.x_t文件也做成一个File Parameter,但又和以上的那些File Parameter有所区别。 66. 首先修改UG_Parasolid.bat文件中的内容,改为: “ugUpdate.exe beam.prt beam.exp %1” 67. 然后在GoUG组件的Input Files模块中点击UG_Parasolid文件参数下的Reload From按钮,选择修改后的UG_Parasolid.bat文件,点击Load,即将该更新后的文件重新封装到zmf模型文件中。 68. 双击GoUG组件打开组件编辑器,点开Parameter后面的下拉框,选中beam_x_t, 然后点击橘红色的“Add parameters to the argument list”加号按钮,将该文件参数添加到UG_Parasolid后面; 69. 结果如下图所示,点击OK保存并关闭组件编辑器; 70. 由于在调用Nastran程序求解beam.bdf时,在Nastran的Dos界面上会出现一些 命令行,iSIGHT-FD程序默认会把这些Nastran的程序命令看作是错误信息,因此会在iSIGHT-FD的log窗口中报错,因此我们需要在iSIGHT-FD中进行一些操作避免这种情况。双击Nastran组件,进入Command模块的Advanced选项,然后将“There is output to the Standard Error stream”前的辅选框取消掉,然后点击OK保存所作的修改。 71. 进入Workflow界面,右键点击Task1组件,选择Properties; 72. 在弹出的Properties面板中的“Keep execution directory”选项表示在组件执行后 是否保留临时文件夹,Never表示无论如何都不保留,“On Run Failure”表示该组件执行出错时才保留,Always表示无论如何都保留,在这里我们选择Always看一看各个组件执行的情况,点击OK,会弹出一对话框询问是否将工作流中的所有组件都进行同样的设置,点击是即可。 73. 点击工具栏中的Run the model图标对整个模型求解; 74. Runtime Gateway界面弹出,在Workflow中会显示出模型的执行进度情况。 75. 在本地机路径下找到以下路径,可以看到在该路径下存在三个文件夹,分别是工作流中 GoUG、GoPatran和GoNastran等三个组件执行时生成的文件夹,这三个文件夹中的内容分别是这三个组件执行中所用到的所有Input文件和Output文件。 76. 现在只是在iSIGHT-FD的工作流中使用Task组件进行了单次迭代,如果要进行优化 分析的话,需要将Drivers组件面板上的Optimization组件拖动到工作流中覆盖Task1组件即可,覆盖后会弹出一对话框,直接点击确定按钮即可。 77. 如下图所示; 78. 双击Optimization1组件,优化组件编辑器弹出。该组件编辑器包括四个模块,包括 General、Variables、Constraints和Objectives。其中General用来选择算法,Variables用来定义设计变量,Constraints用来定义约束条件,Objectives用来选择目标值。首先选择优化算法,这里选择默认的NLPQL(序列二次规划法); 79. 接下来选择设计变量,点击Check按钮,然后点击是,将表中所有的参数都选中作为 设计变量,然后在Lower Bound和Upper Bound两列中定义每个设计变量的上下限,如下图所示; 80. 这个例子中没有约束条件,因此跳过Constraints进入Objects,选择MaxDisp作为 目标参数,在其后的Direction一列选择minimize,即将MaxDisp求最小值作为目标,点击OK保存修改; 81. 再次点击Run the model图标对整个模型求解,Runtime Gateway界面弹出,可以 在Workflow中看到工作流的执行进度情况; 82. 在Parameters中可以看到各个组件的历史参数变化情况; 83. 还可以在Graphs中通过一定的设置选择显示各种曲线、曲面或表格等; 84. 在计算完成之后还会在Summary中给出一个总结报告,包括计算时间、最优点、目 标值等用户所关心的信息; 因篇幅问题不能全部显示,请点此查看更多更全内容