求解HWBB結構模態及反應譜法求解位移和內力(附matlab程序)

2021-01-18 曉笙軒

本文介紹《Higher mode effects in hinged wall with BRBs in base-frame structures using distributed parameter models》中關於底部帶BRB的鉸支牆(HWBB)-鉸接框架的模態和內力求解的matlab程序。


共分為四個文件,僅需把這四個文件放到一個文件夾中,在matlab中打開文件夾的路徑,按F5運行即可。


第一個文件為:model.m    用於定義結構的基本情況

function F=spring(x)
E=3.7e+10; %混凝土彈性模量
I=2.86e-3; %混凝土截面慣性矩
h=0.8;  %層高
H=4; %結構總高度
m=2.424e+3; %沿結構高度均勻分布的質量
ba=0.163;  %牆抗彎剛度和轉動彈簧轉動剛度的相對剛度比
kb=ba*E*I/h; %轉角彈簧轉動剛度
q=kb/E/I;  %中間量
l=4.0; %結構總高度
F=-q/x.*cos(x*l).*cosh(x*l)+sin(x*l).*cosh(x*l)-cos(x*l).*sinh(x*l)-q/x;
end

註:這裡最後一個函數的未知量為a,即原文中的公式(7).


第二個文件為:solveequation.m   是用於求解頻率方程,從而求得結構的周期和頻率。

x0=1.8;
x=fsolve(@spring,x0)

註:這裡求出的量實際為a,根據公式(7)可以求出圓頻率。因為結構的模態周期是從大到小,所以頻率是從小到大,即一階頻率最小。因為只有數值解,這裡通過試算得到前幾階頻率的值。建議:將x0的值從0.001增大,會找到前幾階頻率的值。


第三個文件為:reaction.m    求解模態和結構的位移及內力

syms A4 x;
A4=1;
E=3.7e+10;
I=2.86e-3;
ba=0.163;
h=0.8;
kb=ba*E*I/h;
q=kb/E/I;
l=4;
m=1.7e+5;
mt=8.16e+6;
a=0.7373;
w=a^2*(E*I/m)^0.5;
T=6.28/w;
A2=-A4;
A3=A4*(1+cosh(a*l)*cos(a*l)-sinh(a*l)*sin(a*l))/(cosh(a*l)*sin(a*l)-sinh(a*l)*cos(a*l));
A1=A4*(1+cos(a*l)*cosh(a*l)+sin(a*l)*sinh(a*l))/(sin(a*l)*cosh(a*l)-cos(a*l)*sinh(a*l));
%natural mode shape
y=A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x); 
%
y1=@(x) m*(A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x));
lnh=integral(y1,0,l);
z=@(x) m*(A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x)).*(A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x));
mn=integral(z,0,l);
tn=lnh/mn;  %modal particitation factor;
mnx=tn*lnh; %effective modal mass
mnxpercent=mnx/mt;   
c=0;
x=0:0.4:4;  %用於控制沿結構高度求解量的大小
y=A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x);
ust=tn/w/w*(A1*sin(a*x)+A2*cos(a*x)+A3*sinh(a*x)+A4*cosh(a*x));  %靜位移
mw=E*I*tn/w/w*(-A1*a^2*sin(a*x)-A2*a^2*cos(a*x)+A3*a^2*sinh(a*x)+A4*a^2*cosh(a*x));  %牆體彎矩-靜力
vw=-E*I*tn/w/w*(-A1*a^3*cos(a*x)+A2*a^3*sin(a*x)+A3*a^3*cosh(a*x)+A4*a^3*sinh(a*x))  %牆體剪力-靜力


上述求得結構的靜位移、靜態內力之後,再乘以各階周期對應的偽加速度值,可以得到各階周期的動力反應;對於具有稀疏頻譜的結構,可以通過SRSS將各階振型的反應量疊加,即可獲得總的結構反應。

