第十一章 编号控制和单元重排序
11.1 编号控制
本章中叙述的命令和GUI途径用于关键点、线、面、体、单元、节点、单元类型、实常数组、材料、耦合自由度集、约束方程和坐标系的编号控制。这种编号控制对于将模型的各个独立部分组合起来是相当有用和必要的。
注意:布尔运行输出图元的编号并非可以完全预估。在不同的计算机系统中,执行同样的布尔运算,其生成的编号有时也会不一样。在一种计算机里交互生成的输入流文件移到另一种计算机里去重新运行时,应该使用选择逻辑来标识所需的图元,避免在命令流里使用图元编号。
11.1.1 合并重复项
如果二个独立的图元,有相同的位置,可用下列方法将这两个图元合并成一个图元:
命令:NUMMRG
GUI: Main Menu>Preprocessor>Numbering Ctrls>Merge Items
注意NUMMRG命令或其相应的GUI途径的使用并不引起模型外形尺寸的改变,只影响其拓扑结构。
例如,假定有两独立但重合的节点,如果用命令NUMMRGNODE(或相应的GUI途径)合并节点,编号大的节点将被删除,并由编号小的重复节点代替,因此两重合节点将替代为一个节点。
如果连接二个已经划分好网格的区域,需要执行三次单独的合并操作。例如,用命令输入方法,首先执行命令〔NUMMRGNODE〕合并节点,然后执行命令〔NUMMRGELEM〕合并单元,最后执行命令〔NUMMRGKP〕合并所有的实体模型图元。(或仅用NUMMRGALL按适当顺序合并所有选定的重合项。NUMMRGALL还会合并诸如MAT、CE等非几何项)。
当合并模型中已划分网格的图元时,按何种顺序执行多个NUMMRG命令是很重要的。如果想合并两相邻有重合节点和关键点的已划分网格的相邻区域,总是在合并关键点[NUMMR
GKP](上述)之前合并节点(NUMMRGNODE)。在节点之前合并关键点可以导致有些节点变成“孤立点”;即节点失去与实体模型的相关性。孤立点会引起有些操作失败(诸如边界条件的传递,表面载荷的传递等等)。
许多实体建模操作生成重合关键点、线和面,可用NUMMRGKP(或相应的GUI途径)合并这种重合项。关键点的位置是合并的基础。一旦合并了重复关键点,任何与关键点相连的其它高级实体图元(线、面和体)将自动进行合并。重复的定义将随所用公差而改变。缺省地,关键点之间的距离在下列准则内,将自动进行线上关键点的合并:
1、相距IE-4单位(见图缺省合并公差)。
2、为关键点间最长距离的1E-5倍。
准则1是用NUMMRG描述条件公差域(TOLER)。TOLER是条件公差。如果一关键点在另一关键点的条件公差域内,则这两关键点将被合并。如果当移动编号较高的关键点时,距离如果超过实体模型内部相对公差(准则2),关键点将不被合并。线、面和体将以同样方式合并。准则2描述了缺省的实体模型内部相对公差,此公差设计用来防止由合并操作删除模型中的短线。只有两个准则都得到满足才能合并关键点。
图11─1 缺省的合并公差
内部相对公差(准则2)可由NUMMRG命令定义的实体模型总体公差(GTOLER)选项所取代。GTOLER是一个总体、绝对的公差,而不是相对公差。如果使用了GTOLER,不再考虑与关键点相连的线的尺寸,可以相当容易地通过使用一较大的GTOLER值而使模型改变。在想合并时尤其是用GTOLER选项时应当保存数据库。
下列为对应图11-2,说明在合并图元中NUMMRG命令的使用:
sort命令排序PCIRC,... ! Create a partial circle
RECTNG,... ! Create a rectangle
NUMMRG,KP ! Default merge tolerances used
对有重复关键点的模型,使用NUMMRG操作可能比AGLUE(菜单途径Main Menu>Preprocessor>Operate>Glue>Areas)命令更经济(即更快)。
图11─2 应用NUMMRG的例子
如果合并非常邻近的关键点,则连接这些关键点的短线也将同时被删除。如果关键点超过合并的范围,可用LCOMB命令(菜单途径Main Menu>Preprocessor>Operate> Add>Lines)删去这些短线。LCOMB命令生成一条连续(但不一定光滑)的线。如合并的线有转折点,则不能用作拖拉的路径〔ADRAGVDRAG〕,也不能用于任何布尔运算。
11.1.2 编号压缩
在构造模型时,由于删除、清除、合并或其它操作可能在编号中生成许多的空号。这些空号对于某些项(如单元号)可能仍为空的,但对于其它的项(如关键点)则可能变为非空。为保存数据存储空间(删除空号)和保持期望的编号顺序(强迫新生成的项,其编号大于已存在项的编号。)可用下列方法压缩编号,删除编号间的空隙:
命令:NUMCMP
GUI: Main Menu>Preprocessor>Numbering Ctrls>Compress Numbers
对已选组(单元、关键点等)项或所有有效的项(用NUMCMPALL)可有选择地重新执行编号压缩操作。
以下为应用NUMCMP命令的例子:
VMESH,...
VCLEAR,... ! Node and element numbers will not be reused.
...
! Change meshing controls, element attributes, etc.
...
VMESH,... ! Node and element numbering will contain "gaps"
NUMCMP,NODE ! Optional step-NUMCMP can free up some computer memory
NUMCMP,ELEM ! by eliminating gaps in numbering sequences.
参见《ANSYS Commands Reference》中关于NUMCMP命令的叙述。
11.1.3 设置起始编号
在生成新的自动编号项时,用户可能想使新生成的系列项的起始编号大于已有项所用的最大编号。这样做能保证新生成图元的连续编号,不占用已有编号序列中的空号。这样做的另一个理由是在生成模型的某个区域时可与其它区域保持独立,避免了将这些区域连接到一起时编号的冲突。可用下列方法指定起始编号:
命令:NUMSTR
GUI: Main Menu>Preprocessor>Numbering Ctrls>Set Start Number
如果用命令输入,则必须对每一组(节点、单元、关键点等)项执行此命令。
下列说明了命令输入方法的应用:
! Create one portion of model:
...
...
! Create a separate, distinctly-numbered portion of your model:
NUMSTR,KP,100
NUMSTR,LINE,100
NUMSTR,AREA,100
NUMSTR,VOLU,100
详细内容,参见《ANSYS Commands Reference》中NUMSTR命令的叙述。
11.1.4 编号偏差
在连接模型中二个独立的区域时,为避免编号冲突,可对当前已选取项的编号加一个偏差值来重新编号。可用下列方法:
命令:NUMOFF
GUI: Main Menu>Preprocessor>Numbering Ctrls>Add Num Offset
必须对待重新编号的每一组(节点、单元、关键点等)项重新执行此命令。
CDWRITE命令(菜单途径Main Menu>Preprocessor>Archive Model>Write)将所有已选取的有限元模型数据写成一个编码文件,执行该命令时会自动在文件的开始处写上一串NUMOFF命令以保证在读取该文件时与已存在的数据相互分离。可用NUMCMP命令将由NUMOFF命令产生的编号间隙去掉。
在PREP7中,可用将实体模型数据(IGES格式)写到一个编码文件中去,也可以将由外部生成的IGES文件的实体模型数据转到ANSYS数据库中去。
·用下列方法将实体模型数据写到一个文件:
命令:IGESOUT
GUI: Utility Menu>File>Export
·用下列方法将一个文件的IGES数据转成ANSYS PREP7数据:
命令:IGESIN
GUI: Utility Menu>File>Import
IGESIN命令(或GUI途径)生成的新的实体模型图元(在AUX15处理器中)会自动进行编号以避免与数据库中已有的其它实体模型图元编号发生冲突。读一个IGES文件到一空的ANSYS数据库时,编号并不一定从1开始,这是由于在传送过程中可能生成中间图元(后被删去)所致。参见§6中有关IGES接口的信息。
11.2 单元重排序
在直接波前求解开始之前,ANSYS程序会自动对单元重新排序以减少最大波前数。这种操作对前后处理程序中数据库中的单元编号无影响。可以预见绝大多数用户都会允许程序自动对单元重新排序。如果不需要程序自动执行重新排序,可用下列方法重新建立原单元的排序:
命令:NOORDER
GUI: Main Menu>Preprocessor>Numbering Ctrls>Element Reorder>Reset Elem Order
希望人为控制单元排序的用户,可用下列方法在PREP7中开始重新排序。(如果进行了这些操作,ANSYS程序则不会用自动排序功能取代人工控制排序)。
·用下列方法按几何性质开始对单元重新排序:
命令:WSORT
GUI: Main Menu>Preprocessor>Numbering Ctrls>Element Reorder> Reorder by XYZ
·用下列方法定义一初始波表:
命令:WSTART
GUI: Main Menu>Preprocessor>Numbering Ctrls>Element Reorder> Define Wave List
·用下列方法将更多的节点加进初始波表:
命令:WMORE
GUI: Main Menu>Preprocessor>Numbering Ctrls>Element Reorder> Extend Wave List
·用下列方法清除所有重排序波表:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。