R 命令是 ANSYS 参数化设计语言的核心命令之一,它的全称是 "Real Constants",中文意为“实常数”。

R 命令用于定义那些与特定单元类型相关联的、非材料属性的几何或物理参数。
R 命令的核心概念
在有限元分析中,单元的属性可以分为两大类:
- 材料属性:定义材料本身固有的特性,如弹性模量、泊松比、密度、导热系数等,这些属性通常由
MP命令定义。 - 实常数:定义单元的“几何形状”或“特定物理参数”,这些参数与单元类型紧密相关,但又不完全是材料本身,梁的横截面积、壳的厚度、弹簧的刚度、质量的质量等。
一个简单的比喻:
MP命令好比定义你用什么材料做东西(钢材)。R命令则好比定义这个钢材零件的具体尺寸和形状(一根多粗多长的钢筋)。
重要提示: R 命令必须与一个已经定义的单元类型(通过 ET 命令)相关联,你不能在没有先定义单元类型的情况下使用 R 命令。

R 命令的基本语法
R 命令的基本格式如下:
R, SETNUM, VAL1, VAL2, VAL3, ..., VAL8
R:命令关键字。SETNUM:实常数集的编号,这是一个唯一的整数,用于标识这组实常数,后续在定义单元时,通过这个编号来引用这组实常数。VAL1, VAL2, ..., VAL8:实常数的具体数值,需要输入多少个值,取决于你使用的单元类型,你可以在 ANSYS 帮助文档中查到每种单元需要哪些实常数。
更灵活的格式:
R, SETNUM, VAL1, VAL2, VAL3, ..., VAL8, VAL9, VAL10, ..., VAL16
这种格式可以输入多达16个值,适用于一些需要更多参数的单元。
常见应用场景举例
下面通过几个经典的单元类型,来理解 R 命令的具体用途。

示例 1:梁单元
假设我们使用 BEAM188 单元来模拟一根梁。
- 单元类型定义:
ET, 1, BEAM188 - 材料属性定义:
MP, EX, 1, 2.1e11(定义弹性模量) - 实常数定义:BEAM188 单元需要定义梁的横截面积
AREA和惯性矩IYY(以及IZZ,THETA等)。
! 定义实常数集 1,对应梁单元 ! R, 实常数集编号, 横截面积(IYY), 惯性矩(IZZ), 惯性积, 梁的高度, 梁的宽度, 扭转常数, 趐曲常数, 非对称剪切因子 R, 1, 0.01, 8.33e-6, 8.33e-6, 0.1, 0.1, 2.08e-7, 0, 1.0
这里的 R, 1, ... 就定义了编号为1的实常数集,包含了这根矩形截面梁(0.1m x 0.1m)的所有几何参数。
示例 2:壳单元
假设我们使用 SHELL181 单元来模拟一块板。
- 单元类型定义:
ET, 2, SHELL181 - 材料属性定义:
MP, EX, 2, 2.1e11(定义弹性模量) - 实常数定义:SHELL181 单元最主要的就是定义厚度。
! 定义实常数集 2,对应壳单元 ! R, 实常数集编号, 厚度, 积分点数, 薄膜/弯曲刚度比例, 惯性矩 R, 2, 0.005, 3, 1.0, 0.0
这里的 R, 2, 0.005, ... 定义了编号为2的实常数集,表示这块板的厚度是 0.005 米。
示例 3:弹簧-阻尼单元
假设我们使用 **COMBIN14` 单元来模拟一个弹簧。
- 单元类型定义:
ET, 3, COMBIN14 - 实常数定义:COMBIN14 单元需要定义弹簧的刚度系数。
! 定义实常数集 3,对应弹簧单元 ! R, 实常数集编号, 刚度系数, 阻尼系数, 初始力 R, 3, 1000, 10, 0.0
这里的 R, 3, 1000, ... 定义了编号为3的实常数集,表示这个弹簧的刚度是 1000 N/m。
示例 4:质量单元
假设我们使用 **MASS21` 单元来模拟一个集中的质量块。
- 单元类型定义:
ET, 4, MASS21 - 实常数定义:MASS21 单元需要定义质量。
! 定义实常数集 4,对应质量单元 ! R, 实常数集编号, X方向质量, Y方向质量, Z方向质量, 转动惯量... R, 4, 10.0, 10.0, 10.0, 0.0, 0.0, 0.0
这里的 R, 4, 10.0, ... 定义了编号为4的实常数集,表示这个质量块在 X, Y, Z 三个方向上的质量都是 10 kg。
R 命令的变体
除了基本的 R 命令,还有一些相关的变体,用于更复杂的操作:
-
RMODIF, SETNUM, L1, V1, L2, V2, ..., L8, V8- 功能:修改一个已经存在的实常数集。
- 参数:
SETNUM:要修改的实常数集编号。L1, L2, ..., L8:要修改的实常数的位置编号(从1开始)。V1, V2, ..., V8:新的值。
- 示例:修改上面定义的梁的横截面积。
! 将实常数集 1 的第1个值(横截面积)修改为 0.02 RMODIF, 1, 1, 0.02
-
REAL, SETNUM-
功能:激活一个实常数集,以便后续定义的单元使用它,这是建模流程中的关键一步。
-
参数:
SETNUM:要激活的实常数集编号。
-
示例:
! 定义完材料、单元类型和实常数后,告诉 ANSYS 后续创建的单元使用实常数集 1 REAL, 1 ! 现在创建的梁单元都将使用 R, 1 定义的参数 N, 1, 0, 0, 0 N, 2, 1, 0, 0 L, 1, 2 LMESH, 1 ! 将这条线划分为 BEAM188 单元,并使用 REAL, 1 激活的参数
-
与 GUI 操作的对应关系
在 ANSYS Workbench (APDL) 中,R 命令的 GUI 操作路径是:
- 在左侧的“Outline”树中,选择“Model”。
- 在“Model”下找到并右键点击“Engineering Data”,选择“Engineering Data Sources”。
- 在“Engineering Data Sources”窗口中,选择一个材料(或新建一个),然后在右侧的“Properties”窗口中定义材料属性(对应
MP命令)。 - 返回到“Model”界面,右键点击“Geometry”或“Mesh”,选择“Insert > Beam > Circular”等来定义截面(这会生成截面信息)。
- 更重要的是,在“Model”下,右键点击“Connections”或直接在“Mesh”中,通过“Mesh Control > Beam”或“Shell Thickness”等方式来指定梁的截面或壳的厚度,这些操作最终都会在后台生成对应的
R命令。
在经典 ANSYS 中,路径是 Preprocessor > Real Constants > Add/Edit/Delete。
| 特性 | 描述 |
|---|---|
| 命令 | R |
| 全称 | Real Constants (实常数) |
| 作用 | 定义与特定单元类型相关的几何或物理参数(如截面、厚度、刚度、质量)。 |
| 依赖关系 | 必须在定义单元类型 (ET 命令) 之后使用。 |
| 关键步骤 | ET, ... (定义单元类型) 2. R, ... (定义实常数集) 3. REAL, ... (激活实常数集) 4. 创建单元 |
| 变体 | RMODIF (修改实常数), REAL (激活实常数) |
| 对应材料 | MP 命令 (Material Properties) |
掌握 R 命令是进行参数化分析和编写高效 APDL 脚本的基础,它让你能够精确地控制模型的物理和几何细节,是实现自动化和优化设计的关键工具。
