在 ANSYS 中提取节点相对位移,通常是指获取某节点相对于参考点(如固定点、初始位置或其他节点)的位移差值。根据公开资料和常见工程实践,以下是几种主流方法:一、理解“相对位移”的含义
绝对位移:节点从原始位置移动到当前变形位置的总位移(UX, UY, UZ)。
相对位移:两个节点之间的位移差,例如 ΔU = U_nodeA - U_nodeB。
若需相对于某固定点(如原点或支座),可设参考节点位移为0,则相对位移 ≈ 绝对位移。
⚠️ 注意:模态分析中的位移是归一化振型,非真实位移,不能直接用于相对位移计算
二、推荐提取方法
1. 使用 APDL 命令流(适用于经典 ANSYS 或 Workbench 中的 APDL Snippet)
适用于提取所有节点或指定节点的位移,并计算相对值。
apdl
/POST
SET,1 ! 读取第1载荷步结果
*GET,Nmax,NODE,,COUNT ! 获取总节点数
*DIM,disp_array,ARRAY,Nmax,6 ! 存储:节点号, X,Y,Z坐标, UX,UY,UZ
*DO,i,1,Nmax
node_i = NDNEXT(0) ! 获取第i个节点号
*GET,x_i,NODE,node_i,LOC,X ! 坐标
*GET,y_i,NODE,node_i,LOC,Y
*GET,z_i,NODE,node_i,LOC,Z
*GET,ux_i,NODE,node_i,U,X ! 位移
*GET,uy_i,NODE,node_i,U,Y
*GET,uz_i,NODE,node_i,U,Z
disp_array(i,1) = node_i
disp_array(i,2) = x_i
disp_array(i,3) = y_i
disp_array(i,4) = z_i
disp_array(i,5) = ux_i
disp_array(i,6) = uy_i
disp_array(i,7) = uz_i
*ENDDO
! 假设参考节点为 node_ref,计算相对位移
*GET,node_ref,NODE,,NUM,MIN ! 例如取最小编号节点为参考
*GET,ref_ux,NODE,node_ref,U,X
*GET,ref_uy,NODE,node_ref,U,Y
*GET,ref_uz,NODE,node_ref,U,Z
*DIM,rel_disp,ARRAY,Nmax,4 ! 存储:节点号, dX,dY,dZ
*DO,i,1,Nmax
rel_disp(i,1) = disp_array(i,1)
rel_disp(i,2) = disp_array(i,5) - ref_ux
rel_disp(i,3) = disp_array(i,6) - ref_uy
rel_disp(i,4) = disp_array(i,7) - ref_uz
*ENDDO
/CFOPEN,relative_disp,txt
*VWRITE,rel_disp(1,1),rel_disp(1,2),rel_disp(1,3),rel_disp(1,4)
(F10.0,3E12.5)
/CFCLOSE
此脚本输出每个节点相对于参考节点的相对位移(dX, dY, dZ)
2. 使用 ANSYS Workbench 图形界面导出(适合少量节点)
完成分析后,进入 Solution → Total Deformation 或 Displacement。
右键点击结果项(如 Displacement)→ Export。
选择格式(CSV/TXT),勾选 Include Headers,保存文件。
手动在 Excel 或 Python 中减去参考节点的位移,得到相对位移
3. 使用 Python 脚本(推荐批量处理)
通过 pyansys 或 ansys-mapdl-core 读取 .rst 文件,批量提取并计算相对位移:python
from ansys.mapdl.reader import read_binary
import numpy as np
result = read_binary('file.rst')
nnum, disp = result.nodal_solution(0) 第1载荷步,形状 (N, 3)
假设参考节点为第一个节点
ref_disp = disp[0]
rel_disp = disp - ref_disp
保存到 CSV
np.savetxt('relative_displacement.csv',
np.column_stack([nnum, rel_disp]),
delimiter=',',
header='Node,X,Y,Z', comments='')
此方法高效、可自动化,适用于瞬态或大量节点场景
三、注意事项
坐标系影响:确保位移在全局笛卡尔坐标系下提取,避免因局部坐标系导致错误
模态结果不可直接用:模态位移为相对振型,需结合参与系数才能还原真实位移
参考点选择:若无明确参考节点,可设结构上某固定点(如支座)为参考。
如需进一步自动化或集成到 Unity 等平台,可结合上述 Python 方法导出含节点坐标和相对位移的 CSV 文件
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权