本文档以算例进行讲解,算例在文件附件——sol101.bdf

sol101.bdf 是一个完整的 MSC Nastran 求解输入文件,描述了一次三维实体单元线性静力分析。物理场景为:一根圆柱体,底面端面完全固支,顶面承受 100.0 的均布压力,求解其位移场、应力场与应变场。
| 项目 | 数量 | 说明 |
|---|---|---|
| 求解序列 | SOL 101 | 线性静力分析 |
| 工况(SUBCASE) | 1 | LoadCase-1 |
| 节点(GRID) | 15 477 | 圆柱体网格节点 |
| 单元(CHEXA) | 14 080 | 8 节点六面体(solid)单元,全部为 CHEXA |
| 材料卡片(MAT1) | 1 | 各向同性线弹性材料(钢) |
| 属性卡片(PSOLID) | 1 | 三维实体单元属性 |
| 约束组(SPC1 + SPCADD) | 1 + 1 | 底面 737 个节点完全固定 |
| 压力载荷(PLOAD4) | 704 | 顶面单元面压力 |
| 载荷组合(LOAD) | 1 | 将 PLOAD4 组接入工况 |
| 要素 | 数值 | 说明 |
|---|---|---|
| 圆柱半径 R | 10.0 | 截面为半径 10 的圆(网格节点半径最大 10.0,无越界点) |
| 圆柱高度 H | 20.0 | 沿 Z 轴 0 → 20,分 20 层单元 |
| 单元层数 | 20 | 每层 704 个 CHEXA,共 14 080 |
| 底面约束 | 123456(6 个自由度全约束) | Z=0 平面 737 个节点全部固支 |
| 顶面压力 P | 100.0 | Z=20 平面 704 个单元面,均匀压力 |
| 材料弹性模量 E | 200 000 | 对应钢(如 MPa 制) |
| 泊松比 ν | 0.3 | — |
| 密度 ρ | 7.85E-9 | 对应 7850 kg/m³(吨/mm³ 制) |
压力 P = 100.0(均匀,向下/向单元内)
┌─────────────────────────────┐ Z = 20 (顶面,704 个 PLOAD4)
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
│ ▓▓ CHEXA 六面体单元 ▓▓ │ 共 20 层单元
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
└─────────────────────────────┘ Z = 0 (底面,737 节点固支)
力学模型实质:轴心受压圆柱。除固支端附近的圣维南效应区外,圆柱内部近似单轴均匀压缩应力状态,非常适合用于验证线性静力求解器的正确性。
Nastran 输入文件(Bulk Data File, .bdf / .dat)由三个由固定关键词分隔的逻辑段组成:
GEOMCHECK NONE ─┐
SOL 101 │ ① Executive Control 求解控制段
CEND ─┘
ECHO=NONE ─┐
... │ ② Case Control 工况控制段
BEGIN BULK ─┘
... │ ③ Bulk Data 数据段
ENDDATA ─┘
| 段 | 作用 | 内容 |
|---|---|---|
| Executive Control | 选择求解序列 | SOL 101 指明做线性静力分析 |
| Case Control | 声明工况:引用哪组载荷、哪组约束、输出什么 | SUBCASE、LOAD=、SPC=、STRESS= 等 |
| Bulk Data | 定义模型几何与物理数据 | 节点、单元、材料、属性、载荷、约束卡片 |
本文件全部采用自由场格式(Free-Field / Comma Separated),即用逗号分隔字段,空字段用连续逗号表示。字段位置与大小场(8 列一个字段)格式一一对应,但不需按列对齐。
卡片名, 字段2, 字段3, ... , 字段10 ← 第一行(主卡)
, 续行字段2, ... ← 后续行(续行卡,字段超 8 个时使用)
注释:以 $ 开头的行为注释。本文件中 $--+---1---+---2+... 为卡片族分隔线,$CardName:xxx 为卡片命名(由前处理工具写入,帮助识别),均不影响求解。
续行:自由场格式下,上一行最后一个字段填满后,在下一行以逗号开头继续填写。例如 CHEXA 有 8 个节点号,第一行放 6 个(G1–G6),续行放 2 个(G7、G8)。
BDF 内各类卡片通过整数 ID(编号)互相引用,是模型"组装"的纽带:
| 引用链 | 说明 |
|---|---|
工况 LOAD=2 → Bulk LOAD(SID=2) → PLOAD4(SID=1) | 载荷引用链 |
工况 SPC=2 → Bulk SPCADD(SID=2) → SPC1(SID=1) | 约束引用链 |
CHEXA(PID=2) → PSOLID(PID=2) → MAT1(MID=1) | 单元→属性→材料引用链 |
CHEXA(G1–G8) → GRID(ID) | 单元节点引用 |
sol101.bdf
| 行号区间 | 内容 | 卡片/行数 |
|---|---|---|
求解控制段:GEOMCHECK NONE / SOL 101 / CEND | 3 行 | |
| L4 – L18 | 工况控制段:ECHO、AUTOSPC、SUBCASE、输出请求 | 15 行 |
| L19 | BEGIN BULK 数据段开始 | 1 行 |
| L20 – L21 | 系统参数 PARAM,TABS、PARAM,POST | 2 行 |
| L23 | 载荷组合卡 LOAD,2,1.0,1.0,1 | 1 行 |
| L24 – L26 | 材料 MAT1(名:MATERIAL-1) | 1 张卡 |
| L28 – L30 | 属性 PSOLID(名:圆柱) | 1 张卡 |
| L32 – L15508 | 节点 GRID × 15 477 | 15 477 行 |
| L15510 – L43669 | 单元 CHEXA × 14 080(每卡 2 行) | 28 160 行 |
| L43671 – L43763 | 约束 SPC1(名:固定约束-1,底面 737 节点) | 1 张卡 + 续行 |
| L43765 | 约束组合 SPCADD,2,1 | 1 张卡 |
| L43767 – L44471 | 压力载荷 PLOAD4 × 704(名:压力-1) | 704 行 |
| L44474 | ENDDATA 数据段结束 | 1 行 |
说明:文件由前处理工具(网格划分/建模程序)生成,节点、单元按生成顺序连续编号,几何检查项较少、输出控制较全,是典型的"CAD 建模 → 网格 → 求解"自动化流程产物。
SOL 101 —— 选择求解序列SOL 101| 字段 | 含义 | 本文件取值 |
|---|---|---|
| SOL | Solution(求解序列) | 101 |
作用:SOL 101(线性静力分析)。Nastran 通过 SOL 号选择一整套计算模块与默认参数,求解方程:
$$\mathbf{K}\,\mathbf{u}=\mathbf{F}$$
其中 K 为整体刚度矩阵,u 为节点位移列阵,F 为节点等效载荷列阵。该序列假定:材料线弹性、小变形、载荷与边界不随时间变化、且与变形无关(无几何/材料非线性、无接触)。
常用 SOL 序列对照:
| SOL | 分析类型 | 典型用途 |
|---|---|---|
| 101 | 线性静力 | 强度、刚度校核 |
| 103 | 模态分析 | 固有频率与振型 |
| 105 | 屈曲分析 | 线性屈曲临界载荷 |
| 106 | 非线性静力 | 大变形、塑性、接触 |
| 107/108 | 直接/模态频率响应 | 稳态振动 |
| 109/110/111 | 瞬态/模态分析 | 时域动态响应 |
GEOMCHECK NONE —— 几何检查开关GEOMCHECK NONE| 字段 | 含义 | 本文件取值 |
|---|---|---|
| GEOMCHECK | 几何检查控制 | NONE |
作用: 控制 Bulk Data 读入时是否执行单元几何质量检查(如自由边、翘曲、负体积等)。NONE 表示关闭几何检查,加快读入并避免对六面体网格的冗余警告。代价是不会提示几何畸形单元,用户需自行保证网格质量。GEOMCHECK 值可为 NONE/BASIC(基本)/INITIAL(初始)/FULL 等。
CEND —— 控制段结束标志CEND作用: CEND(Case END)分隔求解控制段与工况控制段。类似地,BEGIN BULK 分隔工况控制段与数据段,ENDDATA 表示整个输入结束。
工况控制段的作用是"组装"模型:从 Bulk Data 中选取哪一组载荷、哪一组约束,以及要求输出哪些结果量。
ECHO=NONE
AUTOSPC(NOPRINT)=YES
$--+---...
SUBCASE 1
OLOAD(PLOT,SORT1)=ALL
TITLE = LoadCase-1
LOAD = 2
SPC = 2
DISPLACEMENT(PLOT,SORT1) = ALL
STRAIN(PLOT,SORT1,FIBER) = ALL
STRESS(PLOT,SORT1) = ALL
GPSTRAIN(PLOT,SORT1) = ALL
GPSTRESS(PLOT,SORT1) = ALL
BOUTPUT(PLOT,SORT1) = ALL
ECHO=NONE —— 数据段回显控制作用: 控制 Bulk Data 卡片是否在 .f06 结果文件中回显。NONE 不打印,可显著减小 .f06 体积、提高可读性。若调试建模错误,可改为 ECHO=BOTH(同时打印原始卡与排序卡)核对数据。
AUTOSPC(NOPRINT)=YES —— 自动约束奇异自由度| 参数 | 含义 |
|---|---|
| AUTOSPC | Automatic Single-Point Constraint 自动单点约束 |
| (NOPRINT) | 不打印被自动约束的自由度明细 |
| YES | 启用 |
作用: 自动检测并约束无刚度或刚度极弱的自由度。本模型中 CHEXA 实体单元每个节点只有 3 个平动自由度有刚度,而 GRID 节点默认含 6 个自由度(3 平动 + 3 转动)。转动自由度无单元刚度支撑,若不处理将导致刚度矩阵奇异、求解失败。AUTOSPC 自动将这些转动自由度约束掉,保证方程可解。若网格存在真正的机构/刚位移,AUTOSPC 也会"掩盖"问题,因此应在 .f06 中查看被约束的自由度清单(去掉 NOPRINT 可输出明细)确认没有意外约束。
SUBCASE 1 —— 工况声明SUBCASE 1作用: 声明第 1 个(也是唯一一个)载荷工况。一个文件可含多个 SUBCASE(如不同载荷组合、多工况组合),每个 SUBCASE 有独立的载荷、约束与输出请求。本例仅一个工况,命名 TITLE = LoadCase-1。
LOAD = 2 —— 引用载荷集作用: 指示本工况使用 Bulk Data 中 载荷组合卡 LOAD(SID=2) 定义的载荷。即 Bulk Data 第 23 行的 LOAD,2,1.0,1.0,1。
内容简介:详细的卡片设置及求解器运行流程、有限元控制方程、理论解等