问题描述
研究一根悬臂梁,材质为钢材。长度
L
=
2
L=2
L=2 米;截面为矩形,矩形的长度为
H
=
5
c
m
H = 5cm
H=5cm,宽度为
B
=
2
c
m
B = 2cm
B=2cm 。
建模思路:
先建立节点,然后用节点生成单元。使用n命令,生成梁两端的节点,节点编号分别为1和42(1号节点为固定端)。在节点1和42之间填充40个节点。使用nplot命令显示所有节点。再生成单元,指定单元类型、材料属性、实常数。使用e命令和egen命令生成单元。
分析流程:
1、首先进行模态分析,求出悬臂梁前四阶固有频率:
2、谐响应分析,在节点5上Y方向施加激励,计算节点42上Y方向的响应,结构阻尼为0.02,设置开始频率为0和结束频率为100,设置子步数。
3、提取节点42的Y方向的响应,存储到dispY变量并绘制频率位移图
4、定义一个数组FRF_R1,将频响函数的实部和虚部分别存入到第一列和第二列。将FRF_R1写出成FRF_R1,txt
5、使用MATLAB导入FRF_R1,txt,计算幅值、角度(相位)和分贝形式的幅值。
APDL代码
! 悬臂梁频响函数分析
!一根悬臂梁,材质为钢材。长度2米;截面为矩形,矩形的长度为5cm,
!宽度为2cm。一端固定,形成悬臂梁。
FINISH
/CLEAR
/title,a full beam
/prep7
ET,1,BEAM188
EX,1,2.1E11
NUXY,1,0.3
DENS,1,7.85e3
! 梁的几何尺寸
! 长度 m
len_1 = 2.000
width_1 = 0.005
thick_1 = 0.02
! 定义梁的截面
SECTYPE,1,BEAM,RECT,BEAM
SECDATA,width_1,thick_1
/pbc,all,1 !show all boundary coditions
csys,0 ! define global coordinate system
!定义节点
n,1,0,0,0
n,42,len_1,0,0
fill,1,42,40 ! fill interior nodes
nplot
!生成单元
type,1
mat,1
real,1
e,1,2
egen,41,1,-1
! 定义约束
d,1,all,0
nall
nsel,s,node,,2,42
d,all,ux
d,all,uz
d,all,rotx
d,all,roty
!d,all,rotz
allsel
nplot,1 ! 显示节点编号
eplot
FINISH
! 模态分析
/SOLU
ANTYPE,MODAL ! DEFINE ANALYSIS TYPE
MXPAND,9,,,YES ! EXPAND 9 MODES, CALC. STRESS VALUES
MODOPT,LANB,9
SOLVE
*GET,FREQ1,MODE,1,FREQ ! 获取一阶固有频率赋值给参数FREQ1
*GET,FREQ2,MODE,2,FREQ ! 获取二阶固有频率赋值给参数FREQ2
*GET,FREQ3,MODE,3,FREQ
*GET,FREQ4,MODE,4,FREQ
FINISH
! 谐响应分析
/SOLU
allsel
!要在节点5上Y方向施加激励,计算节点42上Y方向的响应
antype, harmic ! 进入谐响应计算模块
HROPT, FULL !设置计算方法为FULL,当然也可以为auto等其它方法
harfrq, 0, 100 !设置开始频率和结束频率
NSUBST, 500 !设置子步数
KBC,1 !载荷施加方式
dmprat, 0.02 !结构阻尼
F, 5,FY ,1 !施加激励到节点5,方向为FY方向
SOLVE !求解
SAVE !保存求解结果
FINISH
/POST26 !进入时程后处理模块
NSOL,2, 42 ,U,Y , dispY2 !提取节点42的Y方向的响应,存储到dispY变量
plvar, 2 !在ansys内画图显示
!===========================================================================
!定义500行,2列的矩阵FRF_R1,并把频响函数的实部和虚部分别存入到第一列和第二列
*DIM,FRF_R1,ARRAY, 500 , 2
VGET, FRF_R1( 1, 1 ), 2, 0, 0
VGET, FRF_R1(1,2),2 ,0 ,1
FINISH
!===========================================================================
!打开文件,进行写入数据,并关闭文件。
*create, datawrite, mac
*CFOPEN,FRF_R1,txt,,
*VWRITE,FRF_R1(1,1),FRF_R1(1,2)
(F15.13,' ',F15.13) ! F表示浮点数,共计15位有效数字,小数位置保持13位。
*CFCLOSE
*END
datawrite
FINISH
MATLAB代码:
% 采样频率为0-100Hz,根据导出的计算
clear
clc
N = 500; % 子步数
x = linspace(0.5,100,N); % 采样频率范围
load ('FRF_R1.txt')
H = complex(FRF_R1(:,1),FRF_R1(:,2)); % 将频响函数的实部和虚部组合成复数形式
Hf = abs(H); % 频响函数的幅值
Hx = angle(H); % 频响函数的相位角,弧度制的相位角
Hx = rad2deg(Hx); % 角度制的相位角
H_dB = 20.*log10(Hf); % 幅值变换为分贝单位
figure(1)
plot(x,Hf(1:N))
title('频响函数')
xlabel('频率 Hz')
ylabel('幅值')
figure(2)
plot(x,Hx(1:N))
title('频响函数')
xlabel('频率 Hz')
ylabel('相位角')
figure(3)
plot(x,H_dB(1:N))
title('频响函数')
xlabel('频率 Hz')
ylabel('dB')
参考资料
1、悬臂梁的有限元建模-APDL
2、悬臂梁的频响函数计算-APDL