Ansys入门培训书 .doc
Ansys入门培训书背景以下介绍的都是Ansys 9.0版本。高版本在12.0后可能在图形界面上有较大差异,但是编程命令方面应不会显著改变。有限元法文艺复兴后的几百年里,数学家和物理学家一直在努力发现各类物理问题的基本规律,并用数学方程加以表述。他们做到了这一点,并且形成了相关的学问,并形成了数学物理,数学建模这些学问。然而不幸的是,虽然他们得到了很多基本方程,却没有获得所有的解。现实情况实在过于复杂,只有把现实问题假设再假设,简化再简化,才能得到为数不多的、形式漂亮的封闭解就是那种把所有参数代入一个解析式子就得到解数值的式子,与之相对的,是即使所有参数都代进去,仍没法直接得到结果,可能需要再求一次的式子(Closed Form Solution),例如著名波动方程解,CMOS I-V特性之萨方程,等等。稍后,人们又想出了很多近似解析求解的方法,例如能量法、摄动法,等等。但是能求解的问题还是很有限。因此,人们放弃了纯解析(Analytical)求解,转向数值(Numerical)方法。如果说经典的解析求解像是一位高人以精准无碍的思辩直达目标,那么数值方法则与大众的思维特征没有两样由简到繁(时域、空间分解),有错就改(猜解、迭代、逼近),往复前进。诞生于20世纪处的有限元正是这一思维特征的典型。空间上,它通过单元划分把任意复杂模型都划成无数简单小模型的组合,求解时,它利用优化过的算法(伽辽金法)进行反复漫长的迭代。刚刚诞生的有限元方法就像是一个食量惊人的婴儿,因为计算量太大而难以受到人们的青睐。直到20世纪中后叶,盼来了与之绝配的高速计算机技术以后,它才真正得以成长。数值算法(包括有限元等)和计算机技术的联袂崛起,是应用物理和应用数学史上的双重革命。应用物理学家和数学家积累数百年的推方程和解方程的本领似乎变得一钱不值(尽管这一点是否如此仍值得讨论)。一切问题都被化解到最基本层面(例如梁理论可改由弹性理论求解),由最笨的方法,以惊人的计算量和计算速度,而非高超的数学技巧加以求解。除了基本方程外,理论公式中有很多都变成了学术界的花瓶,而不是产业界的螺丝钉。Ansys Ansys、Abacus等公司就是在这样的革命浪潮中脱颖而出。与其说它们在技术上高人一等, 不如说它们在对商业运作的本领上胜人一筹。因为在同一时期,因为看到计算机技术给有限元带来的生机,几乎全世界,当然也包括中国的应用数学家和物理学家都在醉心于这一新技术的应用开发上,而这种着迷之情在Ansys等公司先声夺人后很快便消失殆尽。现在中科院的数学所的研究者们仍在结合更新的计算机技术,如显卡芯片(GPU)计算技术,开发、推广相应的有限元软件。LS-DYNA也是同时期发展起来的有限元公司,它的特长是分析大变形、强非线性、以及复杂接触/非接触问题。后来Ansys公司收购了它,把LS-DYNA作为一个模块放到软件中。基础软件方面常识1)不区分大小写。2) 区分全角半角! 请一定注意,不要用全角逗号、感叹号,很多新手犯此错误!2)用 ! 作注释,只可逐行注释,每新起一行要重新加!。 3)支持科学记数法,如1.5e6。4)支持命令缩写至四个字符,如/solution可写作/solu。5)支持简单函数,如sin( ),abs( )。6) 通用性强,可定制的选项多。坏处是什么事都得自己作(这一点它也在改进)。好处是它可以算的问题也比专业性强的软件(如Coventor等)要多。界面命令流输入区行快捷按钮区菜单区模型区点点点的区域图 1 Ansys的界面(Ansys 12.0以上的版本可能有不同,留待补充)两种用法一种是用Ansys界面左侧菜单中点命令的用法,学名GUI编程,俗称“点点点”的方法。初学者喜欢,各类参考书上也多有介绍。但在程序需要反复修改、调试,相互传阅时有所不便。另一种是命令流方式。就是预先把程序编好在一个文本文件里,后缀任意,然后导入它运行,不通过GUI操作。适合编程者之间相互交流,需要一定时间上手。出于对实验室Ansys程序可继承性的考虑,本文严重推荐并重点介绍这种方法。如果想在论坛上咨询问题,贴命令流更有效。输入命令流文件的方式有多种,简单的是在命令栏中敲: /input,filename,ext,或是直接复制代码原文拷贝到命令栏中运行。据经验,其效果基本类似。但有时似乎略有区别。如发生一种方法总是明显出错的情形,可尝试另一种。有时GUI方法会比命令流方便。例如需要从已有模型中临时选择对象(以观察其属性)时,可以直接用鼠标点所看到的对象。用多了就知道什么时候该用什么方法。其实每步GUI操作都对应一个命令。用GUI法进行每步(或全部)操作后,可在“当前项目名.log”(缺省时为file.log)文件中看到这步(或全部)操作对应的命令。这是学习Ansys命令的一个好方法。但有个例外,执行GUI的选择(select )类操作后log文件中产生的那段(看起来莫名其妙的)命令,并不是命令流方法所应用的命令。结构和流程Ansys整个程序由各个模块组成。最常用的有:1)prep7,前处理模块,负责建模、定义材料参数、分网、加载荷和约束等。2)solu,求解模块,负责求解。加载荷和约束也可以放在这里做。3)post1,静态后处理,负责将解按所需方式运算、画图、列表等,适用静态问题。4) post26,动态后处理,功能同上,适用动态问题,例如求瞬态变化过程。进入模块时敲:/模块名。退出模块时敲:finish。以下是即为一个Ansys标准程序的基本流程,其中对prep7模块的每个小步骤都进行了细分。请读者尽量遵守该编写流程,便于形成统一标准。表 1 Ansys命令流程序的基本框架定义单元、材料参数和其它参数画模型,分配单元和材料参数分网加约束加载荷(也属solu模块)求解看结果prep7模块solution模块post1(静态),post26(动态)(请参照“基本例子”快速了解该流程的更改)看帮助Ansys通用性强,可定制的选项多,因此看Ansys帮助不是一目了然。它会在讲一个命令时说到其它相关的命令、设置和用法。总结起来使用心得如下。1)先熟悉Help-目录部分,知道整体体系,知道在什么问题在什么地方查。Ansys Tutorials有很多GUI和命令流并茂的入门例子,可好好模仿学习。Verification Manual有大量命令流例子,这些本是用来验证Ansys结果和经典理论一致性的,但本身也是命令流学习的好教材。由Verification Test Case Descriptions能看到每个例子的简单描述。很多时候它也是模拟某类问题时可以直接模仿的对象。ANSYS, Inc. Theory Reference中给出了每类问题的理论模型。如果编程时对某些命令的用法不明,不知道它对应数学物理中的那步计算,有时可以在这里了解底细。这里也是学习物理的好场所,因为它用的理论模型都是千锤百炼的,而且给出了参考文献。图 2 Ansys的Help目录2)查某个命令的用法例如看D(加节点约束)这个命令的用法。先在索引中输入D,选择双击D Command,出来一个对话框,从中再双击D。其它命令类推。命令族图 3 Ansys命令的帮助帮助首先会给出该命令的语法和各个位置可以填的值。如果它觉得在这里有说不清楚的地方就会在随后的NOTES段中继续交待。最后会在Menu Paths中给出GUI方式和命令流两种方式之间的对应关系。请注意右上角红圈部分,是该命令所属的命令族,这个很有用。因为能从该命令族中很快找到其它类似命令。例如找到D(画方块)的命令族FE Constraints(有限元节点约束命令族)后,就可以找到DLIST、DSYM等其它类似的常用命令。这样可以举一反三,迅速掌握一整套命令。有的命令前面要加*(属于APDL类编程命令)表示,有的要加/(属于系统级别的命令),加和不加完全是两个命令。例如*set和set就是两回事。有关各类常用命令详细解说参见后文。3)帮助的详细阅读如果有充裕时间,或是有志于有限元模拟的熟练掌握,那么可以从Basic Analysis Guide开始依次看下来,直到Ansys Tutorials。这其中每一节都很有用。网络论坛上有好学者尝试将帮助翻译成中文,可以搜索来看。此外各类市面上的教材、ppt等资料,很多时候都是帮助翻译的翻版。找例子学习命令流时,我们经常会想找到一些直接可以模仿的完整程序例子。这些例子的来源有:1)从帮助的Structural Analysis Guide到Coupled-Field Analysis Guide各章,加上Ansys LS-DYNA User's Guide。2) Ansys Tutorials有很多GUI和命令流并茂的入门例子,可好好模仿学习。3)Verification Manual有大量命令流例子,这些本是用来验证Ansys结果和经典理论之间一致性的。由Verification Test Case Descriptions能看到每个例子的简单描述。4)本文最后附的实验室已有实例。5)论坛上有很多现成的例子。请大家帮忙收集、整理、注释以便相互交流。论坛Simwe论坛的Ansys区中国钢结构论坛的Ansys区http:/okok.org/forum/index.php?gid=10018有限元常识有限元原理单元和节点单元就是有限元法(FEM)中的“元”。每类问题都有一种最合适的单元类型与之对应。我们最常采用的单元类型有:plane42plane13solid45solid5、solid98(待续)最简单的2D力学单元最简单的2D耦合场单元最简单的3D力学单元最简单的耦合场单元学习中可参照help的Ansys Element Reference Element Characteristics Element Classifications,一目了然。详细用法阅读每个单元的help。需要指出,单元类型不是天经地义的,是Ansys根据实际需要划分并不断调整和补充的。如果某类特定问题的解析模型足够简洁实用,那么它就可能反过来影响有限元技术。典型的例子如梁单元。人们在研究梁问题时,很多时候都喜欢采用梁单元,而不是更底层的弹性单元,尽管只用弹性单元如plane42就可以精确算出梁的结果。这是因为梁理论在此问题时更加简洁、高效和实用。如果某种典型模型的理论研究能够达到梁理论这种高度,那么这类模型结构就可能被抽象为为新的基本单元,比方说,矩形间隙电场单元、压膜阻尼单元,等等。这些单元只用一个就能描述全部行为,而不必再细分为底层单元。图 4 Ansys的单元和节点,以solid45单元为例 节点,就是单元相互连接的那个点。图中的solid45单元就是以点I、J、K、L、M、O、P互连。但为什么非要是点,而不是线、面呢?3D六面体单元不是用面相互连接的吗?这是因为,人类目前的计算机本质上只能处理离散的数据,所有连续的数据都是用各种离散近似的方法去处理。如果以连接线、连接面来处理,就不可避免地要面对连续量互连问题。或许未来的计算技术可以解决这个问题,但现在不能。有趣的是,我们人类自己的思维却可以处理连续数据,我们总是一整块一整块数据的处理,形成所谓印象、感觉之类的具有整体特征的觉识。 那么强行用点,来处理本来是应该线、面连接的单元,会不会出问题呢?这就是有限元方法的妙处。它就能做到只用节点上的物理量,来描述单元的整体行为。换句话说,单元中任何点的行为都可以由节点上的量线性组合来表示。当然,是近似的表示。不过模型划分出的单元越小,这种近似就越准确。具体原理可参见各类有限元教材。此外,确实也有些情况,只用节点量不能表示单元全貌,或是会引入很大误差,所以有限元方法也仍在改进和继续研究中。 载荷和约束 力学问题中,约束相当于位移,载荷相当于力。电学问题中,约束相当于电压,载荷相当于电流。其他物理问题依此类推。我们会发现几乎所有物理问题上,一个节点上的物理量总是这样成对出现的,一个是自由度,一个是载荷。说白了,一个是输入,一个是输出。 约束少了或者错了,求解就失败或者错误。新手最容易忘掉任何一个力学模型必须至少有一点固支,因此常常碰到约束条件不够无法求解的问题。 活用约束可以大大简化模型。例如,可以不画出一个物体的反作用对象,而只是指定它们在界面处的约束关系来求解问题。各类命令了解模块 下表列出了最常见的四个模块。每个模块采用不同方法编写而成,完成独立功能。 定义单元、材料参数和其它参数画模型,分配单元和材料参数分网加约束加载荷(也属solu模块)求解看结果prep7模块solution模块post1(静态),post26(动态) 用斜杠/加模块名(可省略至前四个字符)进入该模块。例如,/prep7进入预处理模块,用/solu进入计算求解模块。 用finish退出当前模块。 各模块包含的具体命令请到Ansys commands reference command groupings的查询阅读。准备清除内存finish/clear 这两句一般放在命令流句首,方便频繁调试用。如果不这么做,那么你在命令流输入区中贴进去的命令流就会从已有模型基础上继续往下算,这显然不是我们想要的结果。定义单元 单元就是有限元法(FEM)中的“元”。每类问题都有一种最合适的单元类型与之对应。我们最常采用的单元类型有:Plane42plane13solid45solid5、solid98最简单的2D力学单元最简单的2D耦合场单元最简单的3D力学单元最简单的耦合场单元选择单元时可参照Ansys Element Reference Element Characteristcs Element Classifications。具体应该阅读每个单元的help的详细说明。 认准单元后,即可定义它。et (定义单元,如et,1,plane42,3) 关于keyopt 因为一个单元在不同问题中有不同用法,所以有时需要设置单元的Keyopt,使其最适合解决当前问题。 一般只要留意其中的Element degrees of freedom和Element behavior项。 Element degrees of freedom常见于耦合场单元,用以选择该单元的自由度,也就是节点上的物理量是什么。例如一个单元号称算力问题又能算电磁问题,那么需要小心,它可能算了这个就不能算那个。具体它在这次问题中可以算哪个,就是用keyopt指定。 需要特别指出的是,热(温度)是一种很特殊的物理量。它既可以作为单元的自由度(U),也可以作为单元的体载荷(F)。很多时候将热作为体载荷反而更方便。比如常规的热-机械耦合问题,就可以用plane42单元加温度体载荷(bf)来建模,而不是非得用热-机械耦合场单元plane13。 Element behavior用于说明该单元遵循哪种弹性力学假设。包括:plane stress(平面应力假设),axisymmetric(轴对称,用2D单元分析轴对称3D问题),plane strain(平面应变假设),plane stress with thickness input(带厚度修正的平面应力假设)。例如,如果想分析一个完全轴对称的力学问题,往往可以只用平面单元加轴对称keyopt设置即可,而不需要用三维单元建立三维模型。定义材料参数 常用命令完整见Ansys commands reference command groupings prep7 commands Table 2.26和Table 2.27) 常用的是mp命令。mp (定义线性材料参数,如mp,ex,1,170e9)定义其它参数 随处可以定义新的标量参数,便于编程和修改。= (如abc = 100)*set (如*set,abc,100) 实常数Real constant也是一种材料参数,是在mp和et外对单元的一种补充说明。有的单元用得到,有的不常用到。具体查阅每个单元的详细说明。r (如r,1,100)画模型 详见help的Ansys commands reference command groupings prep7 commands Table 2.28 2.34 有两种画模型的方法。一种是直接画几何图形建模。一种是用定义好的keypoint连接形成几何模型。都有用,结合使用。table2.28: rectng(画长方形),cyl4(画扇形和圆),block(画长方体)table2.29: k(画点)table2.31: l(用点连线),llist(列出所有线信息)table2.32: alist, aatt(给面分配单元)table2.33: vext(底面乘高法作体),vlist,vatttable2.34: aglue,vglue(胶合),aovlap(重叠)nummrg(合并编号)/ numcmp(重排编号)简化和对称 原则是能简化成2D的、对称的,粗线条的模型就尽量简化。巧妙利用对称性是重要的简化技巧。具体见Modeling and Meshing Guide Planning Your Approach。 利用对称性扩展模型的常用命令有:lsymm,arsym,vsymm。 利用对称性简化模型的常用命令有:dsym 分配参数 详见help的Ansys commands reference command groupings prep7 commands Table 2.37.Elements 以及Modeling and Meshing Guide Generating the Mesh Setting Element Attributes Assign Element Attributes Before Meshing 有两种分配放方法。最常用的先建模后分配,用aatt或vatt。如aatt,1,1,1(给所选area分配1号材料参数、1号实常数和1号单元)。另一种是先分配后建模,用mat/type/r等。在某些特殊单元(如contact)建模时会用到。分网 分网是很难的。分网技术做得好的企业甚至能仅以此特长而生。Ansys的分网并不是最好的,但是他也在不断改进。因为没有一种无所不能的分网技术。所以分网中有很多设置和技巧。 分网技巧参见help的Modeling and Meshing Guide Generating the Mesh 完整命令集见Ansys commands reference command groupings prep7 commands Table 2.35 常用命令有:xmesh(x泛指) / mshkey / mshape / smrtsize / lesize / esize / 自由分网:如果什么都不指定,就是自由分网。自由分网通常总是采用三角形和四面体单元。用它们几乎什么都模型都可以分得下去,普适性最强。 智能分网:电脑帮忙分。对于常见尺寸规则的模型,用智能分网省时省力。如smrtsize,n (n从1到10,越小分网越密),然后xmesh(x泛指,具体为lmesh/amesh/vmesh等) 映射分网:想分网分得好看,算得准,最好映射分网。映射分网总是用四边形和六面体单元。它分出的网就像用砖头盖出来的房子一样。通常分网的缺省设置都不是映射分网,需要用mshkey和mshape命令来设置。如mshkey,1(必须map)或meshkey,2(有可能就map),然后xmesh。 如果希望自己特别指定element的尺寸时,可用esize/lesize/aesize,建议用lesize,优先级最高。如lesize,all,1e-6 (指定尺寸为1um)或lesize,all,100(指定每条线分100份),然后xmesh。加约束和载荷 对于力学不熟悉的新手,最容易在这里遇到错误。想把约束、载荷加得又准又能简化模型,最好能先学好力学的基础。 参见Basic Analysis Procedures Guide Loading 完整命令见Ansys commands reference command groupings solution commands Table 2.66 2.72 以及 Ansys commands reference command groupings prep7 commands Table 2.41和2.42d(约束) / dsym(对称) / ic(初始条件)/ cp、ce(耦合约束)f(集中力) / sf(面力)、bf (体力)/ sfgrad(面力梯度) / fcum、sfcum(是否累加) istress(加预应力) 耦合约束可用来指定一些特殊的约束行为。例如,要求某一面只沿x=0滑动,要求某一面转动时仍保持平面,等等。这些都属于非固支类的耦合约束。结合cp/ce和该系列其它命令可以实现这些约束。 预应力是很常见的问题。均匀预应力用istress命令即可。非均匀可参见Basic Analysis Procedures Guide Loading Initial Stress Loading求解 到这里,开始进入/solu模块。事实上,约束和载荷也可以在这个模块中加,没有区别。 参见Basic Analysis Procedures Guide Solution 完整命令见Ansys commands reference command groupings solution commands Table 2.61、2.63、2.64和2.66solve(求解)/ eqslv(选择求解器)/ antype(问题类型)/ solcontrol(求解优化工具)nlgeom(开启大变形)/ cnvtol(收敛精度)/ neqit(迭代次数)autots(自动步长)/ deltim(指定子步长)/ nsubst(指定子步数)/ kbc(载荷阶跃还是渐升)/ time(指定载荷步长)outres / outprmodopt(模态求解设置)/ mxpand(待求模态数) 关于线性静态问题:solve即可。指定antype,static可节约时间,也可不指定。 关于非线性问题,参见Structural Analysis Guide Nolinear Strctural Analysis 和 Basic Analysis Procedures Guide Loading。大应变(如固支梁)和大挠度(如梁挠度>0.5%)问题很多时候都可能是非线性的。尤其要注意要开启 nlgeom,on ,否则结果会有显著误差。另注意solid5、solid98等耦合场单元只有在纯机械分析时候才具备大形变效应。载荷步、子步和平衡迭代 可以这样来简单地理解: 静态问题里,每加载solve一次就是一个loadstep。可以将每个loadstep再分为几个小的substep,把本来一次加上去的静态载荷按substep数逐次渐变或一次阶跃(由kbc决定)加载,前一个substep的解是后一个substep的初始条件,最终结果由各substep解求和(积分)得到。这样能提高精度和可解性(尤其对某些非线性问题)。Loadstep和substep本身步长(时间长度)没有实际物理意义,只是反应出分步加载的过程。Substep数可以自己指定(nsubst或deltim),也可以自动计算(autots)。 瞬态问题与静态问题类似。对于时变载荷,只能以按时间分段的形式一个一个loadstep的依次施加。每个loadstep的步长即为该段载荷的时间,用time指定。而这里子步substep的作用则是为了提高每个loadstep的求解精度和收敛性。这里autots开启后不仅可以自动子步长,而且可以应用二分法优化子步长度促成收敛。Substep的步长取值需要更加谨慎和细致,以保证积分后的瞬态解的准确度。同样用kbc指定每个loadstep的载荷是阶跃的,还是渐变的。 非线性问题中程序要用到迭代算法。迭代的收敛条件由cvntol指定,最大迭代次数由neqit决定。反复迭代后仍不收敛则求解失败。 模态问题里,substep对应的是各个模态的解。看结果 解完后可进入静态后处理模块/post1看静态结果,或瞬态后处理模块/post26看时变结果。参见Basic Analysis Procedures Guide The General Postprocessor 和 The Time-History Postprocessor 完整命令见Ansys commands reference command groupings post1 和 post26 常用命令包括:plnsol(画等位线云图)/ pldisp(画变形图)/ set(指定要读取哪些结果)/ nsol、esol(读取解)path(定义path名) / plpath(定义path始末点)/ pdef(定义path内容)/ pcalc(path运算)/ prange(指定path的x轴项)prvar(作变量-时间曲线)通用命令 通用命令不隶属于哪个模块。它们随时都会出现。 主要可分为几大系列。select系列(选择)、delete系列(删除),plot系列(画出所选对象情况)list系列(列出所选对象数据信息),pl系列(结果画成图和曲线),pr系列(结果显示到小黑窗中)。select系列 select系列最为常用,几乎每次必用。完整命令见Ansys commands reference command groupings database Table 2.6和2.7。用GUI方式进行select,在模型简单的时候显然是直观而方便的,但是Ansys提供了名目繁多的batch方式的select命令和技巧,熟悉和掌握以后将使batch方式的select更胜一筹。常见的命令有:alls(全选)/ xsel(x泛指,选某一类entity,如asel,nsel)/ xsly(x、y泛指,选y中的x,如选面中的线lsla)cm (把选好的内容定义为一个组元) / cmsel(选组元) 特别注意,如果用国际单位画微小尺寸结果时,有一个选择精度问题。尺寸太小时,容易选不准。如nsel,s,loc,x,100这个命令是要选择在x=100位置的所有node。但按Ansys的默认规定,这样的写法只能保证100*0.005%的容差。结果会把99.5<x<100的node(如果有)也选入。保险起见可以采用nsel,s,loc, x,100-0.001,100+0.001的方法,当然其中的0.001可以预先定义成一个标量。 为保险起见,新手每次选出一些对象进行操作后,请最好再用alls命令进行全选,保证下次在此选择时仍是在全集基础上进行,而不是在已有对象基础上进行。新手极易犯此错误。其他系列 其他系列通用命令,如plot、list和delete、pl、pr系列等,在调试时也很频繁使用。 其中plot、list和dele这三个系列的的命名规则和select系列一样,即x+系列名规则。x可以是:n,k,l,a,v / f,sf,bf,d / pa(路径)等等。所以我们只要看到aplot,dlist,adele,就能大致猜出它是干什么用的。 有区别的是pl、pr系列。它们是pl+y的命名规则,y可以是nsol(节点结果)、esol(单元结果)、path(路径)、var(变量)。具体已在上面说过。APDL命令 APDL相当于Ansys自己的“程序语言”,使batch命令流的使用更加方便。参见APDL Programmers Guide。 完整APDL命令见APDL Programmers Guide APDL Command Reference 常用的有:*do,*enddo(循环)/ if,endif(判断)/*cfopen(打开文件)/ *vwrite(写文件)/ *cfclose(关闭文件)*get(获得一切可能的参数)node(x,y,z)(选取x,y,z处的节点)nx(a) (选取x=a处的节点,ny、nz类推) 用*do 和 *enddo可以实现跨模块的循环。该循环体内可包容多个模块,如/prep,/solu等。该功能在参数式分析较为有用。菜单和键盘操作 这里只说几个最常用的菜单操作。这些操作都有对应命令,但因为它们往往是调试的时候临时用到,所以不值得敲命令,直接从菜单调出来用很方便。List - Picked Entities (快速选择对象很方便)PlotCtrols - Numbering (花花绿绿显示模型)PlotCtrols - Symbol (花花绿绿显示模型上的力和约束情况,检查有没有加对)PlotCtrols - Style - Displacement Scaling (夸张显示结果,尤其适合变形超小的结果)PlotCtrols - Hard Copy (把结果图拷贝出来,可以反色)Parameters - Scalar Parameters (迅速看已经定义了哪些量)按住Ctrl + 滚轮 / 左键 / 右键 (调整模型视角)编程实例基本例子双固梁受分布力! - 预备finish! 结束可能驻留的模块/clear,start! 清楚当前内存,开始新程序/prep7! 进入prep7(前处理)模块! - 定义材料参数、单元类型和其它所需参数mp,ex,1,170e9! 定义1号单元的杨氏模量为170e9mp,prxy,1,0.28! 定义1号单元的泊松比为0.28et,1,plane42,2! 1号单元是plane42单元,它的keyopt(3)是2(意思是,采用平面应变假设)beamdepth=0.0004! 梁厚是0.0004beamlength=0.002! 梁长是0.002! - 画模型rectng,0,beamlength,0,beamdepth ! 顶点法画矩形梁,x坐标从0到length,y坐标从0到h1/replot! 重画一下(这个命令可用可不用,画好以后屏幕会闪一下显示模型全貌)! - 分配单元、材料参数 (有两种办法,下面这个是容易理解和容易统一的方法)asel,s,area,1! 选取要分配的areaaatt,1! 所选的area上分配为1号element,同时也就分配到了1号element的材料参数asel,all!每次用select系列命令时,在最后要养成习惯把操作过的entity(如area,node等)再全选一次! - 分网meshsize=8e-5 ! 随处可以根据需要定义新的参数lesize,all,meshsize! element在area边界上的边长为meshsizemshkey,1! 选择map分网,比free分网更整齐,也就更利于计算,但是对待分网area有特殊要求amesh,all! 对所选area进行分网! - 加约束和载荷alls! 全选nsel,s,loc,x,0! 选择(s)在x=0处的nodedsym,symm,x! 以x=0为偶对称反射轴alls! 全选nsel,s,loc,x,beamlength! 选择最右端的梁表面上所有节点d,all,all! 将所选节点的所有自由度(ux,uy)置为0,也就是“固支”的意思。既偶对称,右端又被固支,实际上这就变成一个具有一半模型的双端固支梁问题。nsel,r,loc,y,0! 继续(r)选择y=0处的node,也即选中了(x=0,y=0)的nodealls! 全选fcum,add! 将集中力f的加载方式选为add式(累加),缺省方式为replace(替代)*do,i,1,beamlength/meshsize+1! 用循环方式逐点(node)加集中力,这样可以实现不规则分布的外力载荷;这属于APDL命令f,node(meshsize*(i-1),0,0),fy,-10! 在坐标为()的node上加y方向的大小为-10的集中力*enddofcum,repl! 把加力方式改回replace式alls! 虽然不需要,但是养成习惯还是全选一次(allsel)finish! 至此prep7(前处理)工作完成,也即模型建好! - 求解/solu! 进入solution(求解)模块antype,static! 求解类型为静态问题,该命令可选,用了能一定程度节省时间,明晰思路solve! 求解finish! 求解结束! - 看结果/post1! 进入post1(静态后处理)模块plnsol