振动力学学习笔记: 理想元件(三) 质量元件及其简化模型

前情提要
绪论(一) 振动力学的基本概念
绪论(二) 振动力学的基本问题与基本方法
绪论(三) 简谐振动及其三角函数、矢量、复数表示法

理想元件(一) 弹性元件及其简化模型
理想元件(二) 阻尼元件及其简化模型



质量元件基本属性

质量元件也称为惯性元件,一般以质量块质点的形式表示,反映振动系统的运动规律。其响应表现为一定的位移速度加速度,并产生一定的惯性力

和弹性元件类似,质量元件也是储能元件,在外力作用下因运动而储存动能。


对于平移振动系统,有惯性力
F i = m x ¨ (1) F_\text{i}=m\ddot{x}\tag{1} Fi=mx¨(1)
质量 m m m

  • 量纲 [ M ] [\text{M}] [M]
  • 国际制单位 kg \text{kg} kg N ⋅ s 2 / m \text{N}\cdot\text{s}^2/\text{m} Ns2/m

所储蓄的动能为 T = 1 2 m x ˙ 2 (2) T=\frac{1}{2}m\dot{x}^2\tag{2} T=21mx˙2(2)


对于角振动系统,有惯性力矩
M i = I m θ ¨ (3) M_\text{i}=I_\text{m}\ddot{\theta}\tag{3} Mi=Imθ¨(3)
转动惯量 I m I_\text{m} Im

  • 量纲 [ M ] [ L ] 2 [\text{M}][\text{L}]^2 [M][L]2
  • 国际制单位 kg ⋅ m 2 \text{kg}\cdot\text{m}^2 kgm2 N ⋅ m ⋅ s 2 / rad \text{N}\cdot\text{m}\cdot\text{s}^2/\text{rad} Nms2/rad

所储蓄的动能为 T = 1 2 I m θ ˙ 2 (4) T=\frac{1}{2}I_\text{m}\dot{\theta}^2\tag{4} T=21Imθ˙2(4)

*注: I m I_\text{m} Im 的下标主要用于区分转动惯量和截面惯性矩,一定要注意区分两者


等效质量的确定方法

等效质量 (equivalent mass) 取代复杂系统中的整个质量元件组的等价效应元件
简单系统 直接把弹簧连接部分的结构简化为质量元件
复杂系统: 能量守恒 简化模型和原模型动能相等


举个栗子
悬臂梁,材料弹性模量为 E E E,抗弯截面惯性矩为 I I I,长度为 L b L_\text{b} Lb,质量为 m b m_\text{b} mb,沿长度均布。
图1 等效质量确定方法
理想元件(一) 弹性元件及其简化模型 一节中,我们推导过悬臂梁的挠度公式为 w ( x ) = − F x 3 6 E I + F L b x 2 2 E I w(x)=-\frac{Fx^3}{6EI}+\frac{FL_\text{b}x^2}{2EI} w(x)=6EIFx3+2EIFLbx2每一点的位移和挠度相等。而把质量简化到固定端,此处位移为 y = w ( L b ) = F L b 3 3 E I y=w(L_\text{b})=\frac{FL_\text{b}^3}{3EI} y=w(Lb)=3EIFLb3故有 w ( x ) = x 2 2 L b 3 ( 3 L b − x ) y w(x)=\frac{x^2}{2L_\text{b}^3}\left(3L_\text{b}-x\right)y w(x)=2Lb3x2(3Lbx)y因此悬臂梁的动能为 T = ∫ 0 L b d T = ∫ 0 L b 1 2 d m b [ d w ( x ) d t ] 2 = ∫ 0 L b 1 2 ( m b L b d x ) [ d w ( x ) d t ] 2 = m b 2 L b ∫ 0 L b [ x 2 2 L b 3 ( 3 L b − x ) y ¨ ] 2 d x = m b y ¨ 2 8 L b 7 ∫ 0 L b ( x 6 − 6 L b x 5 + 9 L b 2 x 4 ) d x = 33 m b y ¨ 2 280 \begin{aligned}T&=\int_{0}^{L_\text{b}}\text{d}T=\int_{0}^{L_\text{b}}\frac{1}{2}\text{d}m_\text{b}\left[\frac{\text{d}w(x)}{\text{d}t}\right]^2=\int_{0}^{L_\text{b}}\frac{1}{2}\left(\frac{m_\text{b}}{L_\text{b}}\text{d}x\right)\left[\frac{\text{d}w(x)}{\text{d}t}\right]^2\\&=\frac{m_\text{b}}{2L_\text{b}}\int^{L_\text{b}}_{0}\left[\frac{x^2}{2L_\text{b}^3}\left(3L_\text{b}-x\right)\ddot{y}\right]^2\text{d}x=\frac{m_\text{b}\ddot{y}^2}{8L_\text{b}^7}\int_0^{L_\text{b}}\left(x^6-6L_\text{b}x^5+9L_\text{b}^2x^4\right)\text{d}x\\&=\frac{33m_\text{b}\ddot{y}^2}{280}\end{aligned} T=0LbdT=0Lb21dmb[dtdw(x)]2=0Lb21(Lbmbdx)[dtdw(x)]2=2Lbmb0Lb[2Lb3x2(3Lbx)y¨]2dx=8Lb7mby¨20Lb(x66Lbx5+9Lb2x4)dx=28033mby¨2等效质量的动能与其相等 T = 1 2 m eq y ¨ 2 = 33 m b y ¨ 2 280 T=\frac{1}{2}m_\text{eq}\ddot{y}^2=\frac{33m_\text{b}\ddot{y}^2}{280} T=21meqy¨2=28033mby¨2 由此可计算出等效质量为 m eq = 33 m b 140 m_\text{eq}=\frac{33m_\text{b}}{140} meq=14033mb


