注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

ANSYS 入门教程 (25) - 网格划分高级技术 (a)  

2010-08-16 06:32:05|  分类: ANSYS 入门基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

3.3  网格划分高级技术

    前面介绍了基本的网格划分技术,对于自由网格划分一般不必刻意设置便可对几何模型划分网格。但对于映射网格划分和体扫掠网格划分则必须满足一定的条件,甚至刻意设置才能得到满意的网格。
    自由网格划分时,对于 area 可全部采用四边形单元、全部用三角形单元、或者是二者的混合单元;对体一般为四面体单元,金字塔单元作为过渡也可使用。但是,映射网格划分则只能全部用四边形单元、或全部用三角形面单元、或全部用六面体单元。
    如前所述 SMRTSIZE 设置和硬点不支持映射网格划分。

一、面映射网格划分

1. 面映射网格划分的条件
    ⑴   必须是 3 条或 4 条边组成的面,允许连接线或合并线;
    ⑵   面的对边必须划分为相同数目的单元,或与过渡网格的划分相匹配;
    ⑶   该面如仅有 3 条边,则划分的单元必须为偶数且各边单元数相等;
    同时要注意下面几个问题:
    ⑴   必须设置映射网格划分(MSHKEY,1)。根据 MSHAPE 的设置,划分结果全是四边形或全是三角形单元的映射网格。
    ⑵   如果生成三角形映射网格,还可用 MSHPATTERN 命令设置三角形网格的模式。
    ⑶   如果一个面多于 4 条边,则不能使用映射网格划分。但可合并线和连接线使总线数减少到 4 条,从而实现映射网格划分。该方法多数情况下不如将复杂的面切分(ASBW 等命令)为边数不大于 4 条的多个面,因为这种方法更加方便和快捷。
    ⑷   使用连接线的替代方法是用 AMAP 命令,该命令直接拾取 3 个或 4 个角点进行面的映射网格划分,其实质是内部连接两关键点间的所有线。

2.   连接线和合并线
    为满足映射网格划分的条件 ⑴,可将部分线合并(LCOMB)或连接(LCCAT)以减少线的条数。LCOMB 命令优于 LCCAT 命令,因 LOCMB 命令可用于相切或不相切的线,节点也不必产生在线的接头处。连接线和合并线的删除同普通线的删除方法。
    线连接命令:LCCAT, NL1, NL2
    其中 NL1 和 NL2 为拟连接的线编号。NL1 也可为 ALL 、组件名或装配名。但不可以为连接线与其它线再连接。

    示例:

        !  EX3.6  合并线和连接线以进行映射网格划分
        finish  $ /clear  $ /prep7
        et,1,plane82                                                        ! 定义单元类型
        k,1,5  $ k,2,10  $ k,3,11,6  $ k,4,6,15  $ k,5,-1,8  $ k,6,,4       ! 创建关键点
        l,1,2  $ l,2,3  $ l,3,4  $ larc,4,5,3,10  $ l,5,6  $ l,6,1          ! 创建线
        al,all  $ esize,3  $ mshape,0  $ mshkey,1                           ! 创建面、定义单元尺寸和划分类型
        lccat,1,2                                                           ! 将线 1 和 2 连接,生成连接线 7
        lcomb,4,5                                                           ! 将线 4 和 5 合并,生成合并线,其线号为 4
        amesh,all                                                           ! 网格划分

                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客
                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客
 
3.   线网格划分设置的传递
    映射网格划分的条件⑵要求面的对边必须划分为相同数目的单元。不必对所有线设置划分控制,网格划分器会自动将线的划分设置传递到对边上;特别地,对于由三条边组成的面,只需定义一条边的单元划分数目即可。
    ESIZE 等命令设置的单元划分数是对原线的,不能对连接线设置单元划分数,但可对合并线设置单元划分数。
    在划分网格时,网格划分器引用的是合并或连接后线上设置的划分数。合并后的线则需要设置网格划分控制(属于新建线,原来线上设置的划分数与新建线无关),如果不重新设置则采用系统缺省设置(如 DESIZE 的缺省设置);而连接线上的划分数则采用原线划分数之和,且其级别与原级别相同。

