音叉结构动力学“,
对音叉进行模态和瞬态分析。
音叉是一个u形的横梁。当敲击它的一个尖状物或尖状物时,它会以其基本(第一)频率振动并发出可闻的声音。
音叉的第一种柔性模式是以尖的对称振动为特征的:它们同时相互靠近和远离,在它们相交的底部平衡力。基本振动模式不产生任何弯曲作用的手柄附加在交叉的尖。没有弯曲的基础,使音叉易于处理,而不影响其动态。
齿的横向振动使手柄以基频轴向振动。这种轴向振动可以通过使手柄的末端接触更大的表面积(如金属桌面)来放大可听到的声音。下一个具有对称振型的高阶模态大约是基频的6.25倍。因此,适当激发的音叉倾向于以与基频相对应的主导频率振动,产生纯可听的音调。本例通过执行模态分析和瞬态动力学模拟来模拟音叉动力学的这些方面。
您可以找到辅助函数animateSixTuningForkModes
而且tuningForkFFT
还有几何文件TuningFork.stl
下matlab / R20XXx / / pde的主要例子
.
音叉的模态分析
找出音叉的基本模态和接下来几个模态的固有频率和模态振型。显示在基频上叉柄缺乏弯曲作用。
首先,创建一个用于固体音叉模态分析的结构模型。
模型= createpde(“结构性”,“modal-solid”);
要对结构进行无约束模态分析,指定几何形状、网格和材料属性就足够了。首先,导入并绘制音叉几何图形。
importGeometry(模型,“TuningFork.stl”);图pdegplot(模型)
指定杨氏模量、泊松比和质量密度来模拟线弹性材料的行为。以一致的单位指定所有物理属性。
E = 210e9;Nu = 0.3;Rho = 8000;structuralProperties(模型,“YoungsModulus”, E,...“PoissonsRatio”ν,...“MassDensity”,ρ);
生成一个网格。
generateMesh(模型,“Hmax”, 0.001);
求解一个选定频率范围的模型。指定低于零的低频限制,以便解决方案中出现频率接近零的所有模式。
RF = solve(模型,“FrequencyRange”[4000] * 2 *π);
默认情况下,求解器返回圆形频率。
modeID = 1:数字(RF.NaturalFrequencies);
将得到的频率除以,以Hz表示 .在表格中显示频率。
tmodalResults = table(modeID.',RF.NaturalFrequencies/2/pi);tmodalResults.Properties.VariableNames = {“模式”,“频率”};disp (tmodalResults);
模式频率____ _________ 1 0.0090573 2 0.007208 3 0.0058295 4 0.0054257 5 0.0049971 6 0.0084112 7 460.42 8 706.34 9 1911.5 10 2105.5 11 2906.5 12 3814.7
由于本例中没有边界约束,模态结果包括刚体模态。前六个接近零的频率表示三维固体的六个刚体模态。第一种灵活模式是第七种模式,频率约为460 Hz。
将模态振型可视化的最好方法是在它们各自的频率上对谐波运动进行动画化。的animateSixTuningForkModes
函数使六个柔性模态动画化,它们是模态结果中的模态7到12射频
.
frames = animateSixTuningForkModes(RF);
要播放动画,使用以下命令:
电影(图(“单位”,“规范化”,“外置”,[0 0 1 1]),帧,5,30)
在第一种模式中,音叉的两个摆动尖平衡了手柄上的横向力。下一个具有此效果的模态是频率为2906.5 Hz的第五种柔性模态。该频率大约是基频460hz的6.25倍。
音叉的瞬态分析
模拟一个音叉轻柔而快速地敲击它的尖头时的动态。分析刀尖随时间的振动和手柄的轴向振动。
首先,建立结构暂态分析模型。
Tmodel = createpde(“结构性”,“transient-solid”);
导入用于模态分析的相同音叉几何图形。
importGeometry (tmodel,“TuningFork.stl”);
生成一个网格。
网格=生成网格(tmodel,“Hmax”, 0.005);
指定杨氏模量、泊松比和质量密度。
structuralProperties (tmodel,“YoungsModulus”, E,...“PoissonsRatio”ν,...“MassDensity”,ρ);
通过绘制带有面标签的几何图形来识别用于应用边界约束和负载的面。
图(“单位”,“归一化”,“outerposition”,[0 0 1 1]) pdegplot(tmodel,“FaceLabels”,“上”) view(-50,15)“面标几何”)
施加足够的边界约束以防止刚体在外加载荷下的运动。通常,你用手拿着音叉,或者把它放在桌子上。这个边界条件的简化近似是在尖和手柄(面21和22)的交点附近固定一个区域。
structuralBC (tmodel,“面子”(21、22),“约束”,“固定”);
通过在基本模式的一小部分时间内施加压力负载,在齿面上近似施加脉冲负载。通过使用这个非常短的压力脉冲,你可以确保只有音叉的基本模式被激发。评估时间段T
对基本模态,采用模态分析的结果。
T = 2*pi/ rf . naturalfrequency (7);
指定齿上的压力加载为短的矩形压力脉冲。
structuralBoundaryLoad (tmodel,“面子”11“压力”5 e6,“EndTime”T / 300);
应用零位移和零速度作为初始条件。
structuralIC (tmodel,“位移”(0, 0, 0),“速度”, (0, 0, 0));
求解50个基本模态的瞬态模型。对基本模式每周期动态采样60次。
Ncycle = 50;采样频率= 60/T;tlist = linspace(0,ncycle*T,ncycle*T*samplingFrequency);R = solve(tmodel,tlist);
画出齿尖振动的时间序列,即12面。在尖端面上找到节点并绘制y
-位移随时间变化的分量,使用其中一个节点。
兴奋的tinetipnodes = findNodes(网格,“地区”,“面子”12);tipDisp = R.Displacement.uy(excitedTineTipNodes(1),:);figure plot(R.SolutionTimes,tipDisp)“齿尖横向位移”) xlim([0,0.1])“时间”) ylabel (“Y-Displacement”)
对音叉尖端位移时间序列进行快速傅里叶变换(FFT),可以看到音叉的振动频率接近其基频。由于瞬态分析中施加的约束,在无约束模态分析中计算的基频出现了较小的偏差。
[fTip,PTip] = tuningForkFFT(tipDisp,samplingFrequency);图(fTip,PTip)“单面振幅谱”,“尖端振动”})包含(“f (Hz)”) ylabel (“| P1 (f) |”, 4000年)xlim ([0])
齿的横向振动使手柄以相同的频率轴向振动。为了观察这种振动,绘制手柄端面的轴向位移时间序列。
baseNodes = tmodel.Mesh.findNodes(“地区”,“面子”6);baseDisp = R.Displacement.ux(baseNodes(1),:);图(R.SolutionTimes,baseDisp)“手柄端部轴向位移”xlim([0,0.1])“X-Displacement”)包含(“时间”)
对手柄轴向振动的时间序列进行FFT。这个振动频率也接近它的基频。
[fBase,PBase] = tuningForkFFT(baseDisp,samplingFrequency);图(fBase,PBase)“单面振幅谱”,“基础振动”})包含(“f (Hz)”) ylabel (“| P1 (f) |”, 4000年)xlim ([0])