当前位置 博文首页 > leslie lee的博客(python ansys):非线性动力学 nonlinear dyn

    leslie lee的博客(python ansys):非线性动力学 nonlinear dyn

    作者:[db:作者] 时间:2021-06-25 18:41

    参考:Friswell M I , ?Penny J , ?Garvey S D , et al. Dynamics of Rotating Machines. cambridge university press, 2010.

    线性刚度、线性阻尼

    只有小位移时
    非线性弹簧可被线性化,kx
    非线性库伦阻尼可被线性化,可等效为一个当量粘性阻尼,cx'

    非线性刚度

    现在考虑一个单自由度系统中,弹簧的位移与力的关系为非线性, f=kx+hx^3
    承受简谐激励力,计算稳态时的响应?mx''+cx'+kx+hx^3 = f_0cos(wt)?? Duffing equation

    谐波平衡法

    谐波平衡法将响应视为周期响应,所以响应可写作多个简谐函数的叠加,即傅里叶级数x=A_0+\sum A_nsin(nwt+\varphi _n),w为激励力的频率。
    该方法只能求稳态解。

    求解响应

    谐波平衡法,假设响应为x=acos(wt+\varphi )式1
    式2
    将激励力改写如下
    式3
    将三个式子带入动力学方程得到两个方程,(关于cos为0与sin为0两个方程)
    式4
    式5
    两个方程求平方再相加,消去Φ,得到一个方程
    式6

    通过式6求解响应的幅值a,通过式5求响应的相位Φ。
    线性系统,一个激励力对应一个响应(幅值与相位),非线性系统,一个激励力对应多个响应。


    如图,在k m c h f0如此设置,w_0=np.sqrt(k/m)w/w_0为无量纲数,a随着w的变化。
    w由小到大,a增大到一点(1.75处)后突然跳变,逐渐减小。
    w由大到小,a增大到一点(1.22处)后突然跳变,逐渐减小。
    跳变表明系统发生了质变,跳变也称分叉。
    其实这是书上这么写的,但我编程并没有发现如此。

    import sympy as sp
    import numpy as np
    
    # 设定参数值
    m = 1 # kg
    k = 10*10e3 # kN/m
    c = 10 # Ns/m
    h = 50*10e6 # MN/m3 M=10e6
    f0 = 20 # N
    # a 为待求解
    a = sp.symbols('a',real=True) # 只求实数   , real=True
    
    # 线性系统的固有频率
    wn = np.sqrt(k/m)
    
    # a随w的变化
    for k in np.arange(0,3,0.005): # 频率比
        w = k*wn
        eq = (-m*w**2+k+3/4*h*a**2)**2*a**2+c**2*w**2*a**2-f0**2
        result = sp.solve(eq,a)
        result = np.array(result)*10e3 # m convert to mm
        result = np.unique(np.abs(result)) # 求模 去重
        print(result)
        

    工科学生不懂没事,不懂就学,说错也没事,知错就改,但要把明确的概念来作不明确的表达就是你的问题了。

    固有频率

    mx''+cx'+kx=0
    x=asinwt,得
    - maw^2sinwt + cawcoswt + kasinwt = 0
    得到两个方程
    -maw^2+ka=0
    caw=0
    这个思路错了,但是如果按照三角公式应该也可以化简出来,最简便的就是直接设响应为复指数而不是简谐函数

    x=ae^{jwt},得
    ma(e^{jwt})''+ca(e^{jwt})''+kae^{jwt}=0
    化简为
    -mw^2+jwc+k=0
    二元一次方程大家都会解了
    注:我在求解固有频率时,未考虑响应的相位,这不影响求解固有频率

    import sympy as sp
    
    m,c,k,w = sp.symbols('m,c,k,w')
    result = sp.solve(-m*w**2+1j*w*c+k,w)
    print(result)
    
    # 注意: sympy结果 I 表示虚数

    针对本问题求解固有频率
    mx''+cx'+kx+hx^3 = 0
    x=ae^{jwt},得
    -maw^2e^{jwt}+cajwe^{jwt}+kae^{jwt}+ha^3e^{3jwt}=0

    -mw^2+cjw+k+ha^2e^{2jwt}=0
    该非线性方程得到固有频率会随时间变化。

    混沌

    分岔图用来展示系统的非线性和混沌效应


    激励力为简谐函数,频率w(角频率)
    >129或<96时,响应为简谐函数,频率w
    129>w>96时,如w=100,响应为周期函数,即复合的简谐函数,包括了基频与次倍频;如w=120,响应为非周期函数,是混沌的。
    w=100
    w=120

    通过庞加莱图来分析w=120时的混沌效应
    计算稳态位移与速度,注意:作图时,速度与位移采样率相同
    如果是周期响应,庞加莱图绘制成的是一个固定形状。

    非线性阻尼

    (线性阻尼系统的在不受力时,没有响应,但非线性阻尼系统并非如此。)
    自激系统:给系统初始条件,使其自由振动,振动会越来越大,因为系统有负阻尼。

    mx''+c(1-\gamma x^2)x'+kx=0 ?? Van der Pol equation
    limit cycle:由于系统还有正阻尼,使得振动不会无限大,最终振动为一稳态振动。

    菱形为初始条件,不论初始条件多少,最终稳态运动为limit sycle(实线圈)

    术语

    sub-harmonics 低阶?
    super-harmonics 高阶
    chaotic混沌
    harmonic-balance method谐波平衡法
    trigonometric formulate三角公式
    be truncated被截断
    Duffing
    bifurcation diagram分岔图
    to name just three 仅举三个例子
    Poincare map庞加莱图
    quasiperiodic准周期
    chaotic混沌
    phase plane相平面
    self—excited system自激系统

    庞加莱被公认是19世纪后和20世纪初的领袖数学家,是继高斯之后对于数学及其应用具有全面知识的最后数学家。

    下一篇:没有了