相關焦點

  • 淺析結構屈曲模態和振動模態間的區別
    振動模態分析:其實就是求一個無阻尼自由振動結構的周期和振型。其中無阻尼自由振動方程為: 兩者的相同點:都是求特徵值問題這個方程都有多解,也就是都有所謂的階數之分 兩者的不同點:模態分析和結構的質量有關,和外荷載無關,其形狀曲線是一個位移比例關係。屈曲分析與外荷載有關和質量無關,其形狀曲線是真實荷載下的移位。
  • 2019數學建模國賽|Matlab 求解微分方程(組)
    (4)因為沒有一種算法可以有效的解決所有的 ODE 問題,為此,Matlab 提供了多種求解器 solver,對於不同的 ODE 問題,採用不同的 solver3.在 matlab 命令窗口、程序或函數中創建局部函數時,可用內聯函數 inline,inline 函數形式相當於編寫 M 函數文件,但不需編寫 M-文件就可以描述出某種數學關係.調用 inline
  • 打靶法求解兩點邊值問題簡介及Matlab程序
    當f關於y和y'是線性時,上式為線性兩點邊值問題,可表示為:這樣,可以按下面簡單的計算過程進行求解。先給定兩個初始斜率s0、s1,分別作為初值問題的初始條件。用一階方程組的數值方法求解它們,分別得到區間右端點的函數的計算值y(b,s0)和y(b,s1)。如果:
  • 基於蟻群算法求解函數的最大最小值的Matlab源碼「肥波貓」
    基於蟻群算法求解函數的最大最小值的Matlab源碼「肥波貓」上一篇基於遺傳算法求解函數的最大最小值的Matlab源碼「肥波貓」,本次用蟻群算法同樣可以解決。下面給出可以用matlab基於蟻群算法求解函數的最大最小值的常見問題:1.一元非線性函數的最大值求解函數 f(x) = x + 10*sin(5*x) + 7*cos(4*x) 在區間[0,9]的最大值。
  • 什麼是應變模態?
    對於平板類似結構,應變模態求解過程相類似,互易性在0.3Lx,y≤x,y≤0.7Lx,y區域也是成立的。如果在知道應變模態向量與位移模態向量的關係,則在求解應變模態之前,應先獲得激勵位置的位移模態振型值。
  • 微積分問題的MATLAB求解(一)
    後續幾期,向大家介紹微積分問題的MATLAB求解,今天講解極限,積分和微分方程的求解。1. 極限MATLAB提供了求極限函數limit(),函數調用格式為:y = limit(fun,x,x0)。(x)',x,0)I2=limit('(tan(x)-tan(a))/(x-a)',x,a)I3=limit('(3*x-5)/(x^3*sin(1/x^2))',x,inf)運行程序輸出結果如下:I1 =-2 I2 =tan(a)^2 + 1 I3 =3
  • .| 《機械結構有限元法基礎理論及工程應用》及相關程序下載
    本書第3、4、5、6、7、9、10、11章ANSYS和MATLAB程序有電子版可供讀者下載。  目錄  前言  主要符號列表  第1章概述  1.1典型結構問題的力學求解  1.2機械結構受力問題的求解方法  1.2.1用解析法求解  1.2.2用差分法求解  1.2.3用變分法求解  1.2.4用有限元法求解
  • 採用荷載-結構模式進行支護結構設計時的計算方法是什麼
    這樣,在求出作用在襯砌結構上的荷載後,其內力分析也就變成了通常的超靜定結構問題。這種方法適用於曲牆式襯砌和直牆式襯砌的拱圈計算。  (2)彈性地基梁法:這種方法是將襯砌結構看成置於彈性地基上的曲梁或直梁。彈性地基上抗力按溫克爾假定的局部變形理論求解。當曲牆的曲率是常數或為直牆時,可採用初參數法求解結構內力。一般直牆式襯砌的直邊牆利用此法求解。
  • 基於MATLAB求解三類方程組
    基於MATLAB求解三類方程組第1類 線性方程組線性方程組是指各個方程變量的最高次冪為1次的方程組。線性方程組主要有定解方程組、不定解方程組、超定方程組和奇異方程組。線性方程組的通解為齊次線性方程組的基礎解系加上線性方程組的一個特解。
  • bessel函數在溼盤管換熱器的應用及求解方法
    繪製出來0階、1階和2階第一類貝塞爾函數曲線圖:貝塞爾函數的求解十分複雜,我們可以藉助現成工具來完成求解,下面介紹兩種求解Bessel函數的方法一、excel求解法在Excel中提供了4個與貝塞爾(Bessel)相關的函數,分別是BesselJ和BesselY、BesselL和BesselK。
  • 結構工程複習:整截面剪力牆的內力和位移計算
    1)內力計算在水平荷載作用下,整截面牆可視為上端自由,下端固定的豎向懸臂梁構件。在側向荷載作用下的牆肢截面內的正應力分布為線性分布。截面變形後可保持平截面,因此其內力可採用材料力學公式進行計算。2)位移和等效剛度整截面牆的側移,即牆頂部的水平位移可按材料力學公式進行計算。由於剪力牆的截面高度大,在計算位移時,應考慮彎曲變形,並同時考慮剪切變形的影響。
  • Matlab 連續模型的求解方法
    下面給出幾種Matlab求解微分方程的代碼   例一:求解微分方程x*Dy+y-exp(x)=0在的y(1)=2*exp(1)特解,並畫出解函數的圖形。   syms xyy=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')ezplot(y)求解解出:y=((exp(1) + exp(x))/x)圖形如下:  例二 設位於坐標原點的甲艦向位於x軸上點
  • 模態分析在產品設計中的用處
    一般來講,外界激勵的頻率非常複雜,物體在這種複雜的外界激勵下的振動反應是各階振型的複合。模態是結構的固有振動特性,每一個模態具有特定的固有頻率、阻尼比和模態振型。這些模態參數可以由計算或試驗分析取得,這樣一個計算或試驗分析過程稱為模態分析。有限元中模態分析的本質是求矩陣的特徵值問題,所以「階數」就是指特徵值的個數。將特徵值從小到大排列就是階次。實際的分析對象是無限維的,所以其模態具有無窮階。
  • 一日一技:用Python程序求解二次方程式
    用Python程序求解二次方程式 當我們已給出係數a,b和c時,用python程序計算二次方程的根值。 現在,我們直接來解決方程式 二次方程的標準形式為: ax2 + bx + c = 0,其中a,b和c是實數,a≠0 好了,我們現在用代碼來實現求解,如下所示:
  • Matlab求解微分代數方程 (DAE)
    周末有位同學請教了一個問題,他要求解一個微分方程組,但微分方程變量之間還有個線性方程組關係,這個就是典型的微分代數方程 ,Matlab裡面有專門的求解方法
  • NVH|如何進行白車身自由模態分析
    今天我們要介紹的,就是模態分析。什麼是模態分析呢?模態分析是用於確定設計結構振動特性,即確定結構的固有頻率和振型。對白車身進行模態分析就是使其結構在設計中儘量避免共振和噪聲,加強其穩定性和安全性,同時計算方法與結果也可以為實車試驗提供參考和依據。下面就來詳細介紹一下如何去對白車身進行模態分析的關鍵技術。
  • 結構動力學方程常用數值解法:方法概述
    對於一個實際結構,由有限元法離散化處理後,動力學方程可寫為:
  • 工業CAE軟體的底層「黑科技」——CFD求解器技術
    所謂求解器,指的是針對特定場景(比如液體流動、溫度傳播以及結構變形),用程序編碼的方式實現的對物理規律、數學原理的客觀還原。我們把以上兩個過程(描述物理規律的偏微分方程和數值算法)聯繫起來,通過計算機編碼(高效算法編程一般使用C、C++以及fortran語言)實現成計算機可以識別的語言,也即電腦程式,最終通過特定計算機硬體平臺和作業系統就可以實現對物理問題的求解了。
  • 請問結構動力學中常說的一階和二階,三階頻率或振型等是什麼關係?
    這n個解耦的微分方程可以頻域求解(傅立葉變換法)也可以時域求解(杜哈梅積分、時域逐步積分),殊途同歸的是,最終可求得各模態的廣義坐標Y1(t)、Y2(t)、...、Yn(t)。 受到單位衝量 / 錘擊後,在不同模態阻尼比(5%、20%、80%)下的位移響應變化。可看到:對於相同激勵,隨著系統模態阻尼比增大,系統的振蕩衰減更快,每周期耗散的能量也越大(結構應變能與位移的平方呈正比)。