【结构仿真】Newmark方法仿真(结构动力学)(Matlab代码实现)

本文介绍了Newmark方法,一种常用的技术,用于模拟结构在地震或瞬态载荷下的动态响应。文章详细展示了如何使用Matlab实现该方法的主函数,包括参数设定、初始条件和数值求解过程。同时提及了其在处理非线性与阻尼问题上的优势以及数值稳定性。
摘要由CSDN通过智能技术生成

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

Newmark方法是一种广泛使用的结构动力学数值技术,用于模拟结构在各种载荷条件下的动态行为。这种方法以 1950 年代开发的 Nathan Newmark 的名字命名,对于求解承受地震或瞬态载荷的结构的运动方程特别有效。纽马克方法的基本原理涉及将结构的运动方程离散化为常微分方程组。它采用分步积分方案对这些方程进行数值求解,并预测结构随时间的响应。Newmark方法的主要特点之一是它能够处理非线性和阻尼效应,使其适用于分析具有真实材料行为和阻尼特性的复杂结构系统。它还以其无条件的稳定性和数值效率而闻名,能够准确有效地模拟结构动力学。

📚2 运行结果

主函数部分代码:

clc
clear

% Modal parameters
wn = 6.283;   % Eigen-frequency (rad/s)
eta = 0.05;   % Damping ratio
wd = wn * sqrt(1 - eta^2); % Damped eigen frequency (rad/s)
M = 0.2533;   % Mass
K = wn^2 * M; % Stiffness
C = 2 * eta * M * wn; % Damping

% Time domain
t = 0:0.05:10;  % Time from 0 to 10 with a step of 0.05
dt = 0.05;      % Time step

% Harmonic force parameters
F0 = 10;        % Amplitude of force
w = wd;         % Pulsation of the harmonic force
F = F0 * sin(pi() * t / 0.6); % Expression of the harmonic force

% Newmark's method parameters (Constant Average Acceleration)
gamma = 1/2;
beta = 1/4;

% Initialize
u = zeros(size(t));
v = zeros(size(t));
a = zeros(size(t));

% Initial conditions
u(1) = 0;
v(1) = 0;
a(1) = (F(1) - C * v(1) - K * u(1)) / M;

% Precompute coefficients
a1 = 1 / (beta * (dt^2)) * M + gamma / (beta * dt) * C;
a2 = 1 / (beta * dt) * M + (gamma / beta - 1) * C;
a3 = (1 / (2 * beta) - 1) * M + dt * (gamma / (2 * beta) - 1) * C;
k_hat = K + a1;

% Initialize arrays for table
p_hat_arr = zeros(size(t));
a_new_arr = zeros(size(t));
v_new_arr = zeros(size(t));
u_new_arr = zeros(size(t));

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]徐伟,赵先锋,史红艳等.表面微结构刀具流体润滑性能仿真分析[J/OL].润滑与密封:1-9[2024-03-25].http://kns.cnki.net/kcms/detail/44.1260.TH.20240321.1644.032.html.

[2]张光伟,尹福来,程礼林等.全旋转指向式导向钻井工具结构设计与仿真[J/OL].机械设计与制造:1-6[2024-03-25].https://doi.org/10.19356/j.cnki.1001-3997.20240315.006.

🌈4 Matlab代码实现

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值