3. LS-DYNA关键字文件结构解析与手动修改
K 文件不是“黑盒”:先看清它的块结构
LS-DYNA 的输入文件(通常称 K 文件)由一系列关键字块顺序拼接而成。每个块以 *KEYWORD 开头,后跟若干数据行,直到下一个 * 开头的行为止。理解这个“块—行—字段”的三级结构,是手动修改 K 文件的前提。
一个典型的显式分析 K 文件,其块的出现顺序通常遵循:控制卡 → 部件/单元 → 材料 → 接触 → 边界与载荷 → 输出控制 → 终止卡。下面这张图给出一个可运行的拉伸试样 K 文件的真实块骨架与字段定位方式。
识别关键块的实操方法
拿到一个 K 文件后,不要逐行通读。用文本编辑器的搜索功能,按 * 定位块头,快速建立“块清单”。以下是一个拉伸试样 K 文件中必须确认的块及其作用:
| 块名 | 作用 | 必须检查的字段 |
|---|---|---|
*CONTROL_TERMINATION | 控制求解终止时间 | ENDTIM(总时长) |
*CONTROL_TIMESTEP | 控制时间步长 | DTINIT、TSSFAC |
*PART | 定义部件并绑定材料/截面 | PID、SECID、MID |
*SECTION_SOLID | 定义实体单元属性 | ELFORM(单元公式) |
*MAT_PLASTIC_KINEMATIC | 弹塑性材料模型 | RO、E、PR、SIGY、ETAN |
*BOUNDARY_PRESCRIBED_MOTION | 施加位移/速度边界 | DOF、LCID、SF |
*DEFINE_CURVE | 定义时间-载荷曲线 | LCID、点对数据 |
*DATABASE_BINARY_D3PLOT | 控制结果输出频率 | DT |
手动修改加载曲线并重新提交
假设原 K 文件中 *DEFINE_CURVE 定义了一条位移加载曲线,LCID=1,原数据为:
*DEFINE_CURVE
1,0,1.0,1.0,0.0,0.0,0,0
0.0,0.0
0.5,0.5
1.0,1.0
现在需要把加载速率提高一倍,即同样在 1.0 时间内位移达到 2.0。修改后的曲线数据行变为:
*DEFINE_CURVE
1,0,1.0,1.0,0.0,0.0,0,0
0.0,0.0
0.5,1.0
1.0,2.0
同时,如果希望输出更多帧以观察变形过程,把 *DATABASE_BINARY_D3PLOT 的 DT 从 0.1 改为 0.05:
*DATABASE_BINARY_D3PLOT
0.05
修改完成后,用 LS-DYNA 重新提交计算。验证时重点看三件事:
- 求解日志中是否出现
error termination,若出现则说明关键字格式或引用有误。 - d3plot 的帧数是否约为 ENDTIM/DT,本例中 1.0/0.05 = 20 帧左右。
- 后处理中提取加载端位移-时间曲线,确认斜率是原来的两倍。
修改 K 文件时,最容易出错的地方是列宽错位和引用 ID 不匹配。例如把 LCID 从 1 改成 2,但
*DEFINE_CURVE 里没有 LCID=2 的曲线,求解器会直接报错。每次修改后,建议用文本编辑器的“查找”功能确认所有引用 ID 都存在对应定义。如果手头没有完整的 K 文件,可以用 LS-PrePost 导出一个简单拉伸试样的 K 文件作为练习对象。导出后先用搜索功能列出所有
* 开头的行,再按上表逐块核对字段,最后尝试修改曲线并重新提交,观察结果变化。