4.   简化面映射网格划分 AMAP
    由于上述操作较为复杂,由 AMAP 命令采用指定的关键点作为角点,不需要 MSHKEY 命令参数,自动地进行面的网格划分(全部四边形和全部三角形)。该命令操作前不需要连接线或合并线,而是自动作内部连接并删除,组成面的线并未改变。
    命令:AMAP, AREA, KP1, KP2, KP3, KP4
        AREA - 拟划分的面号。
        KP1,KP2,KP3,KP4 - 指定的角点,3个或4个都可,并可以任意顺序。
    示例:
        finish  $ /clear  $ /prep7
        et,1,plane82                                                        ! 定义单元类型
        k,1,5  $ k,2,10  $ k,3,11,6  $ k,4,6,15  $ k,5,-1,8  $ k,6,,4       ! 创建关键点
        l,1,2  $ l,2,3  $ l,3,4  $ larc,4,5,3,10  $ l,5,6  $ l,6,1          ! 创建线
        al,all  $ esize,3
        mshape,0                                                            ! 设置四边形单元形状
        amap,1,2,5,3,4                                                      ! 直接划分面 1,角点顺序随意输入。
 
5.   过渡四边形映射网格划分
    过渡四边形映射网格只适用于四边形面(有连接或无连接均可),同时应满足下列条件之一:
        ①  两对边网格划分数目之差相等。
        ②  一对边划分数之差等于零,另一对边划分数之差为偶数。当然所定义的单元类型支持四边形单元划分,并且设置 MSHAPE,0,2D 和MSHKEY=1。
                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客
 
    示例:
        !EX3.8A 过渡四边形映射网格
        finish  $ /clear  $ /prep7
        et,1,plane42  $ k,1  $ k,2,10,-1  $ k,3,8,6  $ k,4,1,3  $ a,1,2,3,4
        lesize,1,,,8                                 ! 设置线 1 的划分数为 8
        lesize,3,,,3                                 ! 设置线 3 的划分数为 3,该对边划分数之差为 5
        lesize,4,,,7                                 ! 设置线 4 的划分数为 7
        lesize,2,,,2                                 ! 设置线 2 的划分数为 2,这对边划分数之差为 5
        mshape,0,2d  $ mshkey,1  $ amesh,all
                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客
 
    示例 2:
        !  EX3.8B 过渡四边形映射网格
        finish  $ /clear  $ /prep7
        et,1,plane42  $ k,1  $ k,2,10,-1  $ k,3,8,6  $ k,4,1,3$a,1,2,3,4
        lesize,1,,,11                         ! 设置线 1 的划分数为 11
        lesize,3,,,3                           ! 设置线 3 的划分数为 3,该对边划分数之差为 8(偶数)
        lesize,4,,,2                           ! 设置线 4 的划分数为 2
        lesize,2,,,2                           ! 设置线 2 的划分数为 2,这对边划分数之差为 0
        mshape,0,2d  $ mshkey,1  $ amesh,all         
                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

 

二、体映射网格划分

1.   体映射网格划分的条件
    要将几何体全部划分为六面体单元,必须满足下列条件:
        ⑴  该体的外形为块状(6 个面)、楔形或棱柱(5 个面)、四面体(4 个面);
        ⑵  体的对边必须划分相同数目的单元,或其划分符合过渡网格要求的的划分条件;
        ⑶  如体为棱柱或四面体,则三角形面上的单元数必须为偶数。

2.   连接面和面加运算
    对面进行加运算(AADD 命令)或连接(ACCAT 命令),以减少面数从而达到体映射网格划分的条件。
    连接面时,如果连接面有边界线,线也必须连接在一起,并且必须先连接面,再连接线。但是如果相连接的两个面都由四条
边组成,线的连接操作会自动进行。当删除连接面时并不自动删除相关的连接线,应用 LDELE 命令删除连接线。
    连接面命令:ACCAT, NA1, NA2
    与面的网格划分相同,很多情况下可采用体切分(ASBW 等命令)将体分为多个满足映射网格划分的小体,这样就避开连接面或合并面的操作,实施起来可能更容易些。

3.  过渡六面体映射网格划分
    过渡六面体映射网格划分仅适用于有六个面的体(可有连接面或无连接面),同时也要设置六面体单元形状和映射网格划分类型。
    过渡六面体映射网格划分的条件是每个面都应满足过渡四边形网格划分的条件(两个条件之一)。

    示例:
        !  EX3.9 过渡六面体映射网格划分
        finish  $ /clear  $ /prep7
        et,1,95  $ blc4,,,8,8,8                     ! 定义单元类型,创建六面体
        lesize,all,,,4                              ! 所有线均划分 4 个分段
        lesize,7,,,12                               ! 线7定义 12 个分段
        mshape,0,3d  $ mshkey,1                     ! 单元形状和划分类型定义
        vmesh,all                                   ! 划分网格

                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

 

