ANSYS二次开发培训练习题 E使用UDL在 ANSYS主菜单中増加一个菜单项,点击后可以出现一个子菜单或激活一个对话框。 APDL E.使用APDL编制一个可以读写有限元模型的小程序,要求读出所有节点号和单元号,节点坐标以 及单元节点列表。 E.使用 DNSOL, DESOL定义计算结果 E_使用 ANSYS列表命令列出 ANSYS某一结果文件的内容:编译并连接 ANSYS二进制文件读写程序 BⅠ NISTE,读写二进制文件并与列表方式相比较。 E.编译并连接 ANSYS提供的示例程序USER0IF;在 ANSYS命令行中使 用/UCMD给用户命令赋新的 名称,并运行。 E.编译并连接 ANSYS提供的示例程序USER03F,使用动态数组保存有限元模型信息,如节点号、 单元号、节点坐标、单元节点列表。使用UP读写教椐库子程序,读写模型中的有限元模型信息和 载荷信息,并打印。 E.使用 ANSYS提供子程序试验矢量与矩阵的操作 E.试验用户自定义材料 E.试验用户单元 E.使用/ DEBUG命令调试 ANSYS单元矩阵及载荷矢量 练习题答案: 说明: 1.以下练习答案以 ANSYS5.5.1UP199810001 Windows9s/8NT的 University Low版本(产品号 为 ansysul)为例,其它版本与此类似 2.假定机器中已经安装了 Digital visual fortran50C以上的版本 假设 ANSYS安装目录为 C- ANSYS55 3.假设用户工作目录为 D: user 4.约定 OS提 D: \user> DOS输入 copy c: \ansys 55\ docu\UIFUNC2GRN ANSYS输入框E1,42 数据文件 I: N Men Training UIDL E.使用UIDL在 ANSYS主菜单中增加一个菜单项,点击后可以出现一个子菜单或激活一个对话 1.拷贝文件 D: \user>copy c: \ansys 55 \docu \menulist55ans D: \user>copy c: \ansys 55\docu \UIMENU GRN D:\user>copy c: \ansys 55 \docu \UIFUNCIGRN
ANSYS 二次开发培训练习题 UIDL E.使用UIDL在ANSYS主菜单中增加一个菜单项,点击后可以出现一个子菜单或激活一个对话框。 APDL E. 使用APDL编制一个可以读写有限元模型的小程序,要求读出所有节点号和单元号,节点坐标以 及单元节点列表。 E. 使用DNSOL,DESOL定义计算结果 UPF E. 使用ANSYS列表命令列出ANSYS某一结果文件的内容;编译并连接ANSYS二进制文件读写程序 BINTST.F,读写二进制文件并与列表方式相比较。 E. 编译并连接ANSYS提供的示例程序USER01.F;在ANSYS命令行中使用/UCMD给用户命令赋新的 名称,并运行。 E. 编译并连接ANSYS提供的示例程序USER03.F,使用动态数组保存有限元模型信息,如节点号、 单元号、节点坐标、单元节点列表。使用UPF读写数据库子程序,读写模型中的有限元模型信息和 载荷信息,并打印。 E. 使用ANSYS提供子程序试验矢量与矩阵的操作 E. 试验用户自定义材料 E. 试验用户单元 E. 使用/DEBUG命令调试ANSYS单元矩阵及载荷矢量 练习题答案: 说明: 1. 以下练习答案以 ANSYS 5.5.1 UP199810001 Windows 95/98/NT 的 University Low 版本(产品号 为 ansysul)为例,其它版本与此类似。 2. 假定机器中已经安装了 Digital Visual Fortran 5.0C 以上的版本 假设 ANSYS 安装目录为 C:\ANSYS55 3. 假设用户工作目录为 D:\user 4. 约定 DOS 提示 D:\user> DOS 输入 copy c:\ansys55\docu\UIFUNC2.GRN ANSYS 输入框 ET,1,42 数据文件 :N Men_Training UIDL E. 使用 UIDL 在 ANSYS 主菜单中增加一个菜单项,点击后可以出现一个子菜单或激活一个对话框。 A. 1. 拷贝文件 D:\user>copy c:\ansys55\docu\menulist55.ans D:\user>copy c:\ansys55\docu\UIMENU.GRN D:\user>copy c:\ansys55\docu\UIFUNC1.GRN
D: \user>copy c: \ansys 55 \docu \UTFUNC2GRN 2.在主菜单中加入自定义菜单项 D: \user>edit UIMENU GRN 在第4780应为 A Main Menu 在第4803行插入以下几行 Menu Training Sep 所得到的结果如下 Men Aux12 nstat K LN(BETA) K LN(BETA) Enc UN DO Sep Men Training Se Enc FINISH 将光标移至第4812行,插入以下一段 N Men Training 413 330 A Training Menu D ANsYs Training MENU Enc Training E END 删除该行 X工 NDEX ADDED BY ANSYS 以后的全部行 存盘退出 3.编辑新的菜单文件 D: \user>edit newmenu grn 键入以下文字 E UIMENU GRN D Modified on 98/10/01, Revision (SID)=5.1811.68- For use with ANSYS 759, :N Enc Training S627,449,170
D:\user>copy c:\ansys55\docu\UIFUNC2.GRN 2. 在主菜单中加入自定义菜单项 D:\user>edit UIMENU.GRN 在第 4780 应为 :A Main Menu 在第 4803 行插入以下几行: Menu_Training Sep_ 所得到的结果如下: Men_Aux12 Men_RunStat K_LN(BETA) Sep_ K_LN(BETA) Fnc_UNDO Sep_ Men_Training Sep_ Fnc_FINISH 将光标移至第 4812 行,插入以下一段 :! :N Men_Training :S 413, 76, 330 :T Menu :A Training Menu :D ANSYS Training MENU Fnc_Training :E END :! 删除该行 :X INDEX ADDED BY ANSYS 以后的全部行 存盘退出 3. 编辑新的菜单文件 D:\user>edit newmenu.grn 键入以下文字 :F UIMENU.GRN :D Modified on 98/10/01, Revision (SID) = 5.181.1.68 - For use with ANSYS 5.5 :I 1, 759, 809 :! :N Fnc_Training :S 627, 449, 170 :T Command
A ANsYs Customizing Training D Training Exercises C )*GET, Zl, ACTIvE,, TITLE,, START c )*GET, z2, ACTIVE,, TITLE,, START,9 c )*GET, z3, ACTIVE,, TITLE,, START, 17 c )*GET, z4, ACTIVE,, TITLE,, START, 25 c )*GET, z5, ACTIVE,, TITLE,, START,33 c)*geT, z6 ACtive TITLE,, START,41 c )*GeT, z7, Active TI TLE,, START,49 C )*GET, z8, ACTIVE, TITLE,, START, 57 c)*geT, z9, ACTIVE, TITLE, START,65 Inp NoApply nd )/NO Cmd )/TITLE Fld 2 Prm [/TITLE] Welcome to ANsYS Training Typ Char, 72, 72 Prm [/TITLE] Welcome to ANSYS Training Cmd )/Go 存盘退出 4.修改 menulist55ans文件 D: \user>edit menulist55ans 修改文件的前三行,使其指向用户工作目录下的文件 d: \user\UIMENU GRN d: \user\UIFUNC1 GRN d: \user\UIFUNC2 GRN d: \user \newmenu. grn c:\ans ys 55\ DOCU\UICMDS HLP c:\ans ys 55\DOCU\UIELEM HLP c:\ans ys 55\ DOCU\UIGUI D. HLP c:\ans ys 55\ DOCU\UITHRY HLP c: \ans ys 55\ DOCU\UIOTHRHLP 5.启动 ANSYS的 launcher 在 Working Directory框中键入 d:\user 按OK键,启动 ANSYS界面 APDL E.使用APDL编制一个可以读写有限元模型的小程序,要求读出所有节点号和单元号,节点坐标以
:A ANSYS Customizing Training :D Training Exercises :C )*GET,_z1,ACTIVE,,TITLE,,START,1 :C )*GET,_z2,ACTIVE,,TITLE,,START,9 :C )*GET,_z3,ACTIVE,,TITLE,,START,17 :C )*GET,_z4,ACTIVE,,TITLE,,START,25 :C )*GET,_z5,ACTIVE,,TITLE,,START,33 :C )*GET,_z6,ACTIVE,,TITLE,,START,41 :C )*GET,_z7,ACTIVE,,TITLE,,START,49 :C )*GET,_z8,ACTIVE,,TITLE,,START,57 :C )*GET,_z9,ACTIVE,,TITLE,,START,65 Fmt_H Inp_NoApply Cmd_)/NOPR Cmd_)/TITLE Fld_2 Prm_[/TITLE] Welcome to ANSYS Training Typ_Char,72,72 Prm_[/TITLE] Welcome to ANSYS Training Cmd_)/Go :E END :! 存盘退出 4. 修改 menulist55.ans 文件 D:\user>edit menulist55.ans 修改文件的前三行,使其指向用户工作目录下的文件 d:\user\UIMENU.GRN d:\user\UIFUNC1.GRN d:\user\UIFUNC2.GRN d:\user\newmenu.grn c:\ansys55\DOCU\UICMDS.HLP c:\ansys55\DOCU\UIELEM.HLP c:\ansys55\DOCU\UIGUID.HLP c:\ansys55\DOCU\UITHRY.HLP c:\ansys55\DOCU\UIOTHR.HLP 5. 启动 ANSYS 的 launcher 在 Working Directory 框中键入 d:\user 按 OK 键,启动 ANSYS 界面 APDL E. 使用 APDL 编制一个可以读写有限元模型的小程序,要求读出所有节点号和单元号,节点坐标以
及单元节点列表。 编辑文件adat D: \user>edit a dat *Get nnod, NoDe,0, COUNT 大Dim, nodes, array Getr nd, Node,O, NUM, MIN nodes(I)= nd xy(I, 1)=Nx(nd) nd Ndnext(nd) Enddo *Get, nelm, elem,o, CounT 大Dim, e lems ay, nelm *Dim, ndlst, array, nelm, 4 *Getrel, elem,o, NUM, MIN elems(工)=e1 大Do,J,1,4 dlst(I, J)=Elem(el,J 2.启动 ANSYS,根据自己所熟悉的领域,建立一个有限元模型 3.输入文件adat /input,a,dat 4.检查 分别列出节点数,节点号列表,坐标,单元数,单元号列表,单元节点列表,与 list. elist等对比。 ★ status,mnod status, nodes ★ status,xY *status, elems *status, ndi st E.使用 DNSOL, DESOL定义计算结果 利用前面所建立或新建一个有限元模型
及单元节点列表。 A. 1. 编辑文件 a.dat D:\user>edit a.dat *Get,nnod,NODE,0,COUNT *Dim,xy,array,nnod,2 *Dim,nodes,array,nnod *Get,nd,NODE,0,NUM,MIN *Do,I,1,nnod,1 nodes(I)= nd xy(I,1) = Nx(nd) xy(I,2) = Ny(nd) nd = Ndnext(nd) *Enddo *Get,nelm,ELEM,0,COUNT *Dim,elems,array,nelm *Dim,ndlst,array,nelm,4 *Get,el,ELEM,0,NUM,MIN *Do,I,1,nelm,1 elems(I)= el *Do,J,1,4 ndlst(I,J) = Nelem(el,J) *Enddo el = Elnext(nd) *Enddo 2. 启动 ANSYS,根据自己所熟悉的领域,建立一个有限元模型 3. 输入文件 a.dat /input,a,dat 4. 检查 分别列出节点数,节点号列表,坐标,单元数,单元号列表,单元节点列表,与 nlist,elist 等对比。 *status,nnod *status,nodes *status,xy *status,nelm *status,elems *status,ndlst E. 使用 DNSOL,DESOL 定义计算结果 1. 利用前面所建立或新建一个有限元模型
2.进入Post- processor Main Menu->General Postproc 3.定义节点上的结果 手工定义 > Nodal results按对话框提示输入各点的结果数据 程序自动定义 /PREP7 BLC4,0,0,4,2 et,1,42 esizer. 5 amesh 1 /POST1 dof, temp *Ge tr nnod, Node,0, COUNT *Dim, xy, array, nnod, 2 *Dim, nodes, array, nnod *Get, nd, NoDE,O, NUM, MIN Do,I, l, nnod, xy(I, 1)=Nx(nd) xy(I, 2)= Ny(nd) nd Ndnext (nd) 大 Enddo *Do,i,l nnod, 1 dist=sqrt((xy(i,1)-2)*(xy(i,1)-2)+(xy(i,2)-1)*(xy(i,2)-1)) p= dist*100 Dnsol, nodes (i),temp,, tmp nsel all plnsol, temp
2. 进入 Post-processor /post26 或 Main Menu->General Postproc 3.定义节点上的结果 手工定义 ->Nodal Results 按对话框提示输入各点的结果数据 程序自动定义 /PREP7 BLC4,0,0,4,2 et,1,42 esize,.5 amesh,1 /POST1 dof,temp *Get,nnod,NODE,0,COUNT *Dim,xy,array,nnod,2 *Dim,nodes,array,nnod *Get,nd,NODE,0,NUM,MIN *Do,I,1,nnod,1 nodes(I)= nd xy(I,1) = Nx(nd) xy(I,2) = Ny(nd) nd = Ndnext(nd) *Enddo *Do,i,1,nnod,1 dist = sqrt((xy(i,1)-2)*(xy(i,1)-2)+(xy(i,2)-1)*(xy(i,2)-1)) tmp = dist*100 Dnsol,nodes(i),temp,,tmp *Enddo nsel,all plnsol,temp