Ansys10.0 复合材料结构
分析操作指导书
第一章 概述
复合材料是两种或两种以上物理或化学性质不同的材料复合在一起而形成的一种多相固体材料,具有很高的比刚度和比强度(刚度和强度与密度的比值),因而应用相当广泛,其应用即涉及航空、航天等高科技领域,也包括游艇、风电叶片等诸多民用领域。由于复合材料结构复杂,材料性质特殊,对其结构进行分析需要借助数值模拟的方法,众多数值模拟软件中Ansys是个不错的选择。 Ansys软件由美国ANSYS公司开发,是目前世界上唯一一款通过ISO9001质量体系认证的分析设计软件,有着近40年的发展历史,经过多次升级和收购其它CAE(Computer Aided Engineering )软件,目前已经发展成集结构力学、流体力学、电磁学、声学和热学分析于一体的大型通用有限元分析软件,是一款不可多得的工程分析软件。Ansys在做复合材料结构分析方面也有不俗的表现,此书将介绍如何使用该款软件进行复合材料结构分析。在开始之前有以下几点需要说明,希望大家能对有限元法有大体的认识,以及Ansys软件有哪些改进,最后给出一些学习Ansys软件的建议。
1、
有限元分析方法应用简介
有限元法(Finite Element Method,简称FEM)是建立在严格数学分析理论上的一种数值分析方法。该方法的基本思想是离散化模型,将求解目标离散成有限个单元(Element),并在每个单元上指定有限个节点(Node),单元通过节点相连构成整个有限元模型,用该模型代替实际结构进行结构分析。在对结构离散后,要求解的基本未知量就转变为各个节点位移(Ansys中称之为DOF(Degree Of Freedom),试想一下,节点的位移包括沿x,y,z轴的平动和转动,也就是节点的自由度),节点位移通过求解一系列代数方程组得到,在求得节点位移后,利用节点位移和应力、应变之间的关系矩阵就可以求出各个节点上的应力、应变,应用线性插值便可以获得单元内任意位置的位移、应力、应变等信息。
2、
Ansys软件的发展近况
Ansys软件目前已发展到Ansys V12版本,从V10开始Ansys加入了一个新的工作环境Workbench,原先的Ansys被称为Ansys (classic),虽然操作界面不同,但两者的求解器是一样的。Ansys (classic)的前处理功能相对较弱(主要是建模方面),因而往往需要借助第三方软件,如CAD软件。也许是迫于另一个有限元分析软件ABQUS的竞争压力,Ansys推出了新的Workbench工作环境,Workbench在建模、划分网格、求解和后处理上都作了改进,尤其在建模和划分
网格方面有了巨大进步,建模方面与传统CAD软件一样采用图形界面,极大地提高了图形的可视性,划分网格采用了Ansys ICEM CFD的功能,使划分的网格更加易控,最重要的是免去了从第三方软件导入模型、网格过程中可能存在的各种问题,实现了真正的“无缝”连接。顺便提一下,有些人认为Ansys不适合进行非线性分析,我这里想说的是,Ansys中定义了非常多的针对非线性分析的单元,并专门设计了非线性分析求解器,细心的同事可能发现,EUROS公司做叶片结构分析采用的软件就是Ansys (classic),因而大家对Ansys作复合材料分析应有足够的信心。
3、
学习Ansys软件的一些个人建议
⑴、Ansys软件其实就是一种工程模拟工具,是对实际问题模型化后进行计算模拟,因而结果正确与否,是否符合实际情况需要丰富的工程经验进行判别,切忌盲目相信计算结果;
⑵、在学习Ansys软件之前有必要知道材料力学、弹性力学、有限元的一些知识,比如平面假设是什么意思,其物理意义是什么。有了这些基础知识就能避免犯一些低级错误,在看参考资料时也比较容易理解,此外,由于设计复合材料的计算,因而对复合材料及复合材料板件的性质要有一定的了解,这样在进行材料参数设置时避免出错;
⑶、碰到问题要多看看Ansys的帮助文档,Ansys软件自带的帮助文档非常全面,简直就是一本百科全书,在每个对话框都有“Help”按钮,点击就能打开有针对性的帮助,使用起来很方便;
⑷、要注意与周围的人多讨论和交流,这是获取知识解决问题最快的途径,另外可以多上些论坛网站,很多有限元分析大牛就隐藏在这些论坛里面,上这些论坛会给你带来意想不到的收获,推荐的网站有:机械CAD论坛
(http://www.jxcad.com.cn)、仿真论坛 (http://www.simwe.com)、复合材料在线(www.frponline.com.cn)、百思论坛(http://www.baisi.org)等。
第二章 Ansys10.0 入门
在这一章中,读者将会对Ansys10.0的界面、各个功能模块的作用、Ansys在进行结构分析所采用的一般流程和Ansys在求解过程中产生的具有不同扩展名的文件,共四个方面有全面的了解。在这章的学习过程中读者不必深究每个细节,只需要知道Ansys中都有哪些功能,这些功能在哪里可以找到即可,在后面的章节将详细讲述这些功能的使用。
1、Ansys10.0 图形用户界面
推荐启动路径:【开始】|【所有程序】|【Ansys】,启动后的界面如图1所示。 应用菜单(utility menu) 命令流输入窗口 主菜单(main menu) 图形显示窗口 图1 Ansys10.0 图形用户界面 状态栏 钮 快捷按
应用菜单(Utility Menu):包含文件管理、选择、列表显示、单项显示、显示控制、参数设置、宏设置以及帮助查询等功能;
主菜单(Main Menu):该菜单下包含了有限元分析所有的模块,分为前处理、求解、后处理、优化设计等Ansys主要功能,是操作最频繁的区域;
命令流输入窗口:该窗口为Ansys命令的输入区域,在输入命令的同时,会显示相应的提示,点击右边的倒三角可以浏览之前已经输入的命令;
图形窗口:该窗口用于显示几何模型以及处理的结果,比如云图显示变形、应力、应变等;
快捷按钮:为用户提供快捷的图形显示提供辅助,包括快速调整视角、左右上下移动显示模型、放大缩小模型等。小技巧:用Ctrl键+鼠标左中右建组合也能实现这些快捷操作。
2、Ansys各功能模块介绍
Ansys软件的主菜单(Main Menu)中按照一般分析的顺序将各个模块从上到下排列,即,前处理、求解、后处理的顺序。当然在实际求解的过程中没有必要严格按照这一顺序进行,但对于初学者而言,推荐按照这个顺序来进行结构分析,这样有助于在日后进行复杂的有限元分析中仍能保持良好的条理性。下面就各个模块进行分别介绍。
⑴、前处理模块(Preprocessor):在这个模块中用户可以完成定义单元类型(Element Type)、设定单元实常数(Real Constants)、定义材料属性(Material Props)、建立模型(Modeling)、划分网格(Meshing)等操作,如图2所示。正如第一章所述,Ansys在建模方面不擅长,往往需要借助其它CAD建模软件,将建好的模型导入Ansys中,导入的操作为:【Utility Menu】|【File】|【Import…】,选择合适的格式,然后选择要导入的文件即可。
⑵、求解模块(Solution):在这个模块中用户可以指定分析类型(Analysis Type)、定义载荷(Define Loads)、对载荷步进行设置(Load Step Opts)、激活求解(Solve),见图3所示。小提示:点击Unabridged Menu/Abridged Menu可以控制该模块下功能项是以精简模式还是以全部模式显示。
图2 Preprocessor 模块
图3 Solution 模块
⑶、一般后处理模块(General Postproc):用于显示(Plot)、查看、输出整个模型在某个子载荷步(Sub Load Step)、或者特定时间或频率下的结果,也可以将计算和分析结果以文件的形式输出(Write Results),见图4所示。操作中需首先读入计算结果(Read Results),例如查看结构分析中某个时刻模型各个位置的变形、应力、应变等信息,图5显示的是某个时刻玻璃钢板在均布压力下的变形云图。
模块 图 5 玻璃钢板变形云图 图4 General Postproc
⑷、时间历程后处理器(TimeHist Postpro):用于分析处理指定某个时间范围内模型指定节点上某个结果(比如应力、应变等)随时间或频率变化的情况,对应的菜单项如图6所示。对比两种后处理器可以发现,一般后处理器固定某个时间,查看模型各个节点或单元的结果,时间历程后处理器则是固定某个节点或单元,查看指定物理量随时间的变化情况。
图6 TimeHist Postpro 模块
当然,Main Menu中还有其他一些模块,但对于复合材料结构分析,主要用到的模块就是这些,当需要有其他特殊处理时,相信到那时大家已经拥有相当丰富的经验了,读者完全可以参考Ansys帮助文档或其他资料作进一步学习。
3、 Ansys结构分析采取的一般步骤
本节介绍Ansys结构分析的典型步骤,实际应用中不一定要严格遵照这些步骤。一般结构分析的流程图如图7所示。
图7 Ansys 结构分析流程图
步骤一:Ansys对每一个有限元分析都默认以’file.ext’的形式创建相关文件,’ext’代表扩展名,而且文件的存放路径默认为【安装盘】/【Documents and Settings 】/【User】。因而,在开始一个新的结构分析前,有必要修改文件的存放路径和文件名,以防止将以前的文件覆盖。指定新的存放路径的操作方法:【File】|【Change Directory…】。更改文件名操作方法:【File】|【Change Jobname…】,此时会弹出对话框,输入新的文件名,注意输入框下面有个’New log and error
files ?’,笔者建议勾选这一选项,这样就会创建新的日志文件和错误记录文件,便于将来找出出错原因。
步骤二:选取单元类型(Element Type)并设定单元实常数(Real Constants),定义单元类型:【Main Menu】|【Preprocessor 】|【Element Type】;设定单元实常数:【Main Menu】|【Preprocessor 】|【Real Constants】。Ansys中提供的单元类型多达200多种,每种单元都有各自的特点和适用范围,不可随便选择。总的来说所有单元可以分为三大类:杆单元类(一维 BEAM)、平面单元类(二维 PLANE)、体单元类(三维 SOLID),每种单元都有各自的名字,名字由单元类 + 数字编号组成。例如:PLANE42,PLANE表示该单元属于平面类单元,由于平面类单元中还包含其他很多种单元,所以用42来标识此特定单元。实际上每种单元的数字编号都是独一无二的。单元实常数主要用来进一步描述单元特性,比如你选择梁分析单元BEAM23,Real可以定义其梁的面积、惯性矩和截面高度,如果你选择的是应用于复合材料层合板分析的SHELL91单元,Real可以指定铺层数、铺层方向角、每层的厚度等参数。至于单元类型如何选择,这与分析问题的类型和材料特性有关,后面的章节将详细讲解。
步骤三:定义材料属性,菜单路径:【Main Menu】|【Preprocessor 】|【Material Props】|【Material Models】,弹出Define Material Model Behavior对话框,在对话框左侧窗口选择合适的材料模型。对于复合材料结构分析而言,通常选择Structural里面的材料模型,需要设定的材料参数一般包括弹性模量、剪切模量、泊松比。
步骤四:建立(导入)模型和划分网格。对于形状复杂的模型建议采用专门的建模软件,建立模型菜单路径:【Main Menu】|【Preprocessor 】|【Modeling】,划分网格菜单路径:【Main Menu】|【Preprocessor 】|【Meshing】。模型的建立可以采用自下向上的建模方法或者自上向下的建模方法,这里不做详述,有兴趣的读者可以参考相关Ansys建模书籍。模型建好剩下的就是划分网格了,划分网格前需要先对网格尺寸进行设置,然后将步骤二选好的单元类型应用到需要划分网格的模型上,程序就会自动将网格划分好,如果对划分的网格不满意还可以对局部网格进行优化。
步骤五:设定边界条件和加载,菜单路径:【Main Menu】|【Solution 】|【Define Loads】。边界条件的设定主要包括对需要限定位移的节点的位移(DOF) 进行设置,Ansys中认为边界约束也是一种载荷。载荷包括集中力载荷、面载荷、体载荷、惯性载荷和耦合场载荷。载荷可以施加在实体模型上也可以施加在有限元模型上。当载荷施加在实体模型上,ANSYS求解时会自动将这些荷载转换到相应的节点和单元上,当改变模型的单元网格划分时,在实体模型上所施加的荷载不受影响,相比较而言,这种方法施加载荷更容易些。
步骤六:求解,菜单路径:【Main Menu】|【Solution】|【Solve】。在执行求解之前一般需要先指定求解类型,指定的方法路径【Main Menu】【|Solution】|【Analysis Type】|【New Analysis】,求解类型包括Static、Model、Harmonic、Transient、Spectrum、Eigen Buckling、Substructuring。
步骤七:后处理,【Main Menu】|【General Postproc】。在后处理模块,需要先读入计算的结果,然后就可以查看节点计算结果(Nodal Solution),一般以云图的方式显示应力、应变、位移等信息,还可以将结果以图片的形式保存下来。有时为了更精确地查看信息,需要将结果以文件的形式输出,这时可以采用【Main Menu】|【General Postproc】|【Write Results】的方法输出结果到文件。
4、 Anysis有限元分析中产生的文件
Ansys分析过程中可能产生的文件有10种之多,各种扩展名所包含的意义如下:
.db是数据库文件,里面存储着当前模型数据,以及单元属性、材料性质等信息,是Ansys最重要的文件之一;
.dbb是ANSYS自动生成的当前database的备份。比如你已经有一个file.db,当你点击save时,ANSYS先把原来的file.db另命名为file.dbb后,新生成一个file.db。db文件中可以包含部分结果; .log是日志文件,以追加时记录所有执行过的命令; .emat是单元矩阵文件,记录有限元单元矩阵数据; .esav是单元数据存储文件,保存单元求解数据; .err是出错记录文件,记录所有运行中的警告错误信息; .rst是结果文件,记录一般结构分析的结果数据; .rth是结果文件,记录一般热分析的结果数据; .rmg是结果文件,记录一般磁场分析的结果数据; .snn是载荷步文件,记录载荷步的载荷信息; .out是输出文件,记录命令执行情况;
第三章 Ansys 复合材料结构分析专题
复合材料是由一种以上具有不同性质的材料构成,其主要优点是具有优异的材料性能,在工程应用中典型的一种复合材料为纤维增强复合材料,这种材料的特性表现为正交各向异性,对于这种材料的模拟,很多的程序都提供了一些处理方法,在I-Deas、Nastran、Ansys中都有相应的处理方法。笔者最初是用I-Deas下建立各项异性材料结合三维实体结构单元来模拟(由于研究对象是厚壁容器,不宜采用壳单元),分析结果还是非常好的,而且I-Deas强大的建模功能,但由于课题要求要进行压力容器的优化分析,而且必须要自己写优化程序,I-Deas的二次开发功能开放性不是很强,所以改为MSC.Patran,Patran提供了一种非常好的二次开发编程语言PCL(以后在MSC的版中专门给大家贴出这部分内容),采用Patran结合Nastran的分析环境,建立了基于正交各项异性和各项异性两种分析模型,但最终发现,在得到的最后结果中,复合材料层之间的应力结果始终不合理,而模型是没有问题的(因为在I-Deas中,相同的模型结果是合理的),于是最后转向Ansys,刚开始接触Ansys,真有相见恨晚的感觉,丰富的单元库,开放的二次开发环境(APDL语言)。
复合材料结构分析包括复合材料层合板结构和复合材料夹芯结构分析。与一般各向同性材料(isotropic material)相比,复合材料的建模过程要复杂些,复合材料各层为正交各向异性材料(orthotropic material),材料的性能与材料主轴的取向有关, 因而在开始复合材料分析之前,笔者认为非常有必要对相关的单元类型及如何选择单元、模型建立、划分网格、施加载荷等基本知识有所认识。建议读者在后面实战过程中能经常返回本章节参考相应的说明,从而加深理解,做到融会贯通。
在ANSYS程序中,可以通过各项异性单元(Solid 64)来模拟,另外还专门提供了一类层合单元(Layer Elements)来模拟层合结构(Shell 99, Shell 91, Shell 181, Solid 46 和Solid 191)的复合材料。
3.1 适用于复合材料结构分析的单元类型
针对复合材料结构分析,Ansys程序中提供了7种单元类型,分别是SHELL99、SHELL91、SHELL181、SOLSH190、SOLID46、SOLID186、SOLID191单元。单元类型的选择主要依据分析类型和所需的计算结果来确定。下面详细介绍每个单元类型及其应用范围。
1、 SHELL99单元
SHELL99单元为3D线性结构壳单元,包含8个节点,每个节点有6个自由度。该单元适用于薄到中等厚度的板和壳体结构,要求结构的宽(长)厚比大于10(目的使得平面应力假设能够成立)。对于宽(长)厚比小于10的结构则应考虑使用SOLID46单元建模(生成有限元模型)。SHELL99允许多达250层的等厚度材料层,或者是125层厚度在单元面内成双线性变化的不等厚材料层。如果材料层大于250层,用户可以通过设置keyopt(2)=3or4来定义材料矩阵。
2、SHELL91单元
SHELL91单元与SHELL99单元类似,不同之处在于它允许的复合材料最多100层,用户不能输入自定义的材料矩阵,另外,SHELL91单元支持塑性、大应变等大变形情况,并可以模拟“三明治”结构。
3、SHELL181单元
SHELL181单元是一种4节点3D壳单元,每个节点有6个自由度。该单元具有包含大应变的完全非线性性能,最多允许255层复合材料,各层的信息可以通过截面相关命令输入。
4、SHELL190单元
SHELL190单元是一种4节点3D单元,每个节点有3个自由度。该单元具有包含大应变性能,最多允许255层复合材料,允许沿厚度方向的变形斜率可以不连续,各层的信息可以通过截面相关命令输入。
5、SOLID46单元
SOLID46单元是8节点3D单元SOLID45的一种层叠形式,每个节点有3个自由度,每个单元最多允许250层的等厚度复合材料,同样允许125层厚度在单元面内成双线性变化的不等厚度材料层。该单元的另一个特点是可以用几个单元叠加的方式对多于250层的复合材料建模并允许沿厚度方向的横向变形斜率可以不连续,而且用户可以输入自定义的本构矩阵。于8节点壳单元相比,SOLID46单元的阶次要低,因此,在壳结构分析中要得到与SHELL99或SHELL91单元相同的求解结果,需要更密的网格。关于Solid 46单元:
(1) Solid 46是用于模拟复合材料厚壳或实体的8节点三维层合结构单元,单元节点有x,y和z方向三个结构自由度,单元允许最多250层不同的材料; (2) 这种单元的定义包括:8个节点、各层厚度、各层材料方向角和正交各项异性材料属性,其中每层可以为面内两个方向双线性的不等厚层;
(3) 在材料定义时,只需定义材料主方向和材料坐标系(单元坐标系)一致的材料参数,不一致的复合材料层通过定义材料方向角(该层材料主方向和材料坐标系所成的角度)由程序自动转换;
(4) 通过选择不同的层直接在单元坐标下获取单元应力,包括三个方向的应力和面内剪切应力,而不需要通过应力应变的转换来获取;
6、SOLID186单元
SOLID186单元是20节点3D实体单元,每个节点有3个自由度。每个单元最多允许有250层的等厚度材料层,允许沿厚度方向的变形斜率可以不连续,支持材料的非线性行为和大变形。
7、SOLID191单元
SOLID191单元是20节点3D实体单元SOLID195的一种层叠形式,每个节点有3个自由度。每个单元最多允许有100层的等厚度材料层,允许沿厚度方向的变形斜率可以不连续。SHELL191单元不支持材料的非线性行为和大变形。
8、其他
除上述单元外,还有其它的一些具有层功能的单元:
SOLID95 是20节点的结构实体单元,在KEYOPT(1)=1时,其作用与单层的SOLID191单元类似,包括应用方位角和失效准则,还允许非线性材料和大挠度。 SHELL63 是四节点壳单元,可用于对“三明治”壳结构作粗糙、近似的计算。象两块金属片之间夹有一层聚合物的问题就很典型,此时聚合物的弯曲刚度相对于金属片的弯曲刚度来说是一个小量。用户可以用实常数 RMI 来修正单元的弯曲刚度,使其等效于由金属片引起的弯曲刚度。从中面到外层纤维的距离(实常数 CTOP 和 CBOT)可用来获得“三明治”壳的表层输出应力。这种单元不如 SHELL91 、SHELL99 和 SHELL181 那样用得频繁,故后面不再论述。
SOLID65 是三维钢筋混凝土实体单元,可以模拟在三个用户指定方向配筋的各向同性介质。
BEAM188 和 BEAM189 为三维有限应变梁单元,其截面可以包含多种材料。 9、常见问题:
Q:ANSYS如何处理失效后的材料退化呢?
A:ANSYS没有直接提供材料失效后的退化,但可以自己写程序让ANSYS执 行。 ANSYS可以用失效准则判断材料是否失效,之后刚度降低可以通过实验 测得。再将实验数据输入到ANSYS中,对失效的单元重新进行分析。
Ansys确实没有直接提供材料失效后的退化的处理方法。我们在进行复合材料结构分析时,通常采用单层模量退化的估算方法,这种估算方法就是将带有裂纹层的横向、剪切模量与泊松系数全部用一组经过DF因子退化的新值替代,为了考虑压缩强度的下降,对单向复合材料的压缩强度也要DF因子退化(详细信息可以参考蔡为仑的《复合材料设计》一书),这样,我们就可以再结合Ansys的APDL来处理了。
3.2 建立模型
本节中将简要介绍Ansys中建模一般采用的两种方法,分别是直接建模和从CAD软件中导入模型,以及根据分析类型的不同来选择模型类型。考虑到Ansys分析中绝大部分的模型都要从其他CAD软件中导入,而CAD模型文件有各种各样的格式,比如:IGES、STEP、PARA、CATIA、UG等等,如果对这些格式的特点不熟悉的话,导入结果往往不尽人意。
3.2.1 建模方法
建立Ansys结构分析模型主要有两种方法:直接建模和输入CAD软件中创建好的模型。形状比较简单的模型可以采用直接创建模型,对于形状复杂的模型,建议从CAD软件导入以节省建模时间,导入的CAD模型要尽量简化,放弃不重要的细节,从而减少导入Ansys时过多信息丢失和划分网格失败的几率。 另外,模型的建立需要根据实际分析类型的不同而不同,例如对于板壳结构,如果想采用壳体单元类型(SHELL),则模型只要建立曲面就可以了,不需要建立有厚度的体模型,相应的,如果分析的问题为实体结构,采用的单元为实体单元(SOLID),建立的模型就需要包含厚度信息。
鉴于IGES数据格式在当前数据交换领域有着非常广泛的应用,参考ANSYS帮助文档,编写了如何在ANSYS环境下导入IGES文件,以及相关的修复操作,详细内容见附录A。
3.2.2 定义材料的叠层结构
复合材料最重要的特征就是其叠层结构。每层材料都有可能由不同的正交各向异性材料构成,并且其主方向也可能各不相同。对于叠层复合材料,纤维的方向决定了层的主方向。
有两种方法可用来定义材料层的配置: 通过定义各层材料的性质;
通过定义表示宏观力、力矩与宏观应变、曲率之间相互关系的本构矩阵(只适合于 SOLID46 和 SHELL99)。
3.2.2.1 定义各层材料的性质
这种方法由下到上一层一层定义材料层的配置。底层为第一层,后续的层沿单元坐标系的Z轴正方向自底向上叠加。如果叠层结构是对称的,可以只定义一半的材料层。
有时,某个物理层可能只延伸到模型的一部分。为了建立连续的层,可以把这些中断的层的厚度设置为零,图5-1显示了一个四层模型,其中第二层在某处中断了。
图5-1 有中断层的层叠模型
对于每一层材料,由单元实常数表[R,RMORE,RMODIF](Maim Menu> Preprocessor>RealConstants)定义如下性质: 材料性质(通过材料参考号MAT来定义); 层的定向角(THETA); 层的厚度(TK)。
分层的截面可以通过截面工具来定义
(Prep>Sections>Shell-Add/Edit)。对每一层,通过截面命令或截面工具(SECTYPE,SECDATA)定义下面的属性:
材料性质(通过材料参考号MAT来定义) 层的定向角(THETA) 层的厚度(TK)
每层积分点的数目(NUMPT)
材料性质--与其它单元一样用MP命令(Main Menu>
Preprocessor>Material Props>Material Models>Structural Implicit> Linear> Elastic>Isotropic 或 Orthotropic)定义线性材料特性,用 TB 命令定义非线性数据表(塑性仅可以用于 SOLID191 和 SHELL91单元)。唯一不同是,复合材料单元的材料参考号由其实常数表来指定。对于层单元,MAT 命令(Main Menu>Preprocessor>-Meshing-Attributes> Default Attribs)属性仅用于 MP 命令的DAMP 和REFT 参数。各层的线性材料特性可以是各向同性,也可以是正交异性,见《ANSYS Elements Reference》。典型的纤维加强复合材料包括各向
异性材料,且这些特性主要以主泊松比的形式提供(见《ANSYS Theory Reference》§2.1.1)。材料方向平行于层坐标系(由单元坐标系和层定向角定义)。 层的定向角--它定义层坐标系相对于单元坐标系的角度。它是这两个坐标系的X 轴之间的夹角(单位为“度”)。缺省情况是层坐标系与单元坐标系平行。所有单元都有缺省的坐标系,可用ESYS命令(Main Menu>Preprocessor> Attributes>Default Attribs)来改变。用户还可用自己的子程序来定义单元和层坐标系( USERAN 和 USANLY,见《ANSYS Guide to User Programmable Features》)。
层的厚度--如果层的厚度是常数,用户只需定义节点I处的厚度 TK(I),否则四个角节点处的厚度都需输入。中断的层必须为零厚度。
每层的积分点数目—用于确定计算结果的详细程度。对于非常薄的层,当其和很多其它层一起使用时,有一个积分点就足够了。但对于层数很少的片状结构,需要的积分点就应该比较多,缺省为3。本特性仅适用于通过截面命令定义的截面。
注意--目前,GUI只允许层数(实常数)最大值为100。如果需要层数大于100,可以使用 R 和 RMORE 命令来实现。
3.2.2.2定义本构矩阵
这是定义各层材料性质的另一种方式,适用于 SOLID46 和 SHELL99(通过设置其 KEYOPT(2))。该矩阵表示了单元的力-力矩与应变-曲率的关系,必须在ANSYS 外进行计算,详见《ANSYS Theory Reference》。它们可以通过KEYOPT(1)设置为求解输出的一部分。这种方法的主要优点是: 它允许用户合并聚合复合材料的性质; 支持热载荷向量; 可表示层数无限制的材料。
矩阵的元素作为实常数来定义。通过定义单元平均密度(实常数 AVDENS )还可以将质量影响考虑进去。但是,使用了这种方法时,由于没有输入每层材料各自的信息,就不能得到每层材料的详细结果。
3.2.2.3夹层(“三明治”)结构和多层结构
夹层结构有两个薄的面板和一个厚但相对软的夹心层。如图5-2显示了一个夹层结构。并假定夹心层承受了所有的横向剪切载荷,而面板则承受了所有的(或几乎所有的)弯曲载荷。
图5-2 夹层结构
夹层结构可用 SHELL63、SHELL91 或 SHELL181 单元来建立有限元模型。SHELL63 只能有一层,但可通过实常数选项来模拟,即通过修改有效弯曲惯性矩和中面到外层纤维的距离来考虑对夹心层的影响。SHELL91 可用于夹层结构并且允许面板和夹心层有不同的性质,该单元的 KEYOPT(9)=1 即可激活“夹层”选项,只有 SHELL91 有此夹层选项。SHELL181 通过能量等效方法模拟横向剪切偏转。
3.2.2.4节点偏置
SHELL181通过截面命令定义截面,可以在定义截面时通过SECOFFSET命令偏置节点。使用 SHELL91 和 SHELL99 单元的节点偏置选项( KEYOPT(11))可将单元的节点设置在壳的底面、中面或顶面上。图5-3告诉您如何方便的建立台阶状的叠层板模型。图5-3表示节点在板的底面(KEYOPT(11)=1),各板在这点对齐。图5-4 表示节点在板的中面(KEYOPT(11)=0),各板在这点对齐。
图5-3 SHELL91 和 SHELL99 节点在底面的分层壳单元
图5-4 SHELL91 和 SHELL99 节点在中面的分层壳单元
3.2.3定义失效准则
失效准则用于获知在所加载荷下,各层是否失效。用户可从三种预定义好了的失效准则中选择失效准则,或者自定义多达六种的失效准则。三种预定义失效准则是:
最大应变失效准则,它允许有九个失效应变; 最大应力失效准则,它允许有九个失效应力;
Tsai-Wu失效准则,它允许有九个失效应力和三个附加的耦合系数。有两种方式可用以计算这种准则,详见《ANSYS Theory Reference 》式(14.99-35)和式(14.99-36)。
失效应变、应力和耦合系数可以是与温度相关的。《ANSYS Elements Reference》中有每种准则所需数据的详细介绍。通过TB命令族或FC命令族指定失效准则。
TB命令族包括TB、TBTEMP和TBDATA 命令(Main Menu>Preprocessor> Material Props>Material Models>Structural>
Nonlinear>Inelastic>Non-Metal Plasticity>Failure Criteria)。其典型的命令流如下:
TB,FAIL,1,2 ! Data table for failure criterion, material 1, ! no. of temperatures = 2 TBTEMP,,CRIT ! Failure criterion key
TBDATA,2,1 ! Maximum Stress Failure Criterion (Const. 2 = 1) TBTEMP,100 ! Temperature for subsequent failure properties TBDATA,10,1500,,40,,10000 ! X, Y, and Z failure tensile stresses (Z value
! set to a large number)
TBDATA,16,200,10000,10000 ! XY, YZ, and XZ failure shear stresses TBLIST
TBTEMP,200 ! Second temperature TBDATA,...
有关TB, TBTEMP, TBDATA 和 TBLIST 命令见《ANSYS Commands Reference》。
FC命令族包括FC、FCDELE和FCLIST命令(Main Menu>Preprocessor> Material Props>Material Models>Structural>
Nonlinear>Inelastic>Non-Metal Plasticity>Failure Criteria 和 Main Menu>General Postprocessor>
Failure Criteria),其典型的命令流如下: FC,1,TEMP,, 100, 200 ! Temperatures
FC,1,S,XTEN, 1500, 1200 ! Maximum stress components FC,1,S,YTEN, 400, 500 FC,1,S,ZTEN,10000, 8000
FC,1,S,XY , 200, 200 FC,1,S,YZ ,10000, 8000 FC,1,S,XZ ,10000, 8000
FCLIST, ,100 ! List status of Failure Criteria at 100.0 degrees
FCLIST, ,150 ! List status of Failure Criteria at 150.0 degrees
FCLIST, ,200 ! List status of Failure Criteria at 200.0 degrees
PRNSOL,S,FAIL ! Use Failure Criteria
注意—TB命令(TB,TBTEMP和TBDATA)仅适用于SHELL91、SHELL99、SOLID46或SOLID191,而FC和FCLIST命令适用于所有的二维或三维结构实体单元和三维壳单元。
定义失效准则的一些注意事项:
失效准则是正交各向异性的,因此用户必须输入所有方向上的失效应力或失效应变值(在压缩值等于拉伸值时例外);
如果不希望在某个特定的方向上检查失效应力或失效应变,则在那个方向上定义一个大值(如前面命令流中那样)。
用户可通过用户子程序 USRFC1 到 USRFC6 自定义失效准则。这些子程序应事先与 ANSYS 程序作联接。见《ANSYS Advanced Analysis Techniques Guide》中有关用户编程功能的说明。
3.2.4应遵循的建模和后处理规则
在复合材料单元的建模和后处理中,一些附加规则如下: 1、复合材料会体现出几种类型的耦合效应,诸如弯扭耦合、拉弯耦合等。这是由具有不同性质的多层材料互相重叠引起的。其结果是,如果材料层的积叠顺序是非对称的,则即使模型的几何形状和载荷都是对称的,也不能按照对称条件只求解一部分模型,因为结构的位移和应力可能不对称。 2、在模型自由边界上的层间剪切应力通常都是很重要的。要求得在这些部位相对精确的层间剪切应力,则模型边界上的单元尺寸应约等于总的叠层厚度。对于壳来说,增加实际材料层数并不一定提高层间剪切应力的求解精度。但是,如果用 SOLID46、SOLID95、SOLID191 单元,则沿厚度方向上的叠加单元会使得沿厚度方向上层间应力的求解更为精确。壳单元的层间横向剪应力的计算基于单
元上下表面不承受应力的假设。这些层间剪应力只在单元的中心处计算,而不是沿着单元边界。建议使用壳-实体子模型精确计算自由边的层间应力。
3、因为复合材料的求解需要大量的输入数据,故在进行求解之前应对这些数据作检验,可用如下命令来完成这些工作:
ELIST 命令(Utility Menu>List>Elements):列表显示所有被选单元的节点和属性。
EPLOT 命令(Utility Menu>Plot>Elements):图形显示所有被选单元。在该命令之前使用[/ESHAPE,1]命令(Utility Menu>PlotCtrls> Style>Size and Shape)将使壳单元以实体单元的形式显示,显示出的厚度为从实常数中得到的厚度(图5-5)。它也使 SOLID46 单元以层的形式显示出来。
图5-5 /ESHAPE 打开时 SHELL99 单元显示
/PSYMB,LAYR,n 命令(Utility Menu>PlotCrls>Symbols):在执行EPLOT 命令之前执行该命令,可图形显示所选全部单元的第 n 层。它可用以显示并检验整个模型的每一层。
/PSYMB,ESYS,1 命令:在 EPLOT 命令之前执行该命令,可显示出那些缺省单元坐标系被改变了的单元坐标系。
LAYLIST 命令(Utility Menu>List>Elements>Layered Elements):可根据实常数列表显示层的叠加顺序和 SHELL99、SHELL91、SOLID46、SOLID191 单元的任意两种材料的性能。还可以指定要显示层的范围。
LIST LAYERS 1 TO 4 IN REAL SET 1 FOR ELEMENT TYPE 1 TOTAL LAYERS = 4 LSYM = 1 LP1 = 0 LP2 = 0 EFS = .000E+00
NO. ANGLE THICKNESS MAT 1 45.0 0.250 1 2 -45.0 0.250 2 3 -45.0 0.250 2 4 45.0 0.250 1 SUM OF THK 1.00
LAYPLOT 命令(Utility Menu>Plot>Layered Elements):以卡片的形式图形显示层的积叠顺序(图5-6)。为清楚起见,各层以不同的颜色和截面线显示,截面线的方向表示了层的方向角(实常数 THETA),颜色表示了层的材料号(实常数 MAT)。还可以指定要显示层的范围。
图5-6 LAYPLOT显示的[45/-45/--45/45]顺序
SECPLOT 命令(Prep...>Sections>Shell-Plot Sections):以卡片的形式图形显示截面的积叠顺序(图5-6)。为清楚起见,各截面以不同的颜色和截面线显示,截面线的方向表示了层的方向角(THETA),颜色表示了层的材料号(MAT)。还可以指定要显示层的范围。
4、缺省情况下,只有第一层(底层)的底面、最后一层(顶层)的顶面以及最大失效值所在层的结果数据被写入结果文件,如果用户对所有层的结果数据都感兴趣,则应设置 KEYOPT(8)=1,但这样可能导致结果文件很大。 5、通过[ESEL,S,LAYER]命令选择特定层号的单元。如果某单元指定层为零厚度,则不被选中。
6、在后处理 POST1 中使用 LAYER 命令(Main Menu>General Postproc> Options for Outp),或在 POST26 中使用 LAYERP26 命令(Main Menu> Timellist Postpro> Define Variables),来指定要处理哪一层的结果。用 SHELL 命令(Main Menu>Timellist Postpro>Define Variables)来定义到底是使用该层的顶面、中面或底面的结果。在 POST1 中缺省存贮的是底层底面的结果、顶层顶面的结果和最大失效准则值所在层的结果。在 POST26 中缺省存贮的是第一层的结果。如果单元 KEYOPT(8)=1 (即保存所有层的结果),则 LAYER 和 LAYERP26 命令将存贮指定层的顶面(TOP)和底面(BOT)的结果,而中面(MID)的结果则由其顶面和底面的结果取平均值得到。对于横向剪切应力,POST1 中只能以线性变化的形式显示,而在单元解打印输出数据中的形式则可以是二次变化的。
7、缺省时,POST1 将在总体笛卡尔坐标系中显示所有结果。使用 RSYS 命令(Main Menu>General Postproc>Options for Outp)可将结果转换到别的坐标系中。对于层单元,
如果执行了 LAYER 命令,且命令中指定的层号非零,则[RSYS,SOLU]命令可使结果在层坐标系中显示。
3.3 网格划分
根据个人喜好,有的模型借助其他前处理软件也可以划分网格,然后导入ANSYS中进行有限元计算,这不是本文的关注内容。对于没有划分网格的模型,由前面的介绍可知,ANSYS的基本求解思想是离散化的思想,在求解前必须对其划分网格,网格的划分分为定义单元类型、网格生成选项设置和生成网格三个步骤。
3.3.1 定义单元类型
⑴、定义单元类型GUI路径为:【Main Menu】|【Preprocessor】|【Element Type】|【Add/Edit/Delete】,执行命令后ANSYS会打开如图8所示的对话框,点击Add增加新的单元类型,弹出图9所示单元类型列表对话框。
图8 单元类型定义
图9 单元类型列表
图9中有两个列表框,左边一个为单元类列表框,右边列表框为该类单元下包含的具体单元,每一种单元都对应一个数字号码。在“Element type reference number”输入框中的数字为单元参考号,这个号码代表了本次结构分析中该单元类型,在划分网格时只要指定单元类型参考号即可将该单元类施加到模型上。 选择单元的原则基本原则是在满足求解精度的前提下尽量采用低维数的单元,选择单元优先级从高到低依次为点、线、面、壳、实体。
⑵、定义实常数
为了准确求解,有时要对所选单元的几何特征进行补充,这些补充通过定义实常数的方式实现。单元实常数的定义通常包括壳单元的厚度、梁单元的截面面积、惯性矩、平面单元的轴对称特性等。
定义实常数GUI路径为:【Main Menu】|【Preprocessor】|【Real Constant】
图10 SHELL99单元实常数定义
SHELL99单元是复合材料分析常采用的单元类型之一,图10展示了SHELL99单元实常数定义对话框,对话框中NL用于指定该复合材料有多少层,最多可以包含250层,LSYM用于设定复合材料的铺层是否对称,若对称铺层,在输入框中输入数字“1”,ADMSUA用于指定单位面积质量,也就是惯性力。其他的很多壳单元也需要设置类似的实常数。
3.3.2 网格密度控制
在划分网格时,仅仅定义了单元类型是不够的,还需要对单元网格的尺寸或密度进行设定,对网格密度设定后,ANSYS程序会自动根据设定值进行网格划分。网格密度设置GUI操作如下:
【Main Menu】|【Preprocessor】|【Meshing】|【Size Cntrls】
在Size Cntrls菜单下有多种网格密度设置方法,可以手动设置也可以利用程序进行智能控制。一般手动设置通过选定某条边线,指定该边线上点的分布,程序将以这些点为节点划分网格。智能网格密度控制有两种方式,分别是“Basic”和“Adv Opts”,见图11所示。
图11 智能网格密度控制
Basic Smart Size Settings 包含三级网格密度,“1(fine)”级对应最密的网格,“2”、“3”次之。Advanced Smart Size Settings可以设定全局单元尺寸、内部面积单元尺寸变化梯度,单元扩张或收缩快慢程度以及小孔处单元紧缩度等的设置。
3.3.3 网格划分方法
ANSYS提供了方便快捷的划分网格方法,划分的网格具有较高的质量。主要包括4种网格划分方法:自由网格划分、映射网格划分、延伸网格划分和自适应网格划分。
⑴、自由网格划分
ANSYS程序的自由划分网格功能十分强大,这种网格划分方法没有单元形状的限制,网格也不遵循任何模式,适用于对复杂形状的面和体进行网格划分,这可以帮助用户避免对模型的各个部分分别划分网格后进行组装时存在的部分网格不匹配带来的麻烦。图12为规则几何形状和不规则几何形状自由网划分结果。
图12 自由网格划分
⑵、映射网格划分
映射网格划分允许用户将几何模型分解成简单的几块,然后选择合适的单元属性和网格控制生成映射网格,映射网格划分适合于规则的面和体,单元成行并且具有明显的规则形状,对面仅适合采用四边形单元,对体仅适合采用六面体单元。对面划分网格时,所用单元必须全部是三角形单元或四边形单元,“全部”之意是划分完毕后的有限元模型中的单元要么是三角形要么是四边形。具体是三角形单元还是四边形单元,这取决于所选的单元类型以及单元形状的设置。例如,单元PLANE42是4节点单元,但也可以退化为3节点三角形单元。
3.3.4 网格质量好坏的判断
⑴、网格质量标准:网格质量是指网格几何形状的合理性,网格质量的好坏直接关系到计算精度,坏的网格甚至会导致计算终止。一般情况下,网格曲面不能过分扭曲、各边各角相差不大、边节点位于边界等分点附近。
⑵、网格质量检查工具:ANSYS程序提供了对单元形状进行检查的工具。需要提醒大家的是,ANSYS程序有时会弹出单元警告信息,但这并不意味着这些单元形状会导致计算结果的不准确。同时,即使程序没有弹出任何警告信息,也不能保证能得到精确的计算结果。执行【Main Menu】|【Preprocessor】|【Checking Ctrls】|【Shaping Checking】,弹出如图13所示的Shape Checking Controls对话框。从图中可以看出有四个功能项,分别进行介绍。
图13 单元形状检查控制
打开单元形状检查和警告模式
每次划分网格时,ANSYS默认执行单元形状检查。无论是通过何种方法生成新单元,ANSYS都会按照事先设置好的形状警告或错误限制参数进行检测。如果有单元形状超过错误限制,系统不仅会给出错误信息,甚至会终止网格的划分,需要对网格参数进行重新设定。
关闭形状检查
在有些情况下,用户希望关闭形状检查,只打开警告模式。这时,程序在划分网格时不检查单元形状,只给出警告,这不会导致网格划分失败。
查看单元形状检查的结果
选择“Summary”项,程序将会以列表的形式将形状检查的信息显示出来,显示的内容包括长细比、雅克比、角度等各项检查结果。
修改单元形状检查参数的限制
在Shape Checking Controls 对话框中选择Change Settings,如图14所示,弹出如图15所示的单元形状参数设置对话框。
图14 单元形状参数设置
图15单元形状参数设置
这里只介绍第一项:Aspect ratio(纵横比,也称为长细比),以矩形为例,长于宽的比值就是纵横比,这个比值不能太大,也就是不能太瘦长。ANSYS默认的比值上限是20,超过该比值就会提示警告,但不会影响划分网格,一旦超过1000000,ANSYS就会给出出错信息,并终止网格划分。
3.4 加载求解
有限元模型建立完毕后,下一步就是如何为模型施加一定的载荷了。 3.4.1 什么是载荷
在ANSYS中,载荷包括边界条件和激励。结构分析中常见的载荷包括集中力/力矩、分布力、体积力(如重力、磁场力)、位移边界条件等。
3.4.2 如何施加载荷
在ANSYS中,载荷可以施加在实体模型上或者施加在有限元模型上,但最终参与有限元计算的载荷都是施加在有限元模型上。所以施加在实体模型上的载荷最终都会转换到有限元模型上。两种方法都各有优缺点。
实体模型的加载
优点:实体模型加载不依赖于有限元网格,因此可以在不改变载荷的情况下改变有限元网格的划分。
缺点:网格划分命令产生的单元处在当前激活坐标系中,而节点位于全局坐标系中,实体模型和有限元模型有着不同的坐标系和载荷方向。 有限元模型的加载
优点:可将载荷直接加在主节点上。只需选择所需的节点。
缺点:任何有限元网格的修改都将使得之前施加的载荷失效,另外因为需要先选择节点和单元,这种方法的工作量一般比较大。 载荷的具体施加请参看第四章的计算实例。 3.5复合材料结构分析的优化
与传统材料相比,复合材料具有可设计性,复合材料结构的多层次性为复合材料及其结构设计带来了极大的灵活性,复合材料的力学性能和机械性能,都可按照结构的使用要求和环境条件要求,通过组分材料的选择匹配、铺层设计及界面控制等材料设计手段,最大限度的达到预期目的,以满足工程设备的使用性能,因此,在工程实践中对复合材料结构进行优化设计有很重要的现实意义,下面以我所研究的复合材料压力容器为例,将复合材料结构优化以及在ANSYS下的实现过程给大家作一个介绍。 1. 问题描述
本文所涉及的复合材料压力容器是带有金属内胆外缠碳纤维增强复合材料的复合容器,优化问题是:以金属内胆壁厚、复合材料各缠绕层厚度和缠绕角为设计变量,在满
足压力容器强度(金属内胆层和复合材料层均满足强度要求)和重量要求的条件下,使压力容器的刚度最大。 2. 优化模型
根据纤维增强复合材料特性,压力容器环向缠绕复合材料有利于提高容器刚度,轴向平铺复合材料有利于提高容器刚度,因此,模型采用3种缠绕角的方案,即靠近金属内胆为环向(90度)缠绕,中间为缠绕,外部为轴向平铺(0度),以各层的厚度(金属层和三层复合材料)和中间缠绕层的角度为优化参数,在压力容器强度约束的条件下,以压力容器一阶固有频率为优化目标。其数学模型如下:
Maximize:fX,其中X(x1,x2,x3,x4)T(h1,h2,h3,)TSubjectto:h1h2h3H,(h1,h2,h30),090s1(X)1.2,s2(X)1.5,c(X)c0其中,f为复合材料压力容器的一阶固有频率,s1和s2分别为金属内胆的安全系数和各复合材料层的强度比,通过有限元程序求得,为中间层复合材料缠绕角,h1 、h2 和h3分别为金属内胆厚度、90度缠绕层厚度和度缠绕层厚度,H为h1 、h2 和h3的极限值,当总厚度确定后,0度缠绕层厚度由h1 、h2 、h3及总厚度确定,c为复合容器重量,c0为全压力容器重量上限。 3. 优化算法
基于ANSYS的优化,可以直接使用ANSYS提供的优化模块,根据上述优化模型,建立优化计算文件,选择合适的优化算法,进行计算。
同时,也可以通过APDL语言(甚至可以通过外部编程环境,如VC++,FORTRAN等)
来自己编制优化算法,本文就是通过自己编制优化算法来实现的,采用的优化算法是复形调优法。算法描述如下:
复形调优法是求解约束条件下n维极值问题的重要方法,通过构造复合形,计算各顶点的目标函数值,并进行比较,然后循环迭代,逐步替代最坏点构造新的复合形,经过多次迭代,进行收敛判断,最终得到最优复合形,并求得最优值。其迭代过程如下: (1) 在n维空间中确定出初始复合形的2n个满足常量约束条件和函数约束条件的顶
点 X(j)x1j,x2j,,xnj,j1,2,,2n;
T(2) 计算复合形的2n个顶点的目标函数值;f(j)f(X(j)),j1,2,,2n (3) 确定所有顶点中的最坏点和次坏点,即:
f(R)f(X(R))minf(i)
1i2n
f(G)f(X(G))minf(i)
1i2niR 其中X(R)为最坏点,X(G)为次坏点;
(4) 计算最坏点的X(R)的对称点X(T)
X(T)(1)XFX(R)
其中,
12nXFX(i)
2n1i1iR
称为反射系数,一般取1.3左右;
(5) 根据对称点X(T)确定一个新的顶点替代最坏点X(R)构成新的复合形,当
f(X(T))f(X(G))或X(T)不满足常量约束条件和函数约束条件,则修改X(T);
(6) 重复(3)至(6),当复合形中的各个顶点距离小于给定精度要求为止。
4. 有限元计算模型
有限元计算主要是通过在ANSYS下建立有限元模型,用来计算强度和一阶固有频率,即约束条件和目标函数,其中,强度判断中,金属内胆部分采用第四强度准则,复合材料部分采用二次蔡胡准则。这部分内容在分析篇中已有描述。 5. 优化过程
基于建立的优化模型和有限元模型,以ANSYS软件为分析平台,并采用其提供的二次开发语言APDL编制计算程序,程序编制的依据为复形调优算法,其计算过程示意图如图1所示,程序流程图如图2所示。
图1 优化过程示意图
图2 程序流程图
第四章 复合材料计算实例
在有了前几章知识做铺垫,这一章我们来学习两个复合材料分析的例子,加深复合材料分析的理解,也希望读者能从中收获一些经验。在这里将第二章的流程图再次拿出来,进一步熟悉ANSYS有限元分析的基本过程。
图7 Ansys 结构分析流程图
4.1 层合板受压分析
4.1.1 问题描述
层合板指的是仅仅由FRP层叠而成的复合板材,中间不包含芯材,板材的性能不仅与纤维的弹性模量、剪切模量有关,还与纤维的铺层方向有着密切关系。本例中的板材有4层厚度为0.025m的单元板复合而成,单元板的铺层方向为0°、90°、90°、0°,见图13所示。单元板的材料属性见表4.1。
表 4.1 单元板材料属性
EX/MP EY/MP EZ/MP GXY/MP GYZ/MP GXZ/MP PRXY 12.5 300 300 50 20 50 0.25 PRYZ 0.25 PRXZ 0.01
图13 复合材料板
4.1.2 求解步骤
根据问题描述,所要分析的问题为壳体结构的复合材料板,可以采用SOLID46单元建立3D有限元模型进行分析。结合图7的一般步骤进行分析。
步骤一:选取单元类型,设置单元实常数
⑴、在开始一个新分析前,需要指定文件保存路径和文件名。
文件保存路径GUI:【Utility Menu】|【File】|【Change Directory】见图14 指定新的文件名GUI:【Utility Menu】|【File】|【Change Jobname】见图15所示
图14 指定文件保存路径
图15 修改文件名
⑵、选取单元类型 1)
选取单元类型的GUI操作:【Main Menu】|【Preprocessor】|【Element Type】|【Add/Edit/Delete】,执行后弹出Element Types对话框。 在Element Types对话框点击Add定义新的单元类型,弹出“Library of Element Types”对话框,见图16所示,按图中所示选择,单元类型参考号输入框中输入数字1。
2)
图16 单元类型对话框
3)
点击“OK”,回到“Element Types”对话框见图17所示,从图中可以看到,定义的单元类型参考号为1,单元类型对应为SOLID46。
图17 已经定义好的单元类型
4)
接下来,还要对单元类型做一些选项设置,点击“Options”,弹出“SOLID46 element type options”对话框,在“Form of input”下拉选择列表中有三个选项,分别是各材料层厚度相同、变厚度材料层、自定义宏观材料本构矩阵,选择不同的选项,会导致后面需要输入的材料参数不同。由于本例各层厚度相同,选择“Const thk layer”项,点击“OK”,弹出“More SOLID46 element type options”,在K8选项中选择“All layers”,然后单击OK,随后单击ElementTypes对话框上的Close,关闭该对话框,完成单元类型选择,见图18。
图18 单元类型关键字设置
⑶、设置单元实常数
单元实常数设置GUI路径为【Main Menu】|【Preprocessor】|【Real Constants】|【Add/Edit/Delete】,执行后出现Real Constants对话框,单击Add按钮,出现Element Type for Real Constants对话框,单击OK,出现Real Constant Set Number1, for SOLID46,如图19左图所示。在NL框中输入4,表示一共有4层,在LSYM框中输入1,表示对称铺层。
图19 单元实常数设置
按图19设置完后点击OK,出现Real Constant Set Number1, for SOLID46对话框,见图19右图所示,按图中所示进行设置,点击OK关闭对话框。最后单击Real Constants对话框上的Close按钮完成实常数设置。
步骤二:定义材料属性
与各项同性材料一样,复合材料在定义材料性质时,需要定义弹性模量、剪切模量和泊松比,所不同的是复合材料需要定义各个方向上的材料性质。定义材料属性的GUI路径为:
【Main Menu】|【Preprocessor】|【Material Props】|【Material Models】 执行完后弹出Define Material Model Behavior对话框,见图20所示,按图中所示选择材料。
图20 材料属性列表框
选择完后弹出Linear Orthotropic Properties for Material Number1对话框。见图21所示。按图示输入材料属性值。在这里做一点说明,ANSYS软件允许用户使用任何一套相匹配的单位体系,比如:长度、力、时间、温度分别采用m、N、s、℃作为单位,或采用英制单位体系。单击OK关闭对话框,在Define Material Model Behavior对话框上选择【Material】|【Exit】,结束材料属性定义。
图21 材料属性设置对话框
步骤三:创建几何模型、划分网格 ⑴、建立几何模型
在这个例题中,选择的单元类型是SOLID46,需要建立实体模型,建模的GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Create】|【Volumes】|【Block】|【By Dimension】,执行完后弹出Create Block by Dimensions对话框,相应的输入见图22所示。点击OK,结果如图23所示。
图22 创建几何模型对话框
图23 创建的几何模型
⑵、划分网格
由第三章中的介绍知道,在划分网格前还需要对网格密度进行设置。这里采用手动的方法进行设置。手动设置时需要先选中欲控制网格密度的边线,指定其上的节点分布。在长宽方向的边线上放置40个节点,在厚度方向上放置4个节点,具体操作如下:
1)
长宽方向上放置节点
执行【Utility Menu】|【Select】|【Entities】命令,出现Select Entities对话框,见图24a、b所示,按图所示进行设置,图24a中点击Apply按钮,图24b中点击OK。
(a) (b)
图24 选择Z坐标为0及0.1的所有边线
执行【Main Menu】|【Preprocessor】|【Meshing】|【Size Cntrls】|【ManualSize】|【Lines】|【All Lines】命令,弹出Element Sizes on All Selected Lines对话框,见图25所示。在NDIV输入框中输入40,对选中的边线等分为40份。
图25 手动控制节点分布
2)
厚度方向放置节点
执行【Utility Menu】|【Select】|【Entities】命令,出现Select Entities对话框,见图26所示,按图所示进行设置,点击Invert按钮,然后点击Cancel完成对剩余边线的选择。
图26 选择剩余边线
执行【Main Menu】|【Preprocessor】|【Meshing】|【Size Cntrls】|【ManualSize】|【Lines】|【All Lines】命令,弹出Element Sizes on All Selected Lines对话框,见图25所示。在NDIV输入框中输入4,对选中的边线等分为4份。
3)
划分网格
执行【Utility Menu】|【Select】|【Everything】命令,选择所有实体,然后再执行【Main Menu】|【Preprocessor】|【Meshing】|【MeshTool】命令,出现MeshTool对话框,见图26所示,按图中设置,
图26 网格划分设置
设置完后点击Mesh,在绘图区用鼠标单击模型,划分的网格效果见图27所示。
图27 网格划分效果展示
步骤四:设定边界条件、加载 ⑴、设置分析类型
执行【Main Menu】|【Solution】|【Analysis Type】|【New Analysis】,出现New Analysis对话框,选择分析类型为Static,单击OK结束分析类型设置。
⑵、设置边界约束和加载
由于边界条件和载荷需要加载到单元节点上,因而需要先选中目标节点。 在本例中,由于实体模型比较简单,给大家介绍一种快速选择边界,然后施加边界约束和表面压力的方法。
执行【Main Menu】|【Solution】|【Define Loads】|【Apply】|【Structural】|【Displacement】|【On lines】,弹出Apply U,ROT on Lines对话框,见图28所示。执行后鼠标变成竖直向上的一个箭头,在图形显示框中用鼠标单击选择坐标为(1,1)、(1,-1)、(-1,1)、(-1,-1)的四条边线,单击OK,弹出边界约束设置对话框,见图29所示,按图所示进行设置,点击OK,壳体四个角点的约束效果见图30所示。
图28 约束施加边界选择对话框
图29 边界约束设置对话框
图30 角点四条边线的约束效果
下面对表面施加压力荷载,需要先选择节点,然后再施加载荷,执行【Utility Menu】|【Select】|【Entities】,弹出图31所示的Select Entities对话框,按图中所示进行设置,设置完后点击OK,就选择了所有z坐标为0.1的节点。 执行【Main Menu】|【Solution】|【Define Loads】|【Apply】|【Structural】|【Pressure】|【On Nodes】,出现Apply PRES on Nodes对话框,点击 Pick All,弹出如图32所示的对话框,在VALUE输入框中输入6000,由于采用的单位是国际标准体系单位,所以这里的压强单位是Pa。施加压力后的效果见图33所示,红色的方格线表示施加的是表面载荷。注意图中右上角的文字提示,显示施加的表面载荷是6000。
图31 选择需要施加压力的节点
图32 施加表面压力对话框
图 33 表面压力施加效果图
步骤五:求解
这一步比较简单,首先执行【Utility Menu】|【Select】|【Everything】命令,选择所有的实体,注意,这一步操作不可以省略,否则将有部分单元和实体不参与计算;然后执行【Main Menu】|【Solution】|【Solve Current LS】,出现Solve Current Load Step对话框,点击OK按钮,ANSYS开始求解计算。计算结束后会出现Note提示框,见图34所示,单击Close关闭该对话框。
图34 求解结束提示框
步骤六:查看计算结果
在查看计算结果之前,需要先读入结果,执行【Main Menu】|【General Postpro】|【Read Results】|【Last Set】,读取最终的求解结果;
⑴、位移查看:在读入结果后,执行【Main Menu】|【General Postpro】|【Plot Results】|【Contour Plot】|【Nodal Solu】,出现Contour Nodal Solution Data对话框,在Item to be contoured列表框中选择【Nodal Solution】|【DOF Solution】|【Displacement vector sum】,单击OK,图形显示窗口如图35所示,展示的是合位移等值线云图。
图35 合位移等值线云图
⑵、应力查看:执行【Main Menu】|【General Postpro】|【Plot Results】|【Contour Plot】|【Nodal Solu】,出现Contour Nodal Solution Data对话框,在Item to be contoured列表框中选择【Nodal Solution】【|Stress】【|von Mises stress】,单击OK,图形显示窗口如图36所示,展示的是等效应力等值线云图。
图36 等效应力等值线云图
⑶、当然,在ANSYS中还可以用文件形式将计算结果列出来,从而查看每个节点的具体数据,执行【Main Menu】|【General Postpro】|【List Results】|【Nodal Solu】,出现List Nodal Solution对话框,在Item to be listed列表框中选择【Nodal Solution】|【DOF Solution】|【Displacement vector sum】,单击OK,ANSYS窗口将显示所有节点的位移数据,如图37所示。
图37 列表显示节点位移信息
此外,用户还能够查看指定节点的数据,操作方法是先选中这些节点(可以在图形显示窗口中用鼠标选择,也可以用坐标的方法选择),然后采用上面提到的方法列表显示节点数据即可。
4.2 叠层板工字梁结构载荷分析(GUI方法)
5.3.1 问题描述
如图5-7所示,有一长3米的工字梁,高度为0.3m,上下翼缘的宽度为0.2m。材料为T300/5208,是20层对称分布叠层板,每层的厚度为0.001m,各层的方向角分别为0、45、90、-45、0、0、45、90、-45和0度,材料特性为:Ex=181Gpa,Ey=Ez=10.3Gpa,Gxy=7.17Gpa,Gyz=3.78Gpa,υ12=0.016。沿轴强度:σx+=1500Mpa,σx-=1500Mpa,σy+=40Mpa,σy-=246Mpa,σx+=40Mpa,σx-=246Mpa,τxy=68Mpa(+表示受拉,-表示受压)。工字梁一端固定,另一端受集中力分别为:100N 、10000N和100N 。计算工作应力和应变、失效应力和失效层等。
图5-7叠层板工字梁结构和载荷示意图
5.3.2 GUI方式
(一) 定义单元类型、实常数和材料特性
1. 选取菜单元途径Main>Preprocessor>Element type>Add/edit/delete,弹出Element Types窗口。
2. 单击Add,弹出Library of Element Types窗口,左边选择窗口选择 Structural Shell,右边选择窗口选择中选择 Linear Layer99,单击OK。 3. 单击Element Types窗口中 Options,弹出SHELL99 ElementType Options窗口,将K8设置为ALL Layer,单击OK。单击 Element Types窗口中Close。 4. 选取菜单途径Main menu>Preprocessor>Element Type>Real
Constants,弹出 Real Constants窗口。单击OK,弹出 Element type for Real Constants窗口。单击OK,弹出 Real Constants Set Number1,for SHELL99窗口,依次输入NL=20、LSYM=1、LP1=1和LP2=20。
5. 单击OK,弹出Real Constants Set Number 1,for SHELL99附加信息窗口,所有MAT输入1,所有TK输入0.001,THETA依次输入0、45、90、-45、0、0、45、90、-45和0。单击OK。再单击Real Constants窗口中的Close。 6. 选取菜单途径Main menu >Preprocessor>Material
Props>-Constant-Orthotrople ,弹出Orthotropic Material Properties 窗口,单击OK后依资助输入EX=181e9,EY=10.3e9,EZ=10.3e9,PRXY=0.016,单击OK。
(二) 定义失效准则
1. 选取菜单途径Main menu>Proprocessor>Material Props>Data Tables>Define/Activate,弹出Define/Activate Data Table窗口,设置 Lab为 Compos fall FALL ,MAT为1。单击OK。
2. 选取菜单途径 Main menu>Prepocessor>Material Props >Data Tables>Set Temp Table ,弹出Set Data Table Temperature窗口,激活KMOD选项下 Edit existing项,将KMOD设置为 Crit。单击OK。
3. 选取菜单途径 Main menu>Prepocessor>Material Props>Data Tables>Edit Active弹出 Data Table Fail窗口,依次输入: critkey行第3列处输入1, XtenStrs 行第1列输入1.5e9, XcomStrs行第1列输入-1.5e9 YtenStrs 行第1列输入4e7, YcomStrs行第1列输入-2.46e8 ZtenStrs 行第1列输入4e7, ZcomStrs行第1列输入4e7, 行第1列输入6.8e7。 单击File 菜单下的Apply/Quit项。 (三) 定义有限元模型 1. 选取菜单途径Main
menu>Prepocessor>-Modeling-Creat>-Areas-Rectangle>By Dimensions ,弹出Create Rectangle by Dimensions对话框,在X1和X2处输入0和3,在Y1和Y2处输入0和0.3,单击OK。
2. 选取菜单途径Utility Menu>Work Plane>Offset WP by Increments,将工作平面坐标系绕X轴逆时针旋转90度。 3. 选取菜单途径Main
menu>Prepocessor>-Modeling-Creat>-Areas-Rectangle>By Dimension,弹出Create Rectangle by Dimensions对话框,在X1和X2输入0和3,在Y1和Y2处输入0.1和-0.1,单击OK。
4. 选取菜单途径Utility Menu>Work Plane>Offset WP by Increments,将工作平面坐标系沿工作平面坐标系Z轴移动-0.3。 5. 选取菜单途径Main
menu>Prepocessor>-Modeling-Creat>-Areas-Rectangle>By Dimension,弹出
Create Rectangle by Dimensions对话框,在X1和X2输入0和3,在Y1和Y2处输入0.1和-0.1,单击OK。
6. 选取菜单途径Main menu>Prepocessor>Operate>Partition>Areas,弹出Partition Areas拾取对话框,单击Pick All。
7. 选取菜单途径Main menu>Prepocessor>Mesh>-Meshing-Size
Cntrls>-Global-Size弹出Global Element Sizes窗口,在SIZE处输入0.1,单击OK。
8. 选取菜单途径Main menu>Prepocessor>-Meshing-Mesh>-Areas-Free,弹出Mesh Areas拾取对话框,单击Pick All。
9. 选取菜单途径Main menu>Prepocessor>>Numbering Ctrls>Merge Items ,将Label设置为 Node ,单击OK。
10. 选取菜单途径Main menu>Prepocessor>>Numbering Ctrls>Compress Number ,将Label设置为 Node ,单击OK。 (四) 添加约束和载荷并求解
1. 选取菜单途径Utility Menu>Select>Entities ,弹出Select Entities窗口,从上至下依次设置为: Nodes、 By Location 、X和输入0,单击OK。 2. 选取菜单途径Main
Menu>Solution>-Loads-Apply >-Structural-Displacement>On Nodes ,弹出Apple U,ROT on Nodes 拾取对话框。单击Pick All,弹出 Apply U,ROT on Nodes窗口,将Lab2设置为ALL DOF ,单击OK。
3. 选取菜单途径Utility Menu>Select>Everything。
4. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、X和输入3,单击OK。 5. 选取菜单途径Utility Menu>Select>Entities,弹出Setect Entities窗口,从上至下依次设置为:Nodes、By Location、Y输入0.3和Reselect,单击OK。
6. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、Z输入0和Reselect,单击OK。
7. 选取菜单途径Main
Menu>Solution>-Loads-Apply >-Structural-Force>Moment>On Nodes ,弹出Apple F/M, on Nodes 拾取对话框。单击Pick All,弹出 Apply F/M on Nodes窗口,将Lab设置为FY,在VALUE处输入-10000,单击OK。 8. 选取菜单途径Utility Menu>Select>Everything。
9. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、X和输入3,单击OK。 10. 选取菜单途径Utility Menu>Select>Entities,弹出Setect Entities窗口,从上至下依次设置为:Nodes、By Location、Y输入0.3和Reselect,单击OK。
11. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、Z输入0.1和Reselect,单击OK。
12. 选取菜单途径Main
Menu>Solution>-Loads-Apply >-Structural-Force>Moment>On Nodes ,弹出Apple F/M, on Nodes 拾取对话框。单击Pick All,弹出 Apply F/M on Nodes窗口,将Lab设置为FY,在VALUE处输入-100,单击OK。 13. 选取菜单途径Utility Menu>Select>Everything。
14. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、X和输入3,单击OK。 15. 选取菜单途径Utility Menu>Select>Entities,弹出Setect Entities窗口,从上至下依次设置为:Nodes、By Location、Y输入0.3和Reselect,单击OK。
16. 选取菜单途径Utility Menu>Select>Entities,弹出Select Entities窗口,从上至下依次设置为:Nodes、By Location、Z输入-0.1和Reselect,单击OK。
17. 选取菜单途径Main
Menu>Solution>-Loads-Apply >-Structural-Force>Moment>On Nodes ,弹出Apple F/M, on Nodes 拾取对话框。单击Pick All,弹出 Apply F/M on Nodes窗口,将Lab设置为FY,在VALUE处输入-100,单击OK。 18. 选取菜单途径Utility Menu>Select>Everything。
19. 选取菜单途径Utility Menu>Solution>-Solve-Current LS,弹出Solve Current Load Step对话框,同时弹出/STAT Command 窗口。仔细阅读/STAT Command窗口的信息,然后单击Close 关闭/STATCommand窗口。 20. 单击Solve Current Load Step对话框中的OK,开始求解计算。 21. 当求解结束时,弹出“ Solution is done!”对话框,关闭之。 (五) 观察结果
1. 选取菜单途径Main Menu>General Postpro>Element Table Define Table ,弹出Define Table Data窗口。单击 Add,弹出Define Additional Element Table Items窗口,在 Lab 处输入NX,将Item 设置为By sepuence num,将 Comp设置为SMISC,7。
2. 单击Apply,再次弹出Define Additional Element Table Items窗口,在 Lab处输入FC,将 Item设置为 By sequence num,将 Comp设置为SMISC,1。
3. 单击Apply,再次弹出Define Additional Element Table Items窗口,在 Lab处输入FCMC,将 Item设置为 By sequence num,将 Comp设置为SMISC,2。
4. 单击Apply,再次弹出Define Additional Element Table Items窗口,在 Lab处输入FCLN,将 Item设置为 By sequence num,将 Comp设置为SMISC,3。
5. 单击Apply,再次弹出Define Additional Element Table Items窗口,在 Lab处输入ILMX,将 Item设置为 By sequence num,将 Comp设置为SMISC,4。
6. 单击Apply,再次弹出Define Additional Element Table Items窗口,在 Lab处输入ILMN,将 Item设置为 By sequence num,将 Comp设置为SMISC,5。
7. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为NX,单击OK。
8. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为FC,单击OK。
9. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为FCMC,单击OK。
10. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为FCLN,单击OK。
11. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为ILMX,单击OK。
12. 选取菜单途径Main Menu>General Postpro>Element Table>Plot Element Table ,弹出Contour Plot of Element Table Data 窗口。将Itlab处设置为ILLN,单击OK。
13. 选取菜单途径Main Menu>General Postpro>Element Table >List Element Table ,弹出List Element Table Data 窗口,激活NX、ILLN和ILMX项,单击OK。
14. 选取菜单途径Main Menu>General Postpro>Element Table >List Element Table ,弹出List Element Table Data 窗口,激活FC、FCLN和FCMX项,单击OK。
5.3.2 批处理方式
/PREP7
/TITILE,DIECENBAN
ET,1,SHELL99, , , , , 2,4 !定义单元类型 KEYOPT,1,8,1
R,1,20,1,1,20 !定义实常数 RMORE
RMORE,1,0,0.001,1,45,0.001 RMORE,1,90,0.001,1,-45,0.001 RMORE,1,0,0.001,1,0,0.001
RMORE,1,45,0.001,1,90,0.001,
RMORE,1,-45,0.001,1,0,0.001 MP,EX,1,181E9 !定义材料特性 MP,EY,1,10.3E9 MP,EZ,1,10.3E9 MP,PRXY,1,0.016 MP,GXY,1,7.17E9
MP,GYZ,1,3.78E9 TB,FAIL,1 !定义生效准则 TBTEMP, ,CRIT TBDATA,1,0,0,1 TBTEMP,20 TBDATA,10,1500E6 TBDATA,11,-1500E6 TBDATA,12,40E6 TBDATA,13,-246E6 TBDATA,14,40E6 TBDATA,15,-246E6 TBDATA,16,68E6 K,1 !定义有限元模型 K,2,3 K,3,3,0.3 K,4,0,0.3 A,1,2,3,4 K,5,0,0,0.1 K,6,3,0,0.1 K,7,3,0,-0.1 K,8,0,0,-0.1 A,5,6,7,8 K,9,0,0.3,0.1 K,10,3,0.3,0.1 K,11,3,0.3,-0.1 K,12,0,0.3,-0.1 A,9,10,11,12
APTN,1,2,3 ESIZE,0.1 AMESH,ALL NUMMRG,NODE NUMCMP,NODE
FINISH /SOLU
NSEL, S,LOC,X,0 !添加约束 D,ALL,ALL
NSEL,ALL
NSEL,S,LOC,X,3 !添加载荷 NSEL,R,LOC,Y,0.3 NSEL,R,LOC,Z,0 F,ALL,FY,-10000 NSEL,ALL NSEL,S,LOC,X,3 NSEL,R,LOC,Y,0.3 NSEL,R,LOC,Z,0.1 F,ALL,FY,-100 NSEL,ALL NSEL,S,LOC,X,3 NSEL,R,LOC,Y,0.3 NSEL,R,LOC,Z,-0.1 F,ALL,FY,-100 NSEL,ALL OUTPR, ,1 SOLVE
FINISH /POST1 !观察结果 ETABLE,NX,SMISC,7 ETABLE,FC,NMISC,1 ETABLE,FCMC,NMISC,2 ETABLE,FCLN,NMISC,3 ETABLE,ILMX,NMISC,4
ETABLE,ILLN,NMISC,5 PRETAB,NX,ILLN,ILMX PRETAB,FC,FCLN,FCMX FINISH
附录A:Ansys中如何使用IGES格式文件
IGES(Initial Graphics Exchange Specification)是不同CAD/CAE软件系统之间数据交换的一种规范,Ansys也支持读入和输出这一类型的数据文件。Ansys读入该文件类型有两种模式(见附图1红线框内):
(1)光滑模式(SMOOTH),对应选项”No Defeaturing”,这种模式不会对原模型做任何修改,而且Ansys不会创建体积(只创建点、线、面元素),导入的模型一般需要手动进行修复,需要用到的几何修复工具位于前处理器(Preprocessor)模块中。
(2)小平面模式(FACETED),对应选项“Defeature Model”,在这种模式下Ansys会自动执行点、线、面的合并操作,并且自动创建用于网格划分的体积,该模式主要用于对模型进行简化。如果在导入模型过程中出现问题,Ansys会弹出相应的几何修改工具。注:对于大尺寸或复杂的模型,不推荐采用FACETED模式。
附图1 Ansys 导入IGES文件选项设置
下面将详细讲解两种模式使用过程需要注意的问题。
1 SMOOTH模式
GUI路径:【Utility Menu】|【File】|【Import】|【IGES】,选择“No defeaturing”。
建议导入IGES格式数据时首先尝试采用SMOOTH模式,如果利用几何修复工具仍无法修复导入模型上的缺陷,再考虑采用FACETED模式。
1.1 CAD软件建模注意事项
如果生成的模型是轴对称的,注意对称轴选择Y轴。
避免创建闭合曲线(即曲线的起点和终点重合)和闭合曲面(比如曲
面起始和终止边重合)。因为Ansys中曲线应该至少包含两个关键点,所以无法存储闭合曲线和闭合曲面,如果导入的模型中包含闭合曲线或闭合曲面,Ansys将尝试将其分割成多个几何特征。
由于IGES发展到现在已经有多个版本,从CAD软件输出IGES文件时,
尽量选择ANSYS软件能支持的IGES版本。 1.2 CAD软件输出IGES文件注意事项
输出时只选择Ansys分析需要用到的那一部分模型,Ansys有限元分
析不需要像CAD软件那样关注每一个细节。
对于通过修剪操作生成的曲面,在将其转换为IGES数据格式时,数
据中应该包含XYZ坐标数据和UV坐标数据。
如果要分析的模型非常大,应该将模型分成多块分别输出,每个IGES
数据文件只包含模型的一部分。在Ansys中将多个文件读入后采用前处理器中的合并操作进行重新组合。(合并操作GUI路径:【Main Menu】|【Preprocessor】|【Numbering Ctrls】|【Merge Items】)。 如果IGES文件的数据是以ASCII码存储的,确保文件中每行都是80
个记录。
1.3 Ansys导入IGES文件注意事项
注意导入文件时ANSYS程序的各种提示信息。警告信息包括诸如IGES
转换失败的部件以及转换成功的部件在ANSYS中对应的部件号。
如果存在IGES部件没有转换,可以采用模型修补命令进行重构。
SMOOTH模式能够读入任何不超过20阶的有理B样条曲线和有理B样条曲面,如果阶数超过20阶ANSYS将提示出错信息。 1.4 ANSYS导出IGES文件注意事项
输出IGES数据前需要先设定系统单位,单位的设置只能通过命令的
形式设置:/UNITS,比如要设定国际单位体系,只要在命令输入框中输入“/UNITS,SI”,回车确认即可。
输出数据前,需要选择几何实体的所有下属元素,GUI操作:【Utility
Menu】|【Select】|【Everything Below】。
如果想输出模型的部分元素,则只需要选中那些需要输出的模型及其
下属元素(包括关键点和边线),然后去掉选中的更高级别的特征元素即可。
2 FACETED模式
2.1 FACETED模式使用的9个步骤 ①、采用SMOOTH模式导入IGES文件。.
②、通过创建基本几何元素(比如创建关键点,线等)对导入的几何体进行改善和修复,适当时候结合布尔操作进行修改,记住,不要急着划分网格。 ③、将导入的模型和创建的模型保存到数据库文件,这一步只要点击保存图标即可完成。
④、将模型保存到IGES格式的文件。
⑤、在命令输入框中输入“/CLEAR”命令,清空当前软件中的数据(也可以退出然后重启软件)。
⑥、执行【Utility Menu】|【File】|【Import】|【IGES】,选择“Defeature Model ”。
⑦、选择第4步保存的模型文件,将其以FACETED模式导入。
⑧、在FACETED模式下,对模型进行简化处理,去掉可能导致划分网格失败的几何特征。
⑨、对模型进行网格划分,如果在划分网格中碰到问题,则需要对模型做进一步的简化处理。
注意:不是所有的几何问题都可以在FACETED模式中得到解决,必要的时候需要在创建模型的CAD软件中做相应的修改。
2.2 FACETED模式简化模型 2.2.1 目测检查模型的几何缺陷
模型的几何缺陷(参见附图2)主要包括:很短的线条(Small line)、不相关的几何特征、面积很小的面域(Small area)、在一个方向上尺寸很不协调的面域(Thin area)(比如狭长条表面)等,这些几何缺陷很容易导致网格划分不理想甚至失败(见附图2)。需要借助几何简化工具消除这些缺陷。
附图2 存在几何缺陷的模型及其网格划分结果
从附图2的网格划分来看,单元间网格尺寸急剧变化,这在有限元分析中是不被允许的,需要对模型进行修改,重新划分网格。
2.2.2 查找定位几何缺陷 查找定位短曲线:
GUI操作:【Main Menu】|【Preprocessor】| 【Modeling】|【Simplify】|【Detect/Display】|【Small Lines】 查找定位小环线
GUI操作:【Main Menu】|【Preprocessor】| 【Modeling】|【Simplify】|【Detect/Display】|【Small Loops】 查找定位小面域
GUI操作:【Main Menu】|【Preprocessor】| 【Modeling】|【Simplify】|【Detect/Display】|【Small Areas】 在找到这些几何缺陷后可以采用修补工具进行修改。 2.2.3 短曲线的修补
对于短曲线的修补有两种方法可用,一种是合并操作(merge lines),将短曲线与长曲线进行合并,合并后得到一条曲线(注意,合并节点处不能有第三条曲线与之相接,因为合并后节点将不复存在);另一种是降阶操作(collapse lines),将曲线收缩到该曲线两个端点中的一个,这会对原有模型有所改变。
附图3 短曲线的修补
2.2.4 小曲面的修补
与短曲线的修补类似,小曲面的修补也有两种方法,一种是合并曲面(merge areas),将小曲面与邻近的大曲面进行合并,在合并的过程中需要注意保持曲面的规则性(比如小曲面合并前为四变形,合并后的曲面仍然是四变形),这样可以避免曲面参数化失败(见附图4)。
附图4 正确的曲面合并(上图)于不错误的曲面合并(下图)
另外一种方法是曲面降阶(collapse areas),即将曲面向其边界收缩。操作时,先选择要降阶的曲面,然后选择曲面要简化的目标边线。一般需要先进行曲线简化操作,然后再做曲面简化,简化的边线一般选择曲面较长的一条边作为目标边线,简化实例见附图5所示。
附图5 曲面降阶实例
2.2.5 空腔和凸台的简化
模型上的空腔(包括凹槽和通孔)和凸台特征都可能影响网格划分效果甚至使得网格划分失败,因而有必要对其进行简化处理。在清除这些特征时,需要选中组成特征的所有曲面,选择曲面的顺序很关键,选择过程中应该先选择特征的组成面,最后选择空腔或凸台的附着面,如果顺序不对的话会扭曲模型的几何形状,这是我们不愿看到的。
清除空腔和凸台的GUI操作如下:
清除空腔:【Main Menu】|【Preprocessor】|【Modeling】|【Simplify】|【Toolkit】|【Fill Cavity】
清除凸台:【Main Menu】|【Preprocessor】|【Modeling】|【Simplify】|【Toolkit】|【Remove Boss】 ,参见附图6。
附图6 清除凸台
2.3 FACETED模式下模型的修复
上面讲的都是有关如何简化模型的方法,实际导入IGES模型还会碰到模型的拓扑结构问题(比如模型上有缝隙 gaps)或者模型不完整(比如曲面边线不封闭)等。这些拓扑结构缺陷或几何不完整都需要在FACETED模式下进行修复。
2.3.1 修补模型上的缝隙
缝隙的修补归属拓扑结构修补,拓扑结构修补工具位于【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】下,利用这些工具可以“缝合”模型上的小缝隙。在生成封闭体积前必须将边线和曲线段缝合到邻近的曲面上。当拓扑修复工具打开时,其他任何几何工具都处于不可选用状态。模型上存在的很多问题都可以通过拓扑修复工具进行修复。
2.3.1.1 缝隙绘图显示和列表显示的相关设置
要对于模型上存在的缝隙进行修复,需要首先找到这些缝隙,为便于观察缝隙的位置,需要对缝隙进行突出显示。
显示设置GUI路径:【Main Menu】【|Preprocessor】【|Modeling】【|Topo Repair】|【Preferences】,见附图7所示。
附图7 拓扑结构修复设置
有两项设置项:
误差限设置(TOLER):设置在多大间距下认为存在间隙,当两者间距超
过该设定值时,认为存在缝隙。 边线列表和绘图显示设置(OESELE):设置缝隙以何种方式显示。 2.3.1.2 查找并显示缝隙
对于模型上的缝隙,可以通过列表显示和在绘图窗口显示两种方式显示。 列表显示功能
该项功能的GUI设置为:【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】|【Lst Model Gaps】|【Open edges】
如果想要列表显示所有的封闭曲线可以这样设置: 【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】|【Lst Model Gaps】|【Closed edges】
绘图显示功能
在此,可以通过绘图功能设置来突出显示裂口和封闭的曲线,下面讲述如何通过颜色来突出显示:
蓝色 – 表示封闭边线 ;
红色 – 表示非封闭边线,即使在执行GAPMERGE命令后,非封闭曲
线依然保持为非封闭状态 ;
黄色 – 表示非封闭边线,但在执行GAPMERGE后将要变为行封闭曲
线 。
在进行设置后,就可以用绘图命令来显示想要显示的曲线了:
绘图显示所有非封闭曲线GUI操作:【Main Menu】【Preprocessor】|【Modeling】|
|【Topo Repair】|【Plt Model Gaps】|【Open Edges】
绘图显示所有封闭曲线GUI操作:【Main Menu】|【Preprocessor】|【Modeling】
|【Topo Repair】|【Plt Model Gaps】|【Closed Edges】
绘图显示所有封闭曲线和非封闭曲线GUI操作:【Main Menu】|【Preprocessor】
|【Modeling】|【Topo Repair】|【Plt Model Gaps】|【Opn & Closed】
2.3.1.3 合并缝隙
合并缝隙有两种方法,一种是手动合并(需要指定一个误差限),另一种是自动合并(使用迭代合并工具)。对于大多数模型都是采用的自动合并功能。在进行合并操作前建议先对模型进行保存数据库操作,以便当合并出现意外时可以撤销前面的操作。 自动合并
当采用自动合并时,程序会尝试采用反复迭代的方式从最低等误差限(默认为1级)开始直到最高级误差限(默认为10级)对所有的缝隙进行合并。 自动合并GUI操作: 【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】|【Mrg Model Gaps】|【Iterative】
手动合并
采用手动合并操作时建议选用最低等级的误差限(误差限的设置方法:【Main Menu】| 【Preprocessor】|【 Modeling】|【 Topo Repair】|
【 Preferences】),如果采用过高的误差限会导致模型面型发生扭曲,因此再次提醒在操作前能对模型数据进行保存。
手动合并GUI操作: 【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】|【Mrg Model Gaps】|【By Tolerance】
小问题:
✓ 如果无法合并所有的缝隙怎么办?
这种情况是有可能出现的,对于这种情况,需要先退出拓扑修复工具箱,然后采
用其他的几何工具进行修复;
✓ 关于退出拓扑修复工具箱
如果完成了所有的拓扑修复(或者碰到上面提到的情况)你需要退出拓扑修复工具箱,需要提请注意的是,一旦你选择退出,将不能再次进入拓扑工具箱或者执行GAPMERGE命令,你只能重新以FACETED模式导入IGES模型,或者点击“Resume“按钮,读入之前保存的模型数据。
退出拓扑修复工具箱GUI操作: 【Main Menu】|【Preprocessor】|【Modeling】|【Topo Repair】|【Finish】
2.3.2 修补几何体的缺失部分
对于合并操作不能完全解决的遗留缺陷(比如缝隙过大),ANSYS还提供了一整套几何修复工具用于修补。此时,需要创建新的曲线来使得边界封闭,然后在封闭边界内创建曲面。当然,你还可以删除不必要的曲线或者曲面。 创建一个体积的一般流程:
1. 找到模型上的小洞或者不完整的边界(缝隙); 2. 用新创建的曲线或曲面近似丢失的几何体; 3. 用新创建的曲面完成体积创建 。 2.3.2.1 定位显示不完整边界
与查找缝隙类似,查找不完整边界同样有列表显示和绘图显示两种方法。 列表显示所有非封闭边界GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Lst Model Gaps】|【Open edges】
列表显示所有封闭边界GUI操作:【Main Menu】【|Preprocessor】【|Modeling】|【Geom Repair】|【Lst Model Gaps】|【Closed edges】
绘图显示所有非封闭边界GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Plt Model Gaps】|【Open edges】(非封闭边界以红色显示)
绘图显示所有封闭边界GUI操作:【Main Menu】【|Preprocessor】【|Modeling】|【Geom Repair】|【Plt Model Gaps】|【Closed edges】(封闭边界以蓝色显示)
绘图显示所有封闭边界和非封闭边界GUI操作:【Main Menu】|
【Preprocessor】|【Modeling】|【Geom Repair】|【Plt Model Gaps】|【Opn & Closed】(封闭边界以蓝色显示,非封闭边界显示为红色) 2.3.2.2 封闭不完整边界
在找到不封闭边界后,可以通过在已经存在的两个关键点之间创建新的直线段使得边界封闭。
在两个关键点之间创建直线段GUI操作: 【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Fill Lines】 2.3.2.3 由完整边界创建曲面
当完成边界创建后,就可以创建位于边界内具有最小面积的面,ANSYS会自动寻找相连的曲面边界,然后自动创建好曲面。这里需要注意的是,要创建曲面的曲线边界内部不能有环线,而且曲面边界中的任何一条边界只能属于一个面,不能同时属于多个面。
由边界创建曲面GUI操作: 【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Fill Areas】 2.3.2.4 解除非流行几何体
非流行几何体包括非流形线条(Non-manifold line 见附图8)和非流形面(Non-manifold area),指的是附着于面域的线条或曲面,这些附着线条或曲面对几何体不起作用,但这些非流行几何体的存在会对创建体积带来影响,因而需要将其先解除,然后删掉。
附图8 非流形线条
解除非流行线条
从面域解除非流形线条GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Detach Lines】
删除已经解除的非流形线条GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Delete】|【Lines Only】
(Tips: 删除已经解除的非流形线条及其上的关键点GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Delete】|【Lines and Below】)
解除非流行面
从面域解除非流形面GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Geom Repair】|【Detach Areas】
删除已经解除的非流形面GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Delete】|【Areas Only】
(Tips: 删除已经解除的非流形面及其相关的边线和关键点GUI操作:【Main Menu】|【Preprocessor】|【Modeling】|【Delete】|【Areas and Below】)
因篇幅问题不能全部显示,请点此查看更多更全内容