建模与网格划分指南
第九章 直接生成
9.1 什么是直接生成?
直接生成是一种直接定义节点和单元的方法,尽管ANSYS程序提供了许多方便的命令用于节点和单元的拷贝、映像、缩放等操作,但用直接生成法构造模型是实体模型建模法构造同样模型的十倍数据量。
本手册前面讨论的预规划(§2)、坐标系(§3)和工作平面(§4)适用于直接生成也适用于实体建模。
由直接生成法生成的模型严格按节点和单元的顺序定义组集而成,即使节点、单元生成操作可交替进行,单元必须在其节点全部生成后才能定义。
9.2 节点
本节叙述多种直接生成节点的方法,主题包括:
·定义节点
·从已有节点生成另外的节点
·查看和删除节点
·移动节点
·旋转节点的坐标系
·读、写包含节点数据的文本文件
9.2.1 定义节点
利用下列方法定义节点:
·在激活的坐标里定义单个节点,用下列方法:
命令:N
GUI: Main Menu>Preprocessor>Create>Nodes>In Active CS
Main Menu>Preprocessor>Create>Nodes>On Working Plane
如果利用ANSYS交互功能,可定义一个工作平面的捕捉增量在图上通过拾取〔N,P〕生成节点。(关于工作平面可参见§4)。
·在已有关键处定义节点,用下列方法:
命令:NKPT
GUI: Main Menu>Preprocessor>Create>Nodes>On Keypoint
·移动一个节点到坐标系平面的一个交点,用下列方法:
命令:MOVE
GUI: Main Menu>Preprocessor>Move / Modify>To Intersect
9.2.2 从已有节点生成另外的节点
一旦生成了初始模式的节点,可用下列方法生成另外的节点:
·在已有两节点间的连线上生成节点,用下列方法:
命令:FILL
GUI: Main Menu>Preprocessor>-Modeling->Create>Nodes>
Fill between Nds
·从一种模式的节点生成另外的节点,用下列方法:
命令:NGEN
GUI: Main Menu>Preprocessor>-Modeling->Copy>-Nodes->Copy
·从一种模式的节点生成缩放的节点集,用下列方法:
命令:NSCALE
GUI: Main Menu>Preprocessor>Copy>Scale & Copy
Main Menu>Preprocessor>Move / Modify>Scale & Move
Main Menu>Preprocessor>Operate>Scale>Scale & Copy
Main Menu>Preprocessor>Operate>Scale>Scale & Move
·从三节点的二次线上生成节点,用下列方法:
命令:QUAD
GUI: Main Menu>Preprocessor>-Modeling->Create>Nodes>Quadratic Fill
·生成一映像节点集,用下列方法:
命令:NSYM
GUI: Main Menu>Preprocessor>-Modeling->Reflect>Nodes
·将一种模式的节点转换到另一个坐标系,用下列方法:
命令:TRANSFER
GUI:Main Menu>Preprocessor>Move / Modify>Transfer Coord>Nodes
·在弧线的曲率中心定义一个节点,用下列方法:
命令:CENTER
GUI: Main Menu>Preprocessor>Create>Nodes>At Curvature Ctr
如果在弧的曲率中心定义了一个局部柱坐标系〔CS〕,可用FILL命令Main Menu>Preprocessor> Create>Nodes>Fill between Nds在孤线上生成另外的节点。如果给定了曲率半径,在节点NODE1、NODE2、NODE3确定的平面上,沿NODE1─NODE2的中垂线方向中可自动计算其曲线中心。
9.2.3 查看和删除节点
利用下列方法查看和删除节点:
·对节点列表,用下列方法:
命令:NLIST
GUI: Utility Menu>List>Nodes
Utility Menu>List>Picked Entities>Nodes
·显示节点用下列方法:
命令:NPLOT
GUI: Utility Menu>Plot>Nodes
如已用/PNUM命令(菜单途径Utility Menu>Plot>Elements)激活了节点号显示,用EPLOT命令(菜单途径Utility Menu>PlotCtrls>Numbering)画单元时将标出节点号。
·用下列方法删除节点:
命令:NDELE
GUI: Main Menu>Preprocessor>Delete>Nodes
注意:删除节点也将删除包括节点在内的任何边界条件(如位移、力等)及任何耦合或约束方程。
9.2.4 移动节点
用下列方法移动节点:
·用N命令(或其它任何生成节点的命令)通过屏蔽重新定义一节点。
·修改一个(或所有)已定义节点的坐标(即将一个节点移动到一个新位置),用下列方法:
命令:NMODIF
GUI: Main Menu>Preprocessor>Create>Nodes>By Angles
Main Menu>Preprocessor>Move / Modify>By Angles
Main Menu>Preprocessor>Move / Modify>Set of Nodes
Main Menu>Preprocessor>Move / Modify>Single Node
9.2.5 计算节点间的距离
计算两节点间的距离:
命令:NDIST
GUI: Main Menu>Preprocessor>-Modeling-Check Geom>ND distances
9.2.6 旋转节点坐标系
用下列方法旋转节点的坐标系(缺省地与总体笛卡尔坐标系平行):
·将节点坐标系旋转到激活的坐标系,用下列方法:
命令:NROTAT
GUI: Main Menu>Preprocessor>Create>Nodes>-Rotate Node CS->
To Active CS
Main Menu>Preprocessor>Move / Modify>-Rotate Node CS->
To Active CS
·通过方向余弦旋转节点坐标系,用下列方法:
命令:NANG
GUI: Main Menu>Preprocessor>Create>Nodes>By Vectors
Main Menu>Preprocessor>Move / Modify>By Vectors
·用N或NMODIF命令(本章前面叙述的)按一定角度旋转节点坐标系。
关于节点坐标系参见§3。
9.2.7 读、写包含节点数据的文本文件
可以读入包含节点数据的文本文件。此功能对输入从另一个网格生成器、一个CAD/CAM程序或另一个ANSYS对话生成的ASCII节点数据有用处。还可以将这样一个ASCII文件写输出到另一程序(必须能读这个ANSYS文件)或另一个ANSYS对话中去。对于标准的ANSYS模型生成对话不需要读写节点数据。
·指定从一节点文件读入节点数据用下列方法:
命令:NRRANG
GUI: Main Menu>Preprocessor>Create>Nodes>Read Node File
·从一文件读入节点,用下列方法:
命令:NREAD
GUI: Main Menu>Preprocessor>Create>Nodes>Read Node File
·将节点写到一文件,用下列命令:
命令:NWRITE
GUI: Main Menu>Preprocessor>Create>Nodes>Write Node File
9.3 单元
本节叙述多种直接生成单元的方法。主题包括:
·定义单元的前提条件
·组集单元表
·指向单元表的项
·查看单元表的内容
·定义单元
·查看和删除单元
·从已有单元生成另外的单元
·利用特殊方法生成单元
·读写包含单元数据的文本文件
·通过改变节点修改单元
·通过改变单元属性修改单元
9.3.1 定义单元属性的前提条件
定义一个单元之前需要做两件事:
1、必须已定义该单元所需的最少节点。
2、必须已指定合适的单元属性
9.3.1.1 组集单元表
用下列方法和不同的坐标系命令组集单元属性表。关于生成单元属性表的详细内容参见§7。
·从单元库中定义一种单元类型,用下列方法:
命令:ET
GUI: Main Menu>Preprocessor>Element Type>Add/Edit/Delete
·定义单元实常数用下列方法:
命令:R
GUI: Main Menu>Preprocessor>Real Constants
·定义线性材料属性用下列方法:
命令:MP, MPDATA, MPTEMP, etc.
GUI: Main Menu>Preprocessor>Material Props>option
·激活一个数据表(对非线性材料属性)用下列方法:
命令:TB, TBDATA, etc.
GUI: Main Menu>Preprocessor>Material Props>Data Tables>option
Main Menu>Preprocessor>Material Props>Mooney-Rivlin>option
9.3.1.2 指向单元表中的项
一旦生成了单元属性表,可以指向单元表中的不同项。这些指针在生成单元时有效,ANSYS程序把表中的属性赋给单元。
设置单元类型指针〔TYPE〕、单元实常数设置属性指针〔REAL〕、单元材料属性指针〔MAT〕或单元坐标系属性指针〔ESYS〕,可用下列方法(这四个命令的GUI途径相同):
命令:TYPE、REAL、MAI或ESYS
GUI:Main Menu > Preprocessor >-Modeling-Operate>Extrude/Sweep> Default Attribs
Main Menu>Preprocessor>Create>Elements>Elem Attributes
属性表的示意图参见§7中的图7-2。
9.3.1.3 查看单元表的内容
通过下列方法查看单元表的内容:
·对当前已定义单元类型的列表用下列方法:
命令:ETLIST
GUI: Utility Menu>List>Properties>Element Types
·用下列方法列表实常数的设置:
命令:RLIST
GUI: Utility Menu>List>Properties>All Real Constants
Utility Menu>List>Properties>Specified Real Constants
·用下列方法列表线性材料属性:
命令:MPLIST
GUI: Main Menu>Preprocessor>Material Props>List
Utility Menu>List>Properties>All Materials
Utility Menu>List>Properties>All Matls, All Temps
Utility Menu>List>Properties>All Matls, Specified Temp
Utility Menu>List>Properties>Specified Matl, All Temps
·用下列方法列表数据表:
命令:TBLIST
GUI: Main Menu>Preprocessor>Material Props>Data Tables>List
Utility Menu>List>Properties>Data Tables
·用下列方法列表坐标系:
命令:CSLIST
GUI: Utility Menu>List>Other>Local Coord Sys
9.3.2 定义单元
一旦定义了必要的节点并设置了单元属性,就可以定义单元了。利用下列方法,可通过确定其节点定义单元,必须输入的节点数和节点输入顺序由单元类型决定。例如,二维梁单元BEAM3要求二个节点(I,J),三维块单元SOLID45要求8个节点(第一个面I、J、K、L节点,对面M、N、O、P节点)。节点输入顺序决定了单元法向方向。详见§8中§8.4。用下列方法定义单元:
命令:E
GUI: Main Menu>Preprocessor>Create>Elements>-Auto Numbered
-Thru Nodes
Main Menu>Preprocessor>Create>Elements>-User Numbered
-Thru Nodes
如果交互进行工作,可用上面GUI途径在图上拾取(节点)生成单元。
如果用命令输入,只有8节点可用E命令输入。对于需要超过8节点的单元类型,用EMORE命令定义另外的节点。例如,三维20节点块单元SOLID95,除E命令外还需要两个EMORE命令。(如果在图上拾取节点生成单元EMORE命令是不需要的。)
9.3.3 查看和删除单元
用下列方法操作单元:
·用下列方法对单元列表:
命令:ELIST
GUI: Utility Menu>List>Elements
Utility Menu>List>Picked Entities>Elements
·用下列方法显示单元
命令:EPLOT
GUI : Utility Menu>Plot>Elements
如果用/PNUM命令(菜单途径Utility Menu>PlotCtrls>Numbering)打开单元号显示,在EPLOT命令显示单元时将显示单元号。多数情况下,程序会自动分配单元号,使用下一个未用的号码。(第一个E命令定义单元号1,第二个命令定义单元号2,依次类推)。
·用下列方法删除单元:
命令:EDELE
GUI: Main Menu>Preprocessor>Delete>Elements
删除单元会在单元号序列中产生空白。尽管形成的空白编号是在单元编号序列的末尾,自动编号程序将不使用这些空白号码。(如果定义了10个单元,然后将其全部删去,下一个E命令会定义单元号11,编号1─10将保持空白。)可以通过编号控制命令(见§11)或通过EN命令(菜单途径Main Menu>Preprocessor>Create>Elements)控制单元编号,将使用户能直接定义单元编号。
9.3.4 从已有单元生成另外的单元
一旦定义了基本的单元,就可以用下列方法生成另外的单元:
·从已有模式的单元生成单元,用下列方法:
命令:EGEN
GUI: Main Menu>Preprocessor>Copy>Auto Numbered
·从已有模式的单元通过对称映像生成单元,用下列方法:
命令:ESYM
GUI: Main Menu>Preprocessor>Reflect>Auto Numbered
·从已有模式单元(手工控制编号)生成单元,用下列方法:
命令:ENGEN
GUI: Main Menu>Preprocessor>Copy>User Numbered
·用对称映像(手工控制编号)生成单元,用下列方法:
命令:ENSYM
GUI: Main Menu>Preprocessor>Reflect>User Numbered
这些命令并不生成节点,必须事先生成必要的节点。而且,生成单元属性(MAT、TYPE、REAL和ESYS)依赖于原来模式的单元属性而不依赖于当前指定的设置。
9.3.5 用特殊方法生成单元
有些特殊的单元可用下列特殊方法生成:
·在已生成单元外表面上生成表面单元用下列方法:
命令:ESURF
GUI: Main Menu>Preprocessor>-Modeling-Create>Elements>-On Contct Surf-option
在某些热分析中,可用ESURF,XNODE命令生成带有任选节点的SRUF151或SURF152单元。
·要在已有面单元的边上生成重叠的表面单元并分配额外的节点作为最近的流体单元节点,用下列方法:
命令:LFSURF
GUI: Main Menu>Preprocessor>Create>Elements>Surface Effect>
Line to Fluid
在某些热分析中,用LFSURF命令生成带有任选节点的SURF151单元。
·要在已有实体单元的表面上生成重叠的表面单元并分配额外的节点作为最近的流体单元节点,用下列方法:
命令:AFSURF
GUI: Main Menu>Preprocessor>Create>Elements>Surface Effect>
Area to Fluid
在某些热分析中,可用AFSURF命令生成带有可选节点的SURF152单元。
·当模型是由直接生成方法装配的,可以直接在已有单元的表面叠加生成表面单元并分配另外的节点作为最近流体单元的节点。用下列方法实现:
命令 : NDSURF
GUI:MainMenu>Preprocessor>-Modeling-Create>Elements>-Surf/Contact-Surface Effect>-Attach to Fluid-Node to Fluid
在有些热分析中用NDSURF生成可选择节点的SURF151或SURF152单元。
·按下列方法用二维线单元(诸如间隙单元)连接重合的节点:
命令:EINTF
GUI: Main Menu>Preprocessor>Create>Elements>At Coincid Nd
·下列方法生成一般的接触单元(参见ANSYS结构分析指南中的接触)
命令:GCGEN
GUI: Main Menu>Preprocessor>Create>Elements>At ContactSrf
9.3.6 读写包含单元数据的文本文件
可以读或写一个包含单元数据的文本文件。这些命令用于和其它程序(或另一个ANSYS对话)交换数据。在标准的ANSYS模型生成中,不需要这些命令。
·用下列方法指定从一单元文件中读入单元:
命令:ERRANG
GUI: Main Menu>Preprocessor>Create>Elements>Read Elem File
·用下列方法从一文件中读单元:
命令:EREAD
GUI: Main Menu>Preprocessor>Create>Elements>Read Elem File
·用下列方法将单元数据写到一文件:
命令:EWRITE
GUI: Main Menu>Preprocessor>Create>Elements>Write Elem File
9.3.7 注意重叠单元
如果生成了重叠单元(即有相同节点和相同空间位置的单元)。则ANSYS中诸如图形、加面载荷、选择逻辑等操作可能不会象预期那样,最好避免使用重叠单元,若不能避免的话,无论何时用到重叠单元必须格外小心。
9.3.8 通过改变节点修改单元
用不同节点重新定义单元,可用下列方法,注意将单元属性指针置成正确的值(执行这些命令将当前的单元类型、实常数、材料特性及某些类型单元的单元坐标系赋给修改后的单元)。
·用下列方法修改已定义的单元:
命令:EMODIF
GUI: Main Menu>Preprocessor>Move / Modify>Modify Nodes
·用下列方法通过定义编号和连接的节点重新定义单元:
命令:EN
GUI: Main Menu>Preprocessor>Create>Elements>Thru Nodes
可用本章前面所述的ENGEN和ENSYM命令或GUI途径,重写或修改单元组。
9.3.9通过修改单元属性修改单元
修改已生成单元属性有下述几种方法:
·在前处理PREP7或求解器SOLUTION中用下列方法修改指定单元的材料号:
命令:MPCHG
GUI: Main Menu>Preprocessor>Loads>Other>Change Mat Props>
Change Mat Num
Main Menu>Preprocessor>Material Props>Change Mat Num
Main Menu>Solution>Other>Change Mat Props>Change Mat Num
·在前处理器中EMODIF和*REPEAT命令提供了一种修改单元属性的通用方法。不能直接在GUI中得到*REPEAT命令。EMODIF和*REPEAT命令的使用如下:
E,1,2 ! Element 1
REAL,3 ! REAL set pointer = 3
E,2,3 ! Element 2 (REAL=3)
EGEN,40,1,2 ! Generate 40 elements from el. 2 (all with REAL=3)
EMODIF,5,REAL,4 ! Redefine element 5 with REAL set 4
*REPEAT,18,2 ! Redefine els. 7-39 in steps of 2 (with REAL=4)
参见《ANSYS Commands Reference》中EGEN、EMODIF和* REPEAT命令的叙述。
另外,在单元生成之后进入求解器SOLUTION之前,可改变其单元属性表中的项。如果实常数组或材料特性组中含有未使用的项(如把梁单元的实常数组赋给杆单元),则在屏幕上会出现警告信息。
修改单元属性的另一种方法(是用EDELE命令或菜单途径Main Menu>Preprocessor>Delete>Elements)是删除单元,重新定义属性指针(再用EN命令或菜单途径Main Menu>Preprocessor>Create>Elements>Thru Nodes)重新生成单元。
9.3.10 增加和删除中间节点的注意事项
若需改变单元类型,用带有中间节点的单元代替无中间节点的单元时,可用EMID命令补加中间节点。而且为删除中间节点,必须首先从中间节点单元用EMID,-1命令除去中间节点:
命令:EMID
GUI: Main Menu>Preprocessor>Move / Modify>Add Mid Nodes
Main Menu>Preprocessor>Move / Modify>Remove Mid Nd
当用直接生成方法定义中间节点单元时(即E、EN及类似的命令),中间节点按下列方案生成和排列:
·有些高阶单元允许去除中间节点,对这类单元,当定义高阶单元时中间节点用了0值(或空),相应的中间节点将从单元中去掉。结果单元的形函数中有些或全部二次项被忽略(取决于去掉中间节点号),因此使单元的边仍为直的。极端情况去掉单元的所有中间节点,单元会使用线性形函数,产生的结果与相似的低阶(无中间节点)单元类型的相近。
·当定义了高阶单元,如果所用的中间节点号还未定义(N,NGEN,FILL,NSYM及类似命令),然后该节点会被自动地定义并给定几何位置,这就是计算的各自角点的中点(在笛卡尔坐标系下线性插值)。这种节点的旋转角也是由角节点的旋转角自动地进行线性插值而得到。这样可以方便地生成中间节点单元而不必明确地定义中间节点的几何位置在角点的中间。
注意:这种应用只适用于模型的直接生成方法,ANSYS网格划分控制提供了对已划分网格模型控制中间节点的方法。
9.1 什么是直接生成?
直接生成是一种直接定义节点和单元的方法,尽管ANSYS程序提供了许多方便的命令用于节点和单元的拷贝、映像、缩放等操作,但用直接生成法构造模型是实体模型建模法构造同样模型的十倍数据量。
本手册前面讨论的预规划(§2)、坐标系(§3)和工作平面(§4)适用于直接生成也适用于实体建模。
由直接生成法生成的模型严格按节点和单元的顺序定义组集而成,即使节点、单元生成操作可交替进行,单元必须在其节点全部生成后才能定义。
9.2 节点
本节叙述多种直接生成节点的方法,主题包括:
·定义节点
·从已有节点生成另外的节点
·查看和删除节点
·移动节点
·旋转节点的坐标系
·读、写包含节点数据的文本文件
9.2.1 定义节点
利用下列方法定义节点:
·在激活的坐标里定义单个节点,用下列方法:
命令:N
GUI: Main Menu>Preprocessor>Create>Nodes>In Active CS
Main Menu>Preprocessor>Create>Nodes>On Working Plane
如果利用ANSYS交互功能,可定义一个工作平面的捕捉增量在图上通过拾取〔N,P〕生成节点。(关于工作平面可参见§4)。
·在已有关键处定义节点,用下列方法:
命令:NKPT
GUI: Main Menu>Preprocessor>Create>Nodes>On Keypoint
·移动一个节点到坐标系平面的一个交点,用下列方法:
命令:MOVE
GUI: Main Menu>Preprocessor>Move / Modify>To Intersect
9.2.2 从已有节点生成另外的节点
一旦生成了初始模式的节点,可用下列方法生成另外的节点:
·在已有两节点间的连线上生成节点,用下列方法:
命令:FILL
GUI: Main Menu>Preprocessor>-Modeling->Create>Nodes>
Fill between Nds
·从一种模式的节点生成另外的节点,用下列方法:
命令:NGEN
GUI: Main Menu>Preprocessor>-Modeling->Copy>-Nodes->Copy
·从一种模式的节点生成缩放的节点集,用下列方法:
命令:NSCALE
GUI: Main Menu>Preprocessor>Copy>Scale & Copy
Main Menu>Preprocessor>Move / Modify>Scale & Move
Main Menu>Preprocessor>Operate>Scale>Scale & Copy
Main Menu>Preprocessor>Operate>Scale>Scale & Move
·从三节点的二次线上生成节点,用下列方法:
命令:QUAD
GUI: Main Menu>Preprocessor>-Modeling->Create>Nodes>Quadratic Fill
·生成一映像节点集,用下列方法:
命令:NSYM
GUI: Main Menu>Preprocessor>-Modeling->Reflect>Nodes
·将一种模式的节点转换到另一个坐标系,用下列方法:
命令:TRANSFER
GUI:Main Menu>Preprocessor>Move / Modify>Transfer Coord>Nodes
·在弧线的曲率中心定义一个节点,用下列方法:
命令:CENTER
GUI: Main Menu>Preprocessor>Create>Nodes>At Curvature Ctr
如果在弧的曲率中心定义了一个局部柱坐标系〔CS〕,可用FILL命令Main Menu>Preprocessor> Create>Nodes>Fill between Nds在孤线上生成另外的节点。如果给定了曲率半径,在节点NODE1、NODE2、NODE3确定的平面上,沿NODE1─NODE2的中垂线方向中可自动计算其曲线中心。
9.2.3 查看和删除节点
利用下列方法查看和删除节点:
·对节点列表,用下列方法:
命令:NLIST
GUI: Utility Menu>List>Nodes
Utility Menu>List>Picked Entities>Nodes
·显示节点用下列方法:
命令:NPLOT
GUI: Utility Menu>Plot>Nodes
如已用/PNUM命令(菜单途径Utility Menu>Plot>Elements)激活了节点号显示,用EPLOT命令(菜单途径Utility Menu>PlotCtrls>Numbering)画单元时将标出节点号。
·用下列方法删除节点:
命令:NDELE
GUI: Main Menu>Preprocessor>Delete>Nodes
注意:删除节点也将删除包括节点在内的任何边界条件(如位移、力等)及任何耦合或约束方程。
9.2.4 移动节点
用下列方法移动节点:
·用N命令(或其它任何生成节点的命令)通过屏蔽重新定义一节点。
·修改一个(或所有)已定义节点的坐标(即将一个节点移动到一个新位置),用下列方法:
命令:NMODIF
GUI: Main Menu>Preprocessor>Create>Nodes>By Angles
Main Menu>Preprocessor>Move / Modify>By Angles
Main Menu>Preprocessor>Move / Modify>Set of Nodes
Main Menu>Preprocessor>Move / Modify>Single Node
9.2.5 计算节点间的距离
计算两节点间的距离:
命令:NDIST
GUI: Main Menu>Preprocessor>-Modeling-Check Geom>ND distances
9.2.6 旋转节点坐标系
用下列方法旋转节点的坐标系(缺省地与总体笛卡尔坐标系平行):
·将节点坐标系旋转到激活的坐标系,用下列方法:
命令:NROTAT
GUI: Main Menu>Preprocessor>Create>Nodes>-Rotate Node CS->
To Active CS
Main Menu>Preprocessor>Move / Modify>-Rotate Node CS->
To Active CS
·通过方向余弦旋转节点坐标系,用下列方法:
命令:NANG
GUI: Main Menu>Preprocessor>Create>Nodes>By Vectors
Main Menu>Preprocessor>Move / Modify>By Vectors
·用N或NMODIF命令(本章前面叙述的)按一定角度旋转节点坐标系。
关于节点坐标系参见§3。
9.2.7 读、写包含节点数据的文本文件
可以读入包含节点数据的文本文件。此功能对输入从另一个网格生成器、一个CAD/CAM程序或另一个ANSYS对话生成的ASCII节点数据有用处。还可以将这样一个ASCII文件写输出到另一程序(必须能读这个ANSYS文件)或另一个ANSYS对话中去。对于标准的ANSYS模型生成对话不需要读写节点数据。
·指定从一节点文件读入节点数据用下列方法:
命令:NRRANG
GUI: Main Menu>Preprocessor>Create>Nodes>Read Node File
·从一文件读入节点,用下列方法:
命令:NREAD
GUI: Main Menu>Preprocessor>Create>Nodes>Read Node File
·将节点写到一文件,用下列命令:
命令:NWRITE
GUI: Main Menu>Preprocessor>Create>Nodes>Write Node File
9.3 单元
本节叙述多种直接生成单元的方法。主题包括:
·定义单元的前提条件
·组集单元表
·指向单元表的项
·查看单元表的内容
·定义单元
·查看和删除单元
·从已有单元生成另外的单元
·利用特殊方法生成单元
·读写包含单元数据的文本文件
·通过改变节点修改单元
·通过改变单元属性修改单元
9.3.1 定义单元属性的前提条件
定义一个单元之前需要做两件事:
1、必须已定义该单元所需的最少节点。
2、必须已指定合适的单元属性
9.3.1.1 组集单元表
用下列方法和不同的坐标系命令组集单元属性表。关于生成单元属性表的详细内容参见§7。
·从单元库中定义一种单元类型,用下列方法:
命令:ET
GUI: Main Menu>Preprocessor>Element Type>Add/Edit/Delete
·定义单元实常数用下列方法:
命令:R
GUI: Main Menu>Preprocessor>Real Constants
·定义线性材料属性用下列方法:
命令:MP, MPDATA, MPTEMP, etc.
GUI: Main Menu>Preprocessor>Material Props>option
·激活一个数据表(对非线性材料属性)用下列方法:
命令:TB, TBDATA, etc.
GUI: Main Menu>Preprocessor>Material Props>Data Tables>option
Main Menu>Preprocessor>Material Props>Mooney-Rivlin>option
9.3.1.2 指向单元表中的项
一旦生成了单元属性表,可以指向单元表中的不同项。这些指针在生成单元时有效,ANSYS程序把表中的属性赋给单元。
设置单元类型指针〔TYPE〕、单元实常数设置属性指针〔REAL〕、单元材料属性指针〔MAT〕或单元坐标系属性指针〔ESYS〕,可用下列方法(这四个命令的GUI途径相同):
命令:TYPE、REAL、MAI或ESYS
GUI:Main Menu > Preprocessor >-Modeling-Operate>Extrude/Sweep> Default Attribs
Main Menu>Preprocessor>Create>Elements>Elem Attributes
属性表的示意图参见§7中的图7-2。
9.3.1.3 查看单元表的内容
通过下列方法查看单元表的内容:
·对当前已定义单元类型的列表用下列方法:
命令:ETLIST
GUI: Utility Menu>List>Properties>Element Types
·用下列方法列表实常数的设置:
命令:RLIST
GUI: Utility Menu>List>Properties>All Real Constants
Utility Menu>List>Properties>Specified Real Constants
·用下列方法列表线性材料属性:
命令:MPLIST
GUI: Main Menu>Preprocessor>Material Props>List
Utility Menu>List>Properties>All Materials
Utility Menu>List>Properties>All Matls, All Temps
Utility Menu>List>Properties>All Matls, Specified Temp
Utility Menu>List>Properties>Specified Matl, All Temps
·用下列方法列表数据表:
命令:TBLIST
GUI: Main Menu>Preprocessor>Material Props>Data Tables>List
Utility Menu>List>Properties>Data Tables
·用下列方法列表坐标系:
命令:CSLIST
GUI: Utility Menu>List>Other>Local Coord Sys
9.3.2 定义单元
一旦定义了必要的节点并设置了单元属性,就可以定义单元了。利用下列方法,可通过确定其节点定义单元,必须输入的节点数和节点输入顺序由单元类型决定。例如,二维梁单元BEAM3要求二个节点(I,J),三维块单元SOLID45要求8个节点(第一个面I、J、K、L节点,对面M、N、O、P节点)。节点输入顺序决定了单元法向方向。详见§8中§8.4。用下列方法定义单元:
命令:E
GUI: Main Menu>Preprocessor>Create>Elements>-Auto Numbered
-Thru Nodes
Main Menu>Preprocessor>Create>Elements>-User Numbered
-Thru Nodes
如果交互进行工作,可用上面GUI途径在图上拾取(节点)生成单元。
如果用命令输入,只有8节点可用E命令输入。对于需要超过8节点的单元类型,用EMORE命令定义另外的节点。例如,三维20节点块单元SOLID95,除E命令外还需要两个EMORE命令。(如果在图上拾取节点生成单元EMORE命令是不需要的。)
9.3.3 查看和删除单元
用下列方法操作单元:
·用下列方法对单元列表:
命令:ELIST
GUI: Utility Menu>List>Elements
Utility Menu>List>Picked Entities>Elements
·用下列方法显示单元
命令:EPLOT
GUI : Utility Menu>Plot>Elements
如果用/PNUM命令(菜单途径Utility Menu>PlotCtrls>Numbering)打开单元号显示,在EPLOT命令显示单元时将显示单元号。多数情况下,程序会自动分配单元号,使用下一个未用的号码。(第一个E命令定义单元号1,第二个命令定义单元号2,依次类推)。
·用下列方法删除单元:
命令:EDELE
GUI: Main Menu>Preprocessor>Delete>Elements
删除单元会在单元号序列中产生空白。尽管形成的空白编号是在单元编号序列的末尾,自动编号程序将不使用这些空白号码。(如果定义了10个单元,然后将其全部删去,下一个E命令会定义单元号11,编号1─10将保持空白。)可以通过编号控制命令(见§11)或通过EN命令(菜单途径Main Menu>Preprocessor>Create>Elements)控制单元编号,将使用户能直接定义单元编号。
9.3.4 从已有单元生成另外的单元
一旦定义了基本的单元,就可以用下列方法生成另外的单元:
·从已有模式的单元生成单元,用下列方法:
命令:EGEN
GUI: Main Menu>Preprocessor>Copy>Auto Numbered
·从已有模式的单元通过对称映像生成单元,用下列方法:
命令:ESYM
GUI: Main Menu>Preprocessor>Reflect>Auto Numbered
·从已有模式单元(手工控制编号)生成单元,用下列方法:
命令:ENGEN
GUI: Main Menu>Preprocessor>Copy>User Numbered
·用对称映像(手工控制编号)生成单元,用下列方法:
命令:ENSYM
GUI: Main Menu>Preprocessor>Reflect>User Numbered
这些命令并不生成节点,必须事先生成必要的节点。而且,生成单元属性(MAT、TYPE、REAL和ESYS)依赖于原来模式的单元属性而不依赖于当前指定的设置。
9.3.5 用特殊方法生成单元
有些特殊的单元可用下列特殊方法生成:
·在已生成单元外表面上生成表面单元用下列方法:
命令:ESURF
GUI: Main Menu>Preprocessor>-Modeling-Create>Elements>-On Contct Surf-option
在某些热分析中,可用ESURF,XNODE命令生成带有任选节点的SRUF151或SURF152单元。
·要在已有面单元的边上生成重叠的表面单元并分配额外的节点作为最近的流体单元节点,用下列方法:
命令:LFSURF
GUI: Main Menu>Preprocessor>Create>Elements>Surface Effect>
Line to Fluid
在某些热分析中,用LFSURF命令生成带有任选节点的SURF151单元。
·要在已有实体单元的表面上生成重叠的表面单元并分配额外的节点作为最近的流体单元节点,用下列方法:
命令:AFSURF
GUI: Main Menu>Preprocessor>Create>Elements>Surface Effect>
Area to Fluid
在某些热分析中,可用AFSURF命令生成带有可选节点的SURF152单元。
·当模型是由直接生成方法装配的,可以直接在已有单元的表面叠加生成表面单元并分配另外的节点作为最近流体单元的节点。用下列方法实现:
命令 : NDSURF
GUI:MainMenu>Preprocessor>-Modeling-Create>Elements>-Surf/Contact-Surface Effect>-Attach to Fluid-Node to Fluid
在有些热分析中用NDSURF生成可选择节点的SURF151或SURF152单元。
·按下列方法用二维线单元(诸如间隙单元)连接重合的节点:
命令:EINTF
GUI: Main Menu>Preprocessor>Create>Elements>At Coincid Nd
·下列方法生成一般的接触单元(参见ANSYS结构分析指南中的接触)
命令:GCGEN
GUI: Main Menu>Preprocessor>Create>Elements>At ContactSrf
9.3.6 读写包含单元数据的文本文件
可以读或写一个包含单元数据的文本文件。这些命令用于和其它程序(或另一个ANSYS对话)交换数据。在标准的ANSYS模型生成中,不需要这些命令。
·用下列方法指定从一单元文件中读入单元:
命令:ERRANG
GUI: Main Menu>Preprocessor>Create>Elements>Read Elem File
·用下列方法从一文件中读单元:
命令:EREAD
GUI: Main Menu>Preprocessor>Create>Elements>Read Elem File
·用下列方法将单元数据写到一文件:
命令:EWRITE
GUI: Main Menu>Preprocessor>Create>Elements>Write Elem File
9.3.7 注意重叠单元
如果生成了重叠单元(即有相同节点和相同空间位置的单元)。则ANSYS中诸如图形、加面载荷、选择逻辑等操作可能不会象预期那样,最好避免使用重叠单元,若不能避免的话,无论何时用到重叠单元必须格外小心。
9.3.8 通过改变节点修改单元
用不同节点重新定义单元,可用下列方法,注意将单元属性指针置成正确的值(执行这些命令将当前的单元类型、实常数、材料特性及某些类型单元的单元坐标系赋给修改后的单元)。
·用下列方法修改已定义的单元:
命令:EMODIF
GUI: Main Menu>Preprocessor>Move / Modify>Modify Nodes
·用下列方法通过定义编号和连接的节点重新定义单元:
命令:EN
GUI: Main Menu>Preprocessor>Create>Elements>Thru Nodes
可用本章前面所述的ENGEN和ENSYM命令或GUI途径,重写或修改单元组。
9.3.9通过修改单元属性修改单元
修改已生成单元属性有下述几种方法:
·在前处理PREP7或求解器SOLUTION中用下列方法修改指定单元的材料号:
命令:MPCHG
GUI: Main Menu>Preprocessor>Loads>Other>Change Mat Props>
Change Mat Num
Main Menu>Preprocessor>Material Props>Change Mat Num
Main Menu>Solution>Other>Change Mat Props>Change Mat Num
·在前处理器中EMODIF和*REPEAT命令提供了一种修改单元属性的通用方法。不能直接在GUI中得到*REPEAT命令。EMODIF和*REPEAT命令的使用如下:
E,1,2 ! Element 1
REAL,3 ! REAL set pointer = 3
E,2,3 ! Element 2 (REAL=3)
EGEN,40,1,2 ! Generate 40 elements from el. 2 (all with REAL=3)
EMODIF,5,REAL,4 ! Redefine element 5 with REAL set 4
*REPEAT,18,2 ! Redefine els. 7-39 in steps of 2 (with REAL=4)
参见《ANSYS Commands Reference》中EGEN、EMODIF和* REPEAT命令的叙述。
另外,在单元生成之后进入求解器SOLUTION之前,可改变其单元属性表中的项。如果实常数组或材料特性组中含有未使用的项(如把梁单元的实常数组赋给杆单元),则在屏幕上会出现警告信息。
修改单元属性的另一种方法(是用EDELE命令或菜单途径Main Menu>Preprocessor>Delete>Elements)是删除单元,重新定义属性指针(再用EN命令或菜单途径Main Menu>Preprocessor>Create>Elements>Thru Nodes)重新生成单元。
9.3.10 增加和删除中间节点的注意事项
若需改变单元类型,用带有中间节点的单元代替无中间节点的单元时,可用EMID命令补加中间节点。而且为删除中间节点,必须首先从中间节点单元用EMID,-1命令除去中间节点:
命令:EMID
GUI: Main Menu>Preprocessor>Move / Modify>Add Mid Nodes
Main Menu>Preprocessor>Move / Modify>Remove Mid Nd
当用直接生成方法定义中间节点单元时(即E、EN及类似的命令),中间节点按下列方案生成和排列:
·有些高阶单元允许去除中间节点,对这类单元,当定义高阶单元时中间节点用了0值(或空),相应的中间节点将从单元中去掉。结果单元的形函数中有些或全部二次项被忽略(取决于去掉中间节点号),因此使单元的边仍为直的。极端情况去掉单元的所有中间节点,单元会使用线性形函数,产生的结果与相似的低阶(无中间节点)单元类型的相近。
·当定义了高阶单元,如果所用的中间节点号还未定义(N,NGEN,FILL,NSYM及类似命令),然后该节点会被自动地定义并给定几何位置,这就是计算的各自角点的中点(在笛卡尔坐标系下线性插值)。这种节点的旋转角也是由角节点的旋转角自动地进行线性插值而得到。这样可以方便地生成中间节点单元而不必明确地定义中间节点的几何位置在角点的中间。
注意:这种应用只适用于模型的直接生成方法,ANSYS网格划分控制提供了对已划分网格模型控制中间节点的方法。