在Emacs中编写ansys程序的apdl语言用的主mode
- 格式:doc
- 大小:132.50 KB
- 文档页数:3
达尔文档DareDoc分享知识传播快乐ANSYS命令流学习指南APDL内容简解由DEAN原创、整理,仅供学习交流2014年5月达尔文档|DareDoc整理目录什么是ANSYS命令流,APDL是什么? (1)ANSYS命令流与GUI方式联系及其优点 (1)二次开发涉及到的工具 (1)如何学习ANSYS命令和APDL (1)工欲善其事必先利其器(编辑器选择) (2)LOG文件的秘密 (4)APDL主要内容 (5)自定义工具栏 (5)使用参数 (7)变量命名 (7)变量赋值 (7)变量定义查看和删除 (7)参数保存和恢复 (8)字符变量的用法 (8)数组初步 (8)数组赋值 (9)ANSYS*get命令和查询函数 (9)*get命令 (9)查询函数(Inquiry Function) (11)系统信息查询函数/INQUIRE (12)内嵌获取函数的用法 (12)宏 (12)什么是APDL宏 (12)宏定义 (13)宏的搜索路径(宏在何放) (14)宏库(宏的家园) (15)控制语句 (16)条件转移命令 (16)无条件转移 (17)循环语句 (17)GUI交互 (18)各种语言的含义 (20)编写命令流的良好习惯 (21)有用的东西整理 (21)一些常用符号 (21)参数与数据文件的写出与读入 (22)常用宏解析 (24)查询db名称,删除以db名+000.jpg为名称的图片 (24)提取图片 (25)查询变量或数组在ANSYS内部编号 (25)线法线方向统一调整 (25)梁单元单元表建立 (26)参考资料 (26)什么是ANSYS命令流,APDL是什么?ANYS提供两种工作方式,GUI图形用户界面(GraphicalUserInterface又称图形用户接口)操作和命令流。
在ANSYS中,命令流是由一条条ANSYS的命令组成的一个命令组合,这些命令按照一定顺序排布,能够完成同GUI方式一样甚至GUI不能完成的的操作。
ANSYS基础教程—APDL基础ANSYS是一款强大的工程仿真软件,它提供了多种分析工具和模块,可以用于各种领域的工程仿真,如结构力学、流体力学、热传导等。
在ANSYS中,APDL(ANSYS Parametric Design Language)是一种用于命令方式建模和分析的语言。
本文将介绍APDL的基础知识和使用方法。
APDL是一种类似于编程语言的命令语言,用于定义模型、应用加载和边界条件、运行分析和处理结果。
它与ANSYS Workbench相比,更加灵活和强大,适用于更复杂的分析和定制需求。
APDL使用文本方式输入,命令间采用逐行执行的方式。
首先,我们需要了解APDL的基本命令。
APDL命令由一个关键字和一些参数组成,关键字指定所需要执行的操作,而参数则提供了操作所需要的具体信息。
例如,使用KEYOPT命令可以设置单元选项,语法为KEYOPT,KEY,NUM,其中KEY是要设置的选项,NUM是要设置的数值。
另外,APDL还提供了大量的预定义变量和函数,可以为模型和分析提供更多的灵活性。
其次,我们需要了解APDL的建模步骤。
建模步骤通常包括几个主要的操作,如几何建模、网格划分、材料定义、加载和边界条件定义等。
几何建模可以使用APDL的几何命令来创建几何实体,如线段、圆、方框等。
网格划分可以使用APDL的划分命令,如DIVIDE、MESH等来生成网格。
材料定义可以使用APDL的材料命令来定义材料属性,如密度、弹性模量等。
加载和边界条件定义可以使用APDL的边界条件命令来设置载荷和约束条件。
最后,我们需要了解如何运行模型分析和处理结果。
在APDL中,可以使用SOLVE命令来运行模型分析,语法为SOLVE,SOLVEID,其中SOLVEID是分析的编号。
在进行分析之前,需要保证模型的几何、网格、材料定义和加载边界条件正确无误。
分析完成后,可以使用APDL的后处理命令来处理结果,如输出节点和单元的位移、应力等信息。
ANSYS Workbench中的APDL(ANSYS Parametric Design Language)是一种参数化设计语言,用于在ANSYS软件中自动化建模和求解过程。
以下是APDL的一些用法:
1. 创建模型:使用APDL可以创建各种类型的模型,包括结构、流体动力学、电磁等。
在创建模型时,可以通过定义参数、约束条件和载荷等来自动化建模过程。
2. 优化设计:APDL可以用于优化设计,通过调整参数、约束条件和载荷等,获得最佳的设计方案。
3. 自动化求解:使用APDL可以自动化求解过程,包括网格划分、求解设置、结果后处理等。
4. 批处理操作:通过APDL,可以对一组模型进行批处理操作,例如批量分析、批量结果后处理等。
5. 自定义功能:使用APDL可以自定义功能,例如创建自定义的命令流、宏等,扩展ANSYS软件的功能。
在使用APDL时,需要注意以下几点:
1. 学习APDL需要一定的编程基础和数学知识。
2. 在使用APDL之前,需要了解ANSYS软件的基本操作和功能。
3. 在编写APDL脚本时,需要注意语法错误和逻辑错误,并进
行充分的测试和验证。
4. 在使用APDL进行复杂模型的分析时,需要注意计算资源和内存的分配,以确保计算过程的稳定性和效率。
结合自身经验,谈ANSYS中的APDL命令(二)发表时间:2009-5-10 作者: 倪欣来源: e-works关键字: ANSYS APDL 命令流在ANSYS中,命令流是由一条条ANSYS的命令组成的一个命令组合,这些命令按照一定顺序排布,能够完成一定的ANSYS功能,本文是作者结合自身经验所总结的一些命令。
1.1 /prep7(进入前处理)定义几何图形:关键点、线、面、体(1).csys,kcnkcn , 0 迪卡尔坐标系1 柱坐标2 球4 工作平面5 柱坐标系(以Y轴为轴心)n 已定义的局部坐标系(2).numstr, label, value 设置以下项目编号的开始nodeelemkplineareavolu注意:vclear, aclear, lclear, kclear 将自动设置节点、单元开始号为最高号,这时如需要自定义起始号,重发numstr(3).K, npt, x,y,z, 定义关键点Npt:关键点号,如果赋0,则分配给最小号(4).Kgen,itime,Np1,Np2,Ninc,Dx,Dy,Dz,kinc,noelem,imoveItime:拷贝份数Np1,Np2,Ninc:所选关键点Dx,Dy,Dz:偏移坐标Kinc:每份之间节点号增量noelem: “0” 如果附有节点及单元,则一起拷贝。
“1”不拷贝节点和单元imove:“0” 生成拷贝“1”移动原关键点至新位置,并保持号码,此时(itime,kinc,noelem)被忽略注意:MAT,REAL,TYPE 将一起拷贝,不是当前的MAT,REAL,TYPE(5).A, P1, P2, ……… P18 由关键点生成面(6).AL, L1,L2, ……,L10 由线生成面面的法向由L1按右手法则决定,如果L1为负号,则反向。
(线需在某一平面内坐标值固定的面内)(7).vsba, nv, na, sep0,keep1,keep2 用面分体(8).vdele, nv1, nv2, ninc, kswp 删除体kswp: 0 只删除体1 删除体及面、关键点(非公用)(9).vgen, itime, nv1, nv2, ninc, dx, dy, dz, kinc, noelem, imove 移动或拷贝体itime: 份数nv1, nv2, ninc:拷贝对象编号dx, dy, dz :位移增量kinc: 对应关键点号增量noelem,:0:同时拷贝节点及单元1:不拷贝节点及单元imove:0:拷贝体1:移动体(10).cm, cname, entity 定义组元,将几何元素分组形成组元cname: 由字母数字组成的组元名entity: 组元的类型(volu, area, line, kp, elem, node)(11).cmgrp, aname, cname1, ……,cname8 将组元分组形成组元集合aname: 组元集名称cname1……cname8: 已定义的组元或组元集名称1.2 定义几个所关心的节点,以备后处理时调用节点号。
ANSYS-APDL命令汇总ANSYS APDL命令汇总AA,P1,P2,P3,P4,P5,P6,P7,P8,P9此命令用已知的一组关键点点(P1~P9)来定义面(Area),最少使用三个点才能围成面,同时产生转围绕些面的线。
点要依次序输入,输入的顺序会决定面的法线方向。
如果超过四个点,则这些点必须在同一个平面上。
Menu Paths:MainMenu>Preprocessor>Create>Arbitrary>Throug h KPsABBR*ABBR,Abbr,String--定义一个缩略语.Abbr:用来表示字符串"String"的缩略语,长度不超过8个字符.String:将由"Abbr"表示的字符串,长度不超过60个字符.ABBRESABBRES,Lab,Fname,Ext-从一个编码文件中读出缩略语.Lab:指定读操作的标题,NEW:用这些读出的缩略语重新取代当前的缩略语(默认)CHANGE:将读出的缩略语添加到当前缩略语阵列,并替代现存同名的缩略语.Ext:如果"Fname"是空的,则缺省的扩展命是"ABBR".ABBSAVABBSAV,Lab,Fname,Ext-将当前的缩略语写入一个文本文件里Lab:指定写操作的标题,若为ALL,表示将所有的缩略语都写入文件(默认ADDadd, ir, ia,ib,ic,name,--,--,facta, factb, factc将ia,ib,ic变量相加赋给ir变量ir, ia,ib,ic:变量号name: 变量的名称ADELEAdele,na1,na2,ninc,kswp !kswp=0时只删除掉面积本身,=1时低单元点一并删除。
ADRAGAdrag, nl1,nl2,nl3,nl4,nl5,nl6,nlp1,nlp2,nlp3,nlp4,nlp5,nlp6 !面积的建立,沿某组线段路径,拉伸而成AFILLTAfillt,na1,na2,rad !建立圆角面积,在两相交平面间产生曲面,rad为半径。
ANSYS APDL命令汇总AA,P1,P2,P3,P4,P5,P6,P7,P8,P9此命令用已知的一组关键点点(P1~P9)来定义面(Area),最少使用三个点才能围成面,同时产生转围绕些面的线。
点要依次序输入,输入的顺序会决定面的法线方向。
如果超过四个点,则这些点必须在同一个平面上。
Menu Paths:Main Menu>Preprocessor>Create>Arbitrary>Through KPsABBR*ABBR,Abbr,String--定义一个缩略语.Abbr:用来表示字符串"String"的缩略语,长度不超过8个字符.String:将由"Abbr"表示的字符串,长度不超过60个字符.ABBRESABBRES,Lab,Fname,Ext-从一个编码文件中读出缩略语.Lab:指定读操作的标题,NEW:用这些读出的缩略语重新取代当前的缩略语(默认)CHANGE:将读出的缩略语添加到当前缩略语阵列,并替代现存同名的缩略语.Ext:如果"Fname"是空的,则缺省的扩展命是"ABBR".ABBSAVABBSAV,Lab,Fname,Ext-将当前的缩略语写入一个文本文件里Lab:指定写操作的标题,若为ALL,表示将所有的缩略语都写入文件(默认ADDadd, ir, ia,ib,ic,name,--,--,facta, factb, factc将ia,ib,ic变量相加赋给ir变量ir, ia,ib,ic:变量号name: 变量的名称ADELEAdele,na1,na2,ninc,kswp !kswp=0时只删除掉面积本身,=1时低单元点一并删除。
ADRAGAdrag, nl1,nl2,nl3,nl4,nl5,nl6, nlp1,nlp2,nlp3,nlp4,nlp5,nlp6 !面积的建立,沿某组线段路径,拉伸而成AFILLTAfillt,na1,na2,rad !建立圆角面积,在两相交平面间产生曲面,rad为半径。
ANSYS 数据文件读写的APDL命令详解及实例源自机知网作者:huright一 FORTRAN数据格式I格式(又叫整数格式)一般形式:Iw 或:Iw.m其中:w 一个数据占的位数宽度(又称“字段宽度”),m 需要输出的最少数字位数。
例1:(1)数字在指定的区域内向右端靠齐,如果数字位数比指定的字段宽度w小,则左边补以空格。
负数的符号也包含在字段宽度内。
(2)如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。
(3)如果数字的位数超过了m,则按实际应输出的位数输出(但条件是不能超过w)。
m 不包括负号所占的一列。
F格式(又叫小数型格式)一般形式:Fw.dw 各数值占的总位数 d 输出数据的小数位数(小数点后的位数)。
例1:(1)数字在指定的区域内向右端靠齐,如果数字位数(含小数点和符号位)比指定的字段宽度w小,则左边补以空格;如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。
(2)如果数据的小数位数比指定的小数位数d小,则在小数右边补0以凑足d位;如果小数位数大于d位,则输出时多于的小数位数按“四舍五入”规则舍去。
(3)假设b为数据整数部分的位数,则应使w≥b+d+1(小数点占一列),如果输出负数,则应保证w≥b+d+2(小数点和负号各占一列)。
(4)用F格式输出时应注意,由于难以事先确切估计出数据的大小,输出大的数时容易产生“宽度不够”的错误(由于w不够大),输出小的数时会出现丢掉有用数字的情况(由于d不够大而将后面的数字截去),这就是“大数印错,小数印丢”。
E格式(又叫指数型格式)一般形式:w.dw 各数值占的总位数,d 输出数据的小数位数(小数点后的位数)。
例1:(1)采取标准化的指数形式输出一个实数,d为以指数形式出现的数据的数字部分的小数位数。
(2)指数部分一般占4列,其中字母“E”和指数的符号各占一列,指数2列。
在Emacs中编写ansys程序的apdl语言用的主mode2009-11-08 02:35:53来自: dinglin我经常需要写ansys的命令流,并且喜欢在emacs里面写。
我想用一种颜色显示命令流中的关键字,并且实现循环和判断语句(if)的缩进功能。
为了实现这些功能,我为命令流文件编写了它的主模式el文件。
我把这个el文件共享到网上,希望和我一样有同样需要的人可以使用它。
ansys命令流中的关键字很多很多,我把我用过、碰到过的关键字都放在了这个el文件中。
您在使用的时候可以把您自己的关键字添加到文件里面。
;;ansys-mode.el --- Ansys major mode;;2006/09/24 21:10(defvar ansys-mode-hook nil)(defvar ansys-mode-map(let ((mode-map (make-sparse-keymap))) ;;make-keymap(define-key mode-map [(control-j)] 'newline-and-indent)mode-map)"Keymap for ANSYS major mode")(add-to-list 'auto-mode-alist '("\\.lgw$" . ansys-mode));;Syntax using keywords highlighting(defconst ansys-keywords-regexp(regexp-opt '("stat" "finish" "wpoffs" "wprota" "wpcsys" "n" "fill" "nscale" "nmodif" "k" "l" "lstr" "ldele" "lptn" "a" "al" "askin" "cyl4" "blc4" "asba" "aadd" "aptn" "btol" "v" "vext" "vsbv" "vadd" "lfillt" "circle" "larc" "adrag" "ksymm" "lsymm" "arsym" "vsymm" "ngen" "egen" "kgen" "vgen" "et" "keyopt" "etcontrol" "mp" "mpdata" "mpchg" "acel" "r" "rmore" "rdele" "e" "emodif" "edele" "type" "mat" "real" "esys" "cp" "endrelease" "latt" "aatt" "esurf" "tb" "tbtemp" "tbdata" "tbpt" "sectype" "secdata" "secoffset" "secplot" "secnum" "slist" "secwrite" "secread" "smrtsize" "mopt" "esize" "lesize" "aesize" "mshape" "mshkey" "lmesh" "amesh" "vmesh" "kmesh" "aclear" "upgeom" "noorder" "nummrg" "numcmp" "flst" "fitem" "nsel" "esel" "ksel" "lsel" "asel" "nsll" "esln" "esll" "asll" "lsla" "esla" "nslk" "lslk" "allsel" "cm" "cmsel" "cmdele" "nlist" "nplot" "elist" "eplot" "mplist" "rlist" "cplist" "csys" "dsys" "rsys" "local" "cscir" "antype" "d" "ddele" "dlist" "dofsel" "dscale" "dcum" "dk" "dsym" "dl" "da" "fcum" "f" "fdele" "fk" "fkdele" "sf" "sfbeam" "sfe" "sfelist" "sfedele" "sfa" "sfcum" "tref" "bfunif" "tunif" "check" "outpr" "outres" "nlgeom" "pstres" "sstif" "nropt" "arclen" "arctrm" "time" "autots" "nsubst" "deltim" "lnsrch" "cnvtol" "neqit" "eqslv" "sbctran" "solcontrol" "solve" "estif" "ekill" "ealive" "psolve" "lswrite" "lsread" "lsdele""lsclear" "lssolve" "bucopt" "expass" "mxpand" "seopt" "m" "se" "setran" "cpintf" "seexp" "expsol" "prdisp" "prnsol" "prnld" "presol" "prrsol" "prssol" "priter" "pldisp" "plnsol" "plesol" "anmode" "plvect" "enearn" "nsort" "esort" "etable" "pretab" "pletab" "plls" "sabs" "sadd" "smult" "smin" "smax" "fsum" "set" "save" "resume" "lcdef" "lcase" "lcsel" "lcoper" "lcfact" "lcabs" "lczero" "lcwrite" "lcfile" "inres" "file" "shell" "numvar" "nsol" "rforce" "filldata" "varname" "prvar" "add" "prod" "store" "vget" "xvar" "plvar" "int1" "ancut" "parsav" "parres" "wrfull" "hbmat" "modopt" "hropt" "hrout" "lumpm" "kbc" "harfrq" "trnopt" "alphad" "betad" "spopt" "svtyp" "sed" "freq" "sv" "dmprat" "mdamp" "srss" "cqc" "psdunit" "psdfrq" "psdval" "coval" "pfact" "psdres" "psdcom" "rpsd" "adapt") t)) (defconst ansys-command-regexp(regexp-opt '("*afun" "*set" "*get" "*status" "*go" "*if" "*elseif" "*else" "*endif" "*do" "*enddo" "*exit" "*cycle" "*dowhile" "*repeat" "*create" "*end" "*use""*dim" "*del" "*vget" "*vput" "*vscfun" "*vfact" "*vfun" "*voper" "*vplot" "*vread" "*vwrite" "*list" "*cfopen" "*cfwrite" "*cfclos") t))(defconst ansys-function-regexp ;;get function and parametric function (regexp-opt '("node" "ndnext" "acos" "max" "min" "ux" "uy" "uz" "kx" "ky" "kz" "distkp" "nelem") t))(defconst ansys-modula-name-regexp(regexp-opt '("/clear" "/filename" "/title" "/units" "/vup" "/view" "/angle" "/replot" "/config" "/input" "/sys" "/syp" "/nerr" "/uis" "/prep7" "/pnum" "/number""/eshape" "/solu" "/post1" "/contour" "/delete" "/post26" "/axlab" "/xrange""/cplane" "/type" "/dist" "/focus" "/auto" "/com" "/output" "/nopr" "/gopr" "/go" "/debug" "/aux2") t))....................等等我把这个el文件共享到网上,希望和我一样有同样需要的人可以使用它。