参考文献

[1] 鲍文博,白泉,陆海燕.振动力学基础与MATLAB应用[M].北京:清华大学出版社,2015:25~26.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我会尽力回答你的问题。对于您的问题,我理解您想问我如何调用U-NET模型,以下是我给出的回答。 首先,U-NET模型是一个用于图像分割的深度学习模型,它使用卷积神经网络来学习图像中不同区域的特征,并将它们分割成不同的类别。在TensorFlow 2.0中,我们可以使用tf.keras API来实现U-NET模型。 以下是一个简单的U-NET模型的实现代码: ```python import tensorflow as tf from tensorflow.keras.layers import * def conv_block(inputs, filters, kernel_size=(3, 3), activation='relu', padding='same'): x = Conv2D(filters, kernel_size, activation=activation, padding=padding)(inputs) x = BatchNormalization()(x) x = Conv2D(filters, kernel_size, activation=activation, padding=padding)(x) x = BatchNormalization()(x) return x def unet(input_shape=(256, 256, 3)): inputs = Input(shape=input_shape) c1 = conv_block(inputs, 64) p1 = MaxPooling2D((2, 2))(c1) c2 = conv_block(p1, 128) p2 = MaxPooling2D((2, 2))(c2) c3 = conv_block(p2, 256) p3 = MaxPooling2D((2, 2))(c3) c4 = conv_block(p3, 512) p4 = MaxPooling2D((2, 2))(c4) c5 = conv_block(p4, 1024) u6 = Conv2DTranspose(512, (2, 2), strides=(2, 2), padding='same')(c5) u6 = concatenate([u6, c4]) c6 = conv_block(u6, 512) u7 = Conv2DTranspose(256, (2, 2), strides=(2, 2), padding='same')(c6) u7 = concatenate([u7, c3]) c7 = conv_block(u7, 256) u8 = Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same')(c7) u8 = concatenate([u8, c2]) c8 = conv_block(u8, 128) u9 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(c8) u9 = concatenate([u9, c1]) c9 = conv_block(u9, 64) outputs = Conv2D(1, (1, 1), activation='sigmoid')(c9) model = tf.keras.Model(inputs=[inputs], outputs=[outputs]) return model ``` 在这个实现中,我们使用了Conv2D、BatchNormalization、MaxPooling2D和Conv2DTranspose等层来构建U-NET模型。我们还定义了一个conv_block函数来简化代码。 使用这个实现代码,我们可以通过以下方式调用U-NET模型: ```python model = unet() ``` 这将返回一个U-NET模型的实例,我们可以使用该实例来进行训练和预测。 希望这个回答对您有所帮助。如果您还有其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值