资源描述
ABAQUS入门使用手册
ABAQUS简介:ABAQUS是一套先进的通用有限元程序系统,这套软件的目的是对固体和结构的力学问题进行数值计算分析,而我们将其用于材料的计算机模拟及其前后处理,主要得益于ABAQUS给我们的ABAQUS/Standard及ABAQUS/Explicit通用分析模块。
ABAQUS有众多的分析模块,我们使用的模块主要是ABAQUS/CAE及Viewer,前者用于建模及相应的前处理,后者用于对结果进行分析及处理。下面将对这两个模块的使用结合本人的体会做一些具体的说明:
一. ABAQUS/CAE
CAE模块用于分析对象的建模,特性及约束条件的给定,网格的划分以及数据传输等等,其核心由七个步骤组成,下面将对这七个步骤作出说明:
1.PART步
(1) Part→Creat
Modeling Space:①3D代表三维②2D代表二维③Aaxisymmetric代表轴对称,这三个选项的选定要视所模拟对象的结构而定。
Type: ①Deformable为一般选项,适合于绝大多数的模拟对象。②Discrete rigid和Analytical rigid用于多个物体组合时,与我们所研究的对象相关的物体上。ABAQUS假设这些与所研究的对象相关的物体均为刚体,对于其中较简单的刚体,如球体而言,选择前者即可。若刚体形状较复杂,或者不是规则的几何图形,那么就选择后者。需要说明的是,由于后者所建立的模型是离散的,所以只能是近似的,不可能和实际物体一样,因此误差较大。
Shape中有四个选项,其排列规则是按照维数而定的,可以根据我们的模拟对象确定。
Type: ①Extrusion用于建立一般情况的三维模型②Revolution建立旋转体模型③Sweep用于建立形状任意的模型。
Approximate size:在此栏中设定作图区的大致尺寸,其单位与我们选定的单位一致。
设置完毕,点击Continue进入作图区。
(2) Part→Creat→Continue
这时,使用界面左侧的工具栏便可以作出点、线、面以组成我们所需要的图形。
至此,PART步的基本功能及作用介绍完毕。当然,PART首界面中还有其他几个栏目,如SHAPE选项用于构造较复杂的物体形状,FEATURE和TOOL为一般性工具,将在以后作介绍,在此不在熬叙。
2.PROPERTY步:在此步中赋予研究对象的力,热,化及材料本身的性能。
(1) Material→creat
(2) Material→creat→continue
可以根据需要对上面框图的选项进行选择,如选择Machanical→Elasticity→Elastic表示材料为弹性材料,其选择结果如下:
Suboption:用于当材料断裂时,对其断裂处的应力应变进行限制,当应力应变达到所给定值时,即断裂。
Long-time:其中有两个选项,分别用于材料受到持续力和瞬时力作用的两种情况。
DATA:此处输入材料给定的杨氏模量和泊松比的值。其单位与先前给定的单位一致。
定义完物体的材料特性,接下来就要选择这种材料所对应的物体了。
(3)Section→Creat
首先,可以用上述命令创建一个实体。将其命名为Plane.
Category:可以根据所研究对象的形状确定这四个选项。
Type: ①Homogeneous:适用于组成材料分布且变形均匀的物体,包括平面应力。多用于线性。②Generalized plane strain:多用于材料的不均匀形变,例如角应变。多用于非线性材料。
(4) Section→Creat→continue
执行上述命令后,便出现了Edit Section对话框。
Material:此选项已经在前面定义,对于单个研究对象而言,不需要在进行额外的选择。
Plane stress/strain thickness:此选项应根据应力应变的实际厚度来定。对于平面应力,一般选取物体的实际厚度。对于平面应变,一般选取力沿着物体作用方向的实际长度。
我们现在已经定义了物体的材料特性,同时也定义了所选取的研究对象,接下来我们将把已经定义了的物体的材料特性赋予我们的研究对象。
(5)Assign→Section
进行了上述选择后,点击DONE按纽,就OK了。
至此我们已经完成了给研究对象赋予其材料特性的任务了。由于我们是以一个平面应力的金属薄板作为研究对象,所以PROPERTY步中还有一些子选项没有使用,在此作简要的介绍。
Profile:适用于研究对象为杆的情况,在此可定义与杆的截面有关的各种信息,比如横截面的形状,面积,转动惯量等等。如下图所示。
Skin:适用于研究对象为三维或轴对称的情况。前者用于面,后者用于边。Skin的用途在于可以在三维物体的某一个面或者是轴对称物体的一条边上skin附上一层皮肤,这种皮肤可以是异于物体原来的材料(如铝等)的各种其他材料。在Creat之前,首先要按照上面所讲的步骤再定义一个或多个Material和Section,然后才能执行Creat skin命令。为了定义skin,在定义Section的时候必须选择Shell(必须是均匀的),Membrane或者Gasket这些适合于skin的类型。一般来讲,定义完成skin以后,在大多数情况下,不能直接从Viewpoint里直接选取skin面,这时就需要执行Tool→set命令,选取所需要的skin面作为set。从而点击右下方的set即可选取所需要的skin面。需要注意的是,如果将shell,membrane或gasket单元赋给skin,那么在Mesh步中就必须对应的赋予其shell,membrane或gasket单元。另外,对于三维物体,在Mesh步中可以产生面和线单元以对其进行网格划分,对于轴对称物体也是类似的。当我们对三维物体的面和线进行划分时,位于其上方的皮肤加强层也相应的被网格剖分了,而不能单独的对皮肤加强层进行网格划分。
Offset:该选项可以对皮肤附加边和皮肤附加面进行定位,Offset值可以为正,也可以为负。例如,在壳体和轴对称物体中应用负的Offset值,表明其上的皮肤边被定位;在实体中应用负的Offset值,则表明皮肤层被实体所包含。
在PART和PROPERTY步中,我们建立了所研究对象的模型,并且赋予了其材料特性。注意到整个过程是在局部坐标系下进行,这对于由单一形状构成的模型尚可,但对于由多个部分构成的物体来说,其中的每个部分都具有其独立的局部坐标系,为此,我们必须将其划归到一个统一的整体坐标系中,使其成为一个整体。
3.ASSEMBLY步:统一坐标系
执行Instance→Create
点击OK即可。下面简单介绍一下Instance的其他几个命令和Constraint用法。
Create:用于将所选的部分置于全局坐标系下。
Translate:用于刚体的平行移动,移动的距离通过坐标来选定。
Rotate:将所选的物体进行旋转。
Replace:用于组成对象的各个部分之间的相互转换。
Convert Constraints:重新定位所选的部分。
Constraint命令适合于物体的组成部分多于一个的情况。用于各个部分之间的定位。在此不祥述。
4.STEP步:用于定义分析的步骤,可以是一步,也可以是多步,视具体情况而定。同时给出输出要求。Step分为initial,step-1,step-2……,其中initial为ABAQUS自动给出,其余为作者自定义。在上述例题中,我们给出一个分析步:initial中赋予边界条件,step-1中赋予集中力荷载。如下所示:
(1)Step→Creat
Procedure type: ①General:全称为General nonlinear perturbation,与Linear perturbation相对应。此分析步定义了一个连续的事件,即前一个General步的结束是后一个General步的开始。②Linear perturbation: 此分析步定义了在General nonlinear步结束时的一个线性扰动响应。
在没有线性绕动的情况下,一般选择General步。由于是静态问题,此处下选static, general.
点击continue进入编辑状态。
在Basic栏中,定义了时间步长,并用文字对此步进行了描述。Nigeom状态由物体的形变或位移大小而定。在静态问题中,一般为小位移形变,ABAQUS的默认值为OFF;在动态问题中,一般形变较大,默认值为ON。其后的两个复选框均用于热传递,在此不作叙述。
Incrementation栏中,通过选择增量尺寸来确定所输出的祯(frame)的数量。增量的尺寸越小,所输出的祯的数量就越多;显然,祯的数量不能无限的多,可以通过Maximum number of increments选项来确定祯的最大值。ABAQUS/CAE给出了增量尺寸的最小值1e-005,如果出现结果不收敛的情况,可以减少增量尺寸的最小值。另外,为了避免结果不收敛的情况,可以通过选择Atomatic选项让系统自动调节增量尺寸。有的时候,在确保所选的增量尺寸能够收敛的情况下,选择Fixed,这样可以加快系统运算速度,减少内存,但此项一般不建议使用。
由于我们将要给物体加载集中力,由于我们把加载的过程分成了100步,所以加载力从第一步开始由零递增。因此,在Default load variation with time栏中,选择后者。前者代表加载力为瞬时力。另外,在首项中还可以设置求解器类型,一般情况下,我们选择系统默认的求解器。
(2)Output→Field Output Requests→Create:创建一个输出要求。
Domain:选择whole model代表将整个模型的场数据或历史数据输出到数据库中,选择Set name代表将所选定的已经命名区域的场数据或历史数据输出到数据库中,选择Bolt load name代表将已命名的螺栓荷载的场数据或历史数据输出到数据库中。
Output Variable:可以输出应力,应变,位移等变量。
Use defoaults:将系统默认的截面点的场数据输出到数据库中,此时的系统默认值即为在PROPERTY步中定义的截面点。
Specify:将自定义的截面点的场数据输出到数据库中,自定义的截面点只能用于已选择的输出要求中(如上述stresses,strains,displacement/velocity/acceleration中的被选项),而对于其中的未选项仍使用默认的截面点。
Save output at:用于定义结果的输出频率。
设置完毕,点OK键。
至此,step设置完成。主菜单中的Other选项只适用于ABAQUS显示分析(Explicit),例如象冲击和爆炸这样短暂、瞬时的动态事件。前两项主要是选择一个区域,适时改变其网格划分,以适合冲击和爆炸这样短暂、瞬时的动态事件。第三选项也只适用于ABAQUS显示分析(Explicit),用于对接触进行控制。最后一项用于设置各种参数,一般情况下使用系统默认值,不需要改变其值。
5.INTERACTION步:用于组成物体的各个部分之间的交互。这里引用的例子是单个金属板的平面应力,故不使用交互命令。只作简单的介绍。
通过INTERACTION步我们可以做以下几件事:①定义一个模型的各个区域之间或模型的一个区域与其周围区域之间的力学和热学的交互特性(接触特性,传动特性等)②定义一个模型的各个区域之间的关联性(如铰结等)③定义一个模型的两个点之间或模型的一个点与地面之间的联结特性。
(1) interaction→property→create(定义交互特性)
Contact: ①Mechanical:Tangential Behavior用于定义区域之间的摩擦和弹性滑动(系数);Normal Behavior用于定义垂直方向的接触状况(硬接触,软接触等);Damping用于定义区域之间的阻尼系数(动态). ②Thermal:用于定义区域之间的热学交互包括(热传导,放热,热辐射等).
Film Condition:用于定义温度场及其他场的表面散热系数,仅适用于薄膜表面的情况。
Actuator/sensor:用于定义区域之间的传动和传感特性。
定义完交互特性,接下来就要创建交互了。
(2) Interaction→Create
Surface-to-sueface contact:用于创建两个可变形面之间或一个可变形面与一个刚度面之间的交互。
Self-contact:用于创建位于一个独立面内的两个不同面积之间的交互。
Elastic foundation:是一种便捷的设置交互方式,只能在initial步中设定,一旦设定,则在以后的step中交互特性均为弹性,而不再需要对其交互细节进行设置,也不需要进行重复设置。
当然,如果组成模型的各个部分是紧密相连的,就需要使用Connector复选框了。
Connector复选框是和Interaction复选框并列的,创建方式也与其类似,即先定义联结特性,再创建联结。在此不再详细叙述。
Constrain:这里的Constrain与Assembly步中的Constrain有所不同,前者限制了模型分析的自由度,而后者仅仅限定了模型中各个部分的相对位置,前者是对后者进一步的限制。
① Tie:用于定义两个独立面之间的连接,使它们之间没有相对移动。Tie命令可以使两个区域紧密的融合在一起,甚至可以连接两个网格划分截然不同的区域。
② Rigid body:通过选定一个参考点和集合中的一个区域,从而限定这个区域与参考点之间的相对位移,但在整个分析过程中,集合中各区域之间的相对位置保持不变。
③ Display Body:这种类型的限制适用于在力学和多体动态问题中刚体之间经由联结(connector)交互的情况。具体的例子见ABAQUS/CAE Users Manual 24.2.1
④ Coupling:用于限制一个面相对于一个点的运动。
⑤ Equation:用系数和各结点自由度组成的等式进行限制,如下所示:
下面将进行的是边界条件和力的加载。
6.LOAD步:加载边界条件和力
(1) BC→Create:首先在initial步中创建边界条件。
相应于Mechanical栏,总共有七种可供选择的边界条件类型。
Symmetry/Antisymmetry/Encastre:此选项给出了对称,反对称,铰接,固结等四种边界条件的设定情况。可以根据具体的约束情况进行选择。
Displacement/Rotation:其功能与上述命令的功能大致相同,但除了上述功能外,还适用于非对称的情况。例如有些约束只需要限定其中的一个或两个自由度,在这种情况下,就只能使用Displacement/Rotation命令了。若是要改变约束所在的坐标系统,单击位于CSYS右侧的EDIT按钮,在右下方的LIST栏中选择一个预先定义的坐标系,或者直接从viewpoint中选择坐标系,坐标系的默认值是GLOBAL。
Velocity/Angular Velocity:用来为你所定义的区域结点的自由度提供速度或角速度。同样,如果想改变约束所在的坐标系,如上所示选择所需要的坐标系。,此时在编辑菜单中会出现Distribution,点击此命令右侧的箭头,就会出现Uniform和User-defined两个复选项,前者定义了一个均布的边界条件,后者则表示可在用户子程序DISP中定义边界条件。
Acceleration/Angular Acceleration:用来为你所选定的区域结点的自由度提供加速度或角加速度。其他与上类似。
以上三个选项适用于模型各部分之间无联结的情况,而对于各个部分通过铰接,固结等方式连接起来的模型,则需要使用Connector displacement, Connector Velocity以及Connector Acceleration这三个选项了,其功能与上述三个基本类似,在此不再叙述。
在平面应力问题中,通过对边界条件的选择,我们限定了三个结点,如下图所示:
当然,BC复选框还可以定义声学,电学等不同形式的边界条件,在此只做出说明。
我们已经在initial步中定义了模型的边界条件,下面我们将在step-1中定义荷载。
(2)Load→Create:在此选项中进行加载。
在此,我们仅介绍力学加载(Mechanical),在所有的13种加载类型中,也仅介绍几种常用荷载,以供大家参考。
Concentrated force:代表集中力,其表示方法有CF1,CF2,CF3,分别表示三个方向的力。
Moment:代表力矩,其表示方法有CM1,CM2,CM3,分别表示三个方向的力矩值。
Pressure:有两种类型的压力,可以在此后的Distribution选项中进行选择。选择项中Uniform代表等压力,Hydrostatic代表静水压力。
Pipe Pressure:用于定义管状或肘状模型中的内外压强。在其中还可以定义管的类型(封闭管还是通管),也可以定义压强的类型(等压还是静水压力),在此不详述。
Body force:用于定义单位体积的受力。
Line load:用于定义单位长度的受力。
Gravity:用于定义一个固定方向的加速度。通过在Gravity Load中所键入的加速度值以及先前所定义的区域的材料密度,ABABQUS可以计算出施加在这个区域中的荷载。用于动态。
Generalized plane strain load:定义一个轴向荷载,将其应用于具有平面应变区域内的参考点上。在其复选框内,需要选择力的大小,力关于X轴的转矩,力关于Y轴的转矩,并将其应用于参考点。
Rotational body force:此项定义了一个施加在整个模型上的旋转的体力。
在金属板平面应力的例子当中,我们使用的是集中力,大小为6000。如下图:
Follow nodal rotation:默认为toggel off,因为此时模型为小变形,可以认为力的方向不随模型变形方向的改变而改变。而在大变形中,则不可以忽略这种改变,应选toggel on.
下面简单介绍Field复选框的用法。
Field→Create
在Field复选框中可以定义两种场变量:速度场和温度场。
速度场在起始步中定义,用以定义所选区域的起始速度。
温度场在分析步中定义,用以定义所选区域温度场在数值和时间上的变化。ABAQYS将把所定义的温度场赋个给所选的对象。
Load case:用于各种不同条件下的加载,多用于动态,在此不再详述。
7.MESH步:在这一步当中你可以产生一个集合的网格划分,根据分析的需要,你可以对网格划分的方式进行控制,系统会自动产生不同的网格划分。当你修改PART步和ASSEMBLY步中的参数时,系统在此步会自动生成适合于这个模型的网格划分。当然,由于ABAQUS在网格划分方面的功能还不够强大,不能够完全按照作者的意图随心所欲的进行划分,因此,可以用Patran或Hypermesh等软件生成网格,然后导入至CAE中。
(1)Mesh→controls:对网格单元的形状以及网格划分的方式进行定义。
Element type:①Quad:完全使用四边形网格单元,而不使用任何的三角形单元。此项为系统默认值。如下所示:
②Quad-dominated:主要使用的是四边形的网格单元,但是在过度区域允许出现三角形网格单元。如下图所示:
③Tri:完全使用三角形网格单元,而没有四边形单元。不再举例了。
当然,以上是对平面图形进行网格划分,如果是对立体图形进行网格划分,那么相应的选项如下:
① Hex:完全使用立方体(六面体)网格单元。
② Hex-dominated:主要使用六面体网格单元,在过度区域允许使用三棱锥(四面体)网格单元。
③ Tet:完全使用三棱锥(四面体)网格单元。
Technique:①free:自由划分网格,也就是说,在这种网格生成之前,不可能对所划分的网格模式进行预测。这种划分方法具有很强的灵活性。适用于模型区域的结构形态非常复杂的情况。对于二维区域,可以使用三角形,四边形或者二者混合的单元形状;对于三维区域可以使用三棱锥单元。下面分别介绍这两种情况:
Free meshing with quadrilateral and quadrilateral-dominated elements:用四边形或以四边形为主的单元自由剖分。如下图所示:
在含有四边形单元的剖分方式中,ABAQUS还提供了一个复选框,即算法复选框,其中有两个选项: 1. 中间轴算法:当使用这种算法的自由剖分方法时,系统先将整个区域分割成规则的网格区域,然后再对更小的部分进行划分。对于虚拟结构(Virtual Topology)和不精确部分(imprecise part),最好不要使用中间轴算法。但是,如果将中间轴算法与固定布种(fixed seed)结合起来时,系统会自动的选择最佳的布种数量和布种的最佳位置。如下所示:
需要注意的是,使用中间算法自由剖分的时候,四边形和三角形兼有的网格单元模式与完全四边形网格单元模式实质上是相同的。但是,前者在区域中插入了一些独立的三角形,使之得以与种子更好的匹配,因此,前者比后者能够产生一个更快的网格划分。2.进阶算法:当使用这种算法的自由网格剖分时,系统首先在区域的边界上产生了四边形的网格单元,然后逐步的在区域内部产生四边形网格单元,使之真正的与网格种子相匹配。如下图所示:
Advancing front选项的优点在于它能够实现网格的过渡,这是我们所需要的。然而,在较窄区域内匹配每粒种子会影响网格划分的质量。相对于中间轴算法而言,进阶算法适用于那些具有不精确部分(对于一个被导入的模型部分,如果必须使用一个更宽松的公差才能在CAE创建一个与这个模型部分相似的模型的话,那么这个被导入的模型部分就被认为是不精确的)和虚拟结构(忽略了小边,小面等不重要部分的结构,以后将在TOOL SET部分讲到)的模型。
说明:;当使用中间轴算法进行自由剖分时,通过系统默认,ABASQUS使得网格的过度最小化,网格过度的最小化可以更快的生成更好的网格。然而,这种方法生成的结点很容易偏离种子。下图列举了使用和不使用网格过度最小化的中间轴算法以及使用进阶算法所构筑的网格划分的不同:
中间轴算法(medial axis algorithm)和进阶算法(advancing front algorithm)不同:
我们注意到,当使用四边形或主导四边形单元的自由剖分方法MESH一个面的时候,ABAQUS会让你选择不同的算法。如果模型被分成了一个以上的区域,你也可以对不同的区域选择不同的算法。
中间轴算法:这种算法首先把将被网格划分的区域分解成一组更简单的区域。然后使用结构化划分方法(一种不同于自由划分方法的划分方式)将单元充填至这些简单区域中。对于完全四边形元素而言,这种算法被设置为系统的默认值。如果将被网格划分的区域相对的简单,并且包含了很大数目的单元,那么这种算法所用的时间要少于进阶算法。使用中间轴算法下属的minimize the mesh transition选项(即网格过渡最小化)可以提高网格质量,但这个选项只用于四边形单元网格划分。
进阶算法:这种算法实现的方法在前面已经介绍过。它首先在区域的外边界部分生成四边形单元,然后四边形单元在随着由区域表面向区域内部的逐步移动中继续被生成。对于主导四边形网格而言,系统的默认值为进阶算法。而且,用进阶算法所产生的主导四边形网格都可以很好的与种子相匹配。对于其它的网格而言,用进阶算法生成的元素比用中间轴算法生成的元素能更好的与种子相匹配。进阶算法支持虚拟结构和不精确模型,而中间轴算法则不支持。下面是用两种算法的四边形主导单元进行的网格划分的例子:
从图中可以看出,两种算法产生的网格都令人满意。
如下图所示,由于进阶算法所产生的元素总是与种子相对应,因此由此导致的较窄区域的网格元素可能会有歪斜。
通过下面的例子,我们可以看出进阶算法更能够产生具有统一面比率的均匀的单元尺寸。
均匀的单元尺寸在分析中会扮演很重要的角色。例如,如果你在ABAQUS/Explicit中创建了一个网格,网格中的小单元会限制时间的步长。除此之外,如果必须要求单元和结点的对应,那么优先选择进阶算法。
下面讲一下使用三角单元进行的自由网格划分
Free meshing with triangular and tetrahedral elements:用三角或三棱锥网格单元进行网格划分。它使用于任何平面或曲面,模型可以是精确的也可以是不精确的。三角单元的自由划分可以处理变动很大的单元尺寸,这在对已经划分完毕的模型中的某一部分进行细化时是非常有用的。系统用来计算三角自由划分的时间随着单元和结点数量的增加而线性增长。下图就是三角单元的一个自由剖分:
三角单元的自由网格划分几乎可以应用于任何三维的区域;下图显示了一个三棱锥网格划分的例子,在这里不可以使用立方体单元。
对于形状较复杂的模型,在应用三角单元自由剖分时,应该先用Query中的Geometry Diagnostics检查部分或集合的几何状况,以确保固体内没有自由边,短边,小平面以及没有具有小平面的顶角。实体的三角单元的网格自由划分由两个阶段组成:首先是在固体区域的外表面生成三角形的边界网格,然后使用三角形生成三棱锥网格作为外部的三棱锥单元的面。
如果你的模型是复杂的,那么生成三棱锥网格是很耗时的。为了节约时间,我们可以在网格划分的第一阶段查看以下边界面上的三角形单元,如果看起来可以接受,我们可以继续对区域内部进行剖分;如果不行,则可以试着设定更细的种子。系统会突出的显示网格划分失败的任何边界上的面。失败的原因经常是因为种子分布太疏或者是将种子赋给了微小的边和面。如果微小的边或面使得系统不能产生一个令人满意的四面体网格,我们可以使用修理工具去除多余的边或点,也可以去除面或空隙处的缝。可以用toolset中的Virtual Topology命令来忽略微小的边或面。第三种方法是使用partitions分割又长又窄的面或晶胞以减少其面比率。
Technique:②Structured:结构化网格划分方法,它使用简单的,预先定义的网格结构来产生结构化网格。
在结构化网格划分方法中,只适用于四边形或主导四边形单元,ABAQUS/CAE将规则形状的网格(例如正方形或正方体)应用于将要被网格划分区域的表面。下图说明了三角形,正方形和五边形的网状模块是如何被应用到更加复杂的形状的。(这个更加复杂的形状指的是由这些平面的三角形,正方形,五角形经过变形或弯曲后所相应形成的弯曲的三边形,四边形和五边形)
(图1)
结构化网格划分方法适用于那些已经被赋予了四边形或主导四边形单元的二维区域以及赋予了立方体或主导立方体单元的三维区域。
如果使用其他的网格划分方法,那么网格边界的结点总是位于模型几何区域的表面上。然而,当使用结构化网格划分方法创建网格的时候,网格内部的结点有可能游离于模型的几何区域之外,从而导致一个扭曲,无效的网格。这个问题一般发生在具有中凹特性的曲面上。例如,下面所示的图形是一个五边形的平面结构,如果使用结构化网格划分方法,那么四边形网格元素将被均匀的分布其中,从而形成了一个网格划分规则的五边形区域。如下示:
(图2)
我们可以这样理解“网格内部的结点可能游离于模型的几何区域之外”这句话:首先,结构化网格划分方法的特点在于这种方法可以将简单的规则区域的网格划分转变到我们想要的网格划分的几何区域上。以正方形为例,如上图1所示,中间是一个已经被划分好的平面正方形区域,弯曲后,就变成了我们所需要的二维图形(箭头所示),此时就自然形成了这个弯曲平面图形的网格划分,原来正方形区域的正方形网格元素就变成了弯曲后的四边形网格元素,不再是正方形元素了。我们也可以用同样的方式解释图1中的三角形和五边形区域的转变。正是因为结构化划分的上述特点,才使得所有被结构划分的区域中的网格分布都尽可能的趋于对称。图2是一个规则的五边形中凹区域,保持其它边的种子不变,减少位于最内层的高弧度边上的种子数目(图3所示),然后用结构化划分方法重新划分,得出的结果如图4,我们从图中可以看出,位于网格线(任选一条,用红色标记)内部的结点(用实心小圆球标记)已经不在五边形区域之中了,而是游离于其外。而位于网格线边界的结点则仍然属于这个五边形区域。
图3 图4
上述情况可以通过下列方法解决:①改变网格的种子,重新进行网格划分。对于上例就要将图4中的高弧度边上的种子数增加到图2的情形。②将模型划分成更小的且更规则的区域。下图就将模型划分成三个规则的区域。
④ 可以选择不同的网格划分方法。这种方法最适合二维模型区域,可以将原来的结构化划分方法转变为自由网格划分方法,而且在网格中仍然可以保留四边形元素。三维模型自由网格划分限于四面体元素。将上述模型转化成自由网格划分的效果图如下:
上图中的网格是不对称的,是典型的自由网格划分。
上面我们对结构化网格划分有了初步的了解,接下来我们分别讲述二维和三维结构化网格划分。
㈠二维结构化网格划分
具有以下特征的二维区域才可以进行结构化网格划分:
① 区域内没有孔洞,孤立的边,或者是孤立的点。
② 模型区域有三到五条逻辑边(我们可以把近乎直线的两条边看作是一条逻辑边,如下图所示)组成,每条边之间相互连接。
(如红线所示的两条边均可以看作是一条逻辑边)
一般来讲,在三种划分方法中,结构化划分方法能够最好的对CAE所产生的网格进行控制。如果你想用完全四边形元素对一个四条边区域进行网格划分,那么网格单元的边在边界上必须分布均匀。对于三边形或五边形区域,限制条件将会更加复杂。当使用结构化划分时,系统会考虑种子分布(所谓的种子分布是指种子的空间排布,与种子的数量无关。比如说,种子分布关心的是种子到底是沿着一条边均匀的排列还是在这条边的末端更加集中一些).不过,在两个区域过渡的地方网格必须协调,比如说,两个相邻的区域分别用的是结构化和自由网格划分,那么系统就可能调节网格区域的结点以使得过渡区域的网格划分协调,正因为如此,可能使得实际的元素结点不相互匹配。
当你用结构化主导四边形元素划分一个四边形区域时,系统会插入一个单独的三角形,由此产生的网格很好的与种子相匹配,如下图所示:
然而,当你用结构化主导四边形元素划分三边或五边形区域时,系统将不会插入任何三角形,由此产生的网格使用的是完全四边形元素;而且网格也可能与种子不匹配。如果两条边所成的角度很小的话,系统会自动将这两条边看作成一条逻辑边.因此,对于一个五边形区域而言,将会应用一个四边形的网格划分模式。如下所示:
如果你想用结构化四边形元素对一个区域进行网格划分,那么这个区域必须要有比较规则的形状,否则系统将会生成一个无效的网格。下图即为所展示的无效的网格。
如果发生上图这种网格中包含无效的元素,我们可以用三种方法去纠正①调整网格种子的位置②利用Redefine the region corners命令③将区域分割为更小且形状更规则的区域。运用这三种方法所得的结果如下图所示:
㈡三维结构化网格划分
下图显示了能够直接用结构化网格划分方法划分的简单三维图形。
如果要使用这种方法划分更复杂的区域,可能需要进行人工分割。如果不进行分割,你唯一的选择可能就是自由网格划分。
如果要想成功的使用结构化网格划分方法划分一个三维区域,必须具备下面的特征。
① 区域内不能够有任何孔洞,孤立的面,孤立的边或者是孤立的顶点。如下所示:
对于孔洞问题,你可以通过对孔洞进行分割来达到消除孔洞的目的。例如,下图中的四次分割将一个具有孔洞的区域转变成了四个不包含孔洞的区域。下图所示:
②面和边上的弧度值应该小于90度,或者至少应该避免面和边上的凹面或凹度的出现。下图就是将一个180度的凹面分割成了两个90度的凹面。
② 三维物体的所有的面必须要保证可以用二维结构化网格划分方法划分。例如,下图所示模型的两个半圆形末端在分割前各有两条边(注意:结构化网格划分方法只适用于具有三条或三条以上边的面),如果将这个模型分成两半,那么末端的两个半圆就被分解成了四个具有三条边的面。
③要保证区域的每个顶点有三条边汇合才可以使用结构化网格划分方法。例如,下图所示,棱锥分割前顶点处有四条边交汇,如果将这个棱锥分割成两个四面体,那么每个四面体的顶点处仅仅就有三条边连接,就可以进行结构化划分了。如下图:
④三维区域必须有至少四个面(例如四面体区域).如果一个区域少于四个面,你就应该分割这个区域以产生更多的面。
⑤面之间所成的角要尽可能的接近90度;如果面之间的角大于150度,那么就应该对它进行分割。
⑥构成区域的面必须符合以下要求:(在英文中,side指大面,face指大面中包含的小面).
第一:如果三维区域不是立方体的话,side只能对应于一个face;也就是说,side不能够包含多个face。
第二:如果三维区域是一个立方体,side就可以由多个相同几何形状的face所组成。然而,其中的每个face必须有四条边。除此以外,face必须满足这样一种要求,即当立方体被网格划分的时候,要保证沿着face的立方体元素呈现出规则的网格形状。如下图,图1就是一个符合要求的face模式,而图2则不符合要求。
(图1)
(由图1生成的网格)
上图使用结构化网格划分立方体所生成的网格,结果生成了规则的网格模式,在被划分的side上,行和列的结点排列很连贯。
而下图则是一个不符合要求的face模式。
(图2)
(由图2所生成的网格)
图2左不可以使用结构化网格划分方法,因为每个face仅仅有三条边。图2右虽然每个face都有四条边,但是在被分割的side中所生成的网格元素不规则,所以也不宜使用结构化网格划分。
Technique:③Sweep:扫描式网格划分。这种类型的网格划分一般用于划分复杂的挤压件或者是旋转体。这种网格划分大概分为两步:首先,系统在区域的一个面上生成网格,这个面叫做起始面。然后,系统自动拷贝这个面网格上的结点,一次前进一个元素层,直到达到最后一个面,即目标面为止。由于系统可以沿着连接起始边和目标边的直边拷贝生成网格,所以这种方法叫做扩展式扫描网格划分。另外,系统还可以沿着连接起始边和目标边的圆弧边拷贝生成网格,这种方法叫做旋转式扫描网格划分。下图显示了一个扩展式扫描网格划分。系统首先在起始面上生成了一个二维网格,然后沿着直边逐层(每层为一个单位网格)拷贝二维网格的每个结点,直到到达目标边为止。
为了确定一个区域是否可以使用扫描式网格划分,首先要检测这个区域是否可以沿着从起始边到目标边的直边或圆弧边进行复制,这叫做扫描路径。扫描路径必须是直边或圆弧边;不可以是任意曲线,系统自动选择最复杂的面(例如包含了独立的或独立的点的面)作为起始面。你不可以自己选择起始面和目标面。只能选择扫描路径。
以上我们对扫描式网格划分方式有了初步的了解,下面我们具体介绍一下如何应用:
① Swept meshing of surfaces:面扫描式网格划分。
在这种划分方式中,系统通过从起始面(此时仅为一条边)开始复制,沿着一个直边、曲边或者圆弧边直到到达目标面的
展开阅读全文