三、 扫掠生成体网格

    对于 3D 几何体,除采用自由网格划分和映射网格划分外,还可采用“扫掠 (sweep) 网格划分”,体扫掠网格划分就是从源面(如边界面)网格扫掠整个体生成体单元。如果源面网格由四边形网格组成,则扫掠生成的均为六面体单元;如果源面网格由三角形网格组成,则扫掠生成的均为楔形体单元;如果源面网格由四边形和三角形网格组成,则扫掠生成六面体和楔形体单元。
1.   体扫掠器的激活
    命令:VSWEEP, VNUM, SRCA, TRGA, LSMO
        VNUM - 体的编号,还可取 ALL、P 及组件名或装配名。
        SRCA - 源面编号。如果该源面尚未划分网格,则系统自动对其划分网格然后再扫掠。如果不指定 SRCA 则由系统自动确定源面。
        TRGA - 目标面编号,即 SRCA 面的对面。如果不指定该面号,系统自动确定目标面。
        LSMO - 在扫掠时线光滑处理控制参数。如 LSMO=0(缺省)则不进行光滑处理;如 LSMO=1 则进行光滑处理,

2.   体扫掠的基本步骤与条件
    在执行体扫掠之前,应按下述步骤进行操作:
    ⑴  切分体满足扫掠网格划分条件
        如果体的拓扑关系属下述情况则不能进行扫掠网格划分:
        ①  有内腔,即体内存在一个连续封闭的边界;
        ②  源面与目标面不是相对面,即 SRCA 和 TRGA 不是对应的面;
        ③  体内存在不穿过源面和目标面的孔洞,例如平行于此两面的孔洞。
    ⑵ 定义合适的 2D 和 3D 单元类型
        如果对源面进行网格划分,并拟扫掠成六面体单元,则必须定义 2D 和 3D 的单元类型,以能够划分相应的单元。并且 2D 单元和 3D 的单元类型宜相互协调,例如均为二次单元等。
    ⑶  设置扫掠方向的单元数目或单元尺寸
        ① 用 ESIZE 命令设置单元尺寸,此为首选控制网格划分方法;
        ② 用 EXTOPT 命令设置体的侧面线划分数目,可设置间隔比;
        ③ 用 LESIZE 命令设置体的一条或多条侧线的划分数目,也可设置间隔比;
        ④ 在一个或多个侧面或相邻的体内或面上生成映射网格;
        ⑤ 在一条或多条侧边上生成梁单元网格(LMESH 命令);
        ⑥ 激活 SMRTSIZE 命令的设置;
        ⑦ 上述均未设定时,则采用 DESIZE 命令的缺省设置。

    ⑷  定义源面和目标面
    为扫掠网格划分指定源面和目标面。如果不指定源面或目标面,ANSYS 将自动确定源面和目标面,如果自动确定失败,将停止扫掠划分。如果有多个体进行扫掠网格划分,多于一个源面或目标面的设置将被忽略。
    ⑸  对源面、目标面或侧面进行网格划分
    扫掠前面的网格划分不同当然影响到扫掠生成的单元网格。如果不进行任何面的网格划分,系统则自动对其进行面的网格划分,然后再进行扫掠网格划分。
    是否在扫掠前划分网格应考虑以下几个因素:
        ① 如不对面划分网格,则 ANSYS 采用 MSHAPE 命令的设置对面进行网格划分。但使用一个 VSWEEP 命令对所有体进行网格划分时,源面总是划分为四边形单元。
        ② 如果用 KSCON 命令设置源面网格划分,则应对源面先划分网格。
        ③ 如果有硬点存在,且没有划分面网格,则不能进行扫掠网格划分。
        ④ 如果源面和目标面都划分了网格,则其必须是匹配的,否则不能进行扫掠网格划分。源面和目标面的网格不必是映射网格。

    示例:

        !EX3.10 设两孔的长方体的扫掠网格划分
        finish  $ /clear  $ /prep7
        a=10  $ r=2                                        ! 定义两个参数,边长和半径
        et,1,mesh200,6                                     ! 定义 2D 单元类型为 4 节点的 MESH200,未用 PLANE 单元
        et,2,solid45                                        ! 定义 3D 单元类型为 8 节点的 SOLID 单元
        blc4,,,2*a,a,a  $ cyl4,a/2,a/2,r,,,,a               ! 创建长方体和圆柱体1
        wprota,,90  $ cyl4,1.5*a,a/2,r,,,,-a                ! 旋转工作平面,创建圆柱体2
        vsbv,1,2  $ vsbv,4,3                                ! 减去两个圆柱体形成基本模型
        wprota,,,90  $ wpoff,,,a/2  $ vsbw,all              ! 旋转并移动工作平面,切分体
        wpoff,,,a/2  $ vsbw,all  $ wpoff,,,a/2  $ vsbw,all
        wpcsys  $ wpoff,,a/2,a/2  $ vsbw,all
        wprota,,90  $ vsbw,all  $ wpcsys                    ! 将体切分为多个体,以扫掠网格

                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

 

        esize,1                                                  ! 设置基本单元尺寸
        amap,105,15,16,26,63  $ amap,107,16,13,60,26             ! 用AMPA生成四边形网格
        amap,108,13,14,28,60  $ amap,103,15,14,28,63
        lesize,94,,,4  $ lesize,79,,,4                           ! 设置扫掠方向的单元尺寸
        vsel,s,loc,x,0,a  $ vsweep,all                           ! 扫掠创建一部分体的单元网格
        asel,s,loc,y,a  $ asel,r,loc,x,a,2*a                     ! 另一部分体的源面划分用连接线
        lccat,2,45  $ lccat,57,71                                ! 连接所选面的线,便于映射网格划分
        lccat,68,78  $ lccat,65,72
        mshape,0,2d  $ mshkey,1  $ amesh,all                     ! 映射网格划分四个面
        vsel,s,loc,x,a,2*a  $ vsweep,all                         ! 扫掠另一部分体生成单元网格
        allsel  $ /view,1,1,2,3  $ eplot                         ! 改变视图并显示单元

                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

 

3.   体扫掠策略及其注意事项
    如果体扫掠网格划分因单元形状差而失败,可考虑如下对策:
        ①  如果没有指定源面和目标面,则指定之并重新执行扫掠划分;
        ②  交换源面和目标面,并重新执行扫掠划分;
        ③  另选一组完全不同的源面和目标面,并重新执行扫掠划分;
        ④  使用单元形状检查工具。
        ⑤  采用光滑处理,并重新执行扫掠划分;
    同时,在扫掠网格划分中要注意:
        ①  源面和目标面不必平行或平面,可为曲面或组合面等;
        ②  如果源面和目标面的几何形状不同,但拓扑关系相同时仍可扫掠划分网格;
        ③  可用二次面单元扫掠生成线性体单元或二次体单元.
        ④  如果未指定源面和目标面,则忽略 EXTOPT 命令定义的单元尺寸设置。
        ⑤  如果对源面、目标面或侧面进行了网格划分,希望在扫掠之后自动删除这些单元,可采用命令 EXTOPT 设置为 EXTopt,aclear,1。
        ⑥  扫掠网格划分不一定为等截面,但当为变截面时,从一端到另一端为线性变化时扫掠效果较好;如为任意变化的,应注意单元网格质量。
        ⑦  可扫掠零半径轴,即源面和目标面相邻。

4.   其它命令生成体单元及其区别
    与 VSWEEP 命令比较, VROTAT、VEXT、VOFFST、VDRAG 等拉伸命令也可生成类似于扫掠生成的单元网格,但它们是有区别的:
        ① VSWEEP 是在未划分网格的既有体上,通过扫掠产生单元网格;而上述拉伸命令在生产体的同时生成单元网格。
        ② VSWEEP 可在执行前不划分面的网格,而拉伸命令则必须划分网格否则不生成网格。
        ③ 拉伸命令执行前必须设置 ESIZE 命令中的 NDIV 参数。

    例如下面为 VROTAT、VEXT、VOFFST、VDRAG 几个命令生成单元网格。
        !  EX3.11 拉伸类命令生成体单元网格
        finish  $ /clear  $ /prep7
        et,1,82  $ et,2,95                          ! 定义 2D 和 3D 单元类型
        blc4,,,4,4  $ blc4,6,,4,4                   ! 在不同位置创建 4 个面
        blc4,12,,4,4  $ blc4,18,,4,4
        esize,1  $ amesh,all                        ! 定义单元尺寸并划分所有面的单元网格
        esize,,8                                    ! 为下面 4 个命令定义 NDIV
        vrotat,1,,,,,,1,4,90                         ! 旋转面 1,生成体和单元
        vext,2,,,,,10,0.5,0.5                        ! 延伸面 2,生成体和单元
        voffst,3,10                                  ! 偏移面 3,生成体和单元
        vdrag,4,,,,,,35                              ! 拖拉面 4,生成体和单元

                ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

                 ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

                 ANSYS 入门教程 (25) - 网格划分高级技术 - htbbzzg - htbbzzg的博客

  评论这张
 
阅读(4458)| 评论(8)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017