结构动力计算多自由
- 格式:pptx
- 大小:1.74 MB
- 文档页数:67
newmark法计算多自由度结构响应多自由度结构是指具有多个独立振动模式的结构,在地震、风荷载等外部力作用下,结构会产生复杂的振动响应。
为了分析这种结构的振动响应,工程师通常使用有限元法中的newmark法。
本文将介绍newmark法的基本原理,以及如何使用该方法计算多自由度结构的振动响应。
一、newmark法的基本原理newmark法是一种常用的求解结构动力学问题的数值方法,它通过离散化结构的振动方程,将结构的振动响应分解为一系列的时间步长来进行计算。
newmark法的基本原理是基于结构的动力学方程和位移速度加速度之间的关系,通过数值积分的方法求解结构的位移、速度和加速度随时间的变化。
newmark法的基本框架可以表示为:\[ M\Delta \ddot{u}^{n+1} + C\Delta\dot{u}^{n+1} +Ku^{n+1} = P^n \]其中\(M\)是结构的质量矩阵,\(C\)是结构的阻尼矩阵,\(K\)是结构的刚度矩阵,\(\Delta \ddot{u}^{n+1}\)是时间步长\(n+1\)时刻的加速度增量,\(\Delta\dot{u}^{n+1}\)是时间步长\(n+1\)时刻的速度增量,\(u^{n+1}\)是时间步长\(n+1\)时刻的位移,\(P^n\)是时间步长\(n\)时刻的外部荷载。
通过对上述结构动力学方程进行离散化,并选取合适的数值积分格式,可以得到newmark法的具体计算公式,其中包括了位移、速度和加速度的更新公式。
因此,newmark法可以方便地用于求解多自由度结构的振动响应。
二、使用newmark法计算多自由度结构的振动响应1.模型建立首先,需要对多自由度结构进行建模。
建模过程包括确定结构的几何形状、确定结构的材料性质、确定结构的边界条件等。
一般来说,可以采用有限元法来对多自由度结构进行离散化,将结构划分为多个小单元,并在每个小单元上建立适当的位移场和应变场。
用matlab编程实现Newmark-β法计算多自由度体系的动力响应姓名:***学号:**************专业:结构工程用matlab 编程实现Newmark -β法 计算多自由度体系的动力响应一、Newmark -β法的基本原理Newmark-β法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析。
Newmark-β法假定:t u u u ut t t t t t ∆ββ∆∆]}{}){1[(}{}{+++-+= (1-1)2]}{}){21[(}{}{}{t u u t uu u t t t t t t ∆γγ∆∆∆+++-++= (1-2) 式中,β和γ是按积分的精度和稳定性要求进行调整的参数。
当β=0.5,γ=0.25时,为常平均加速度法,即假定从t 到t +∆t 时刻的速度不变,取为常数)}{}({21t t t u u ∆++ 。
研究表明,当β≥0.5, γ≥0.25(0.5+β)2时,Newmark-β法是一种无条件稳定的格式。
由式(2-141)和式(2-142)可得到用t t u ∆+}{及t u }{,t u}{ ,t u }{ 表示的t t u ∆+}{ ,t t u ∆+}{ 表达式,即有t tt t t t t u u t u u t u}){121(}{1)}{}({1}{2----=++γ∆γ∆γ∆∆ (1-3) t t t t t t t u t uu u t u}{)21(}){1()}{}({}{ ∆γβγβ∆γβ∆∆-+-+-=++ (1-4) 考虑t +∆t 时刻的振动微分方程为:t t t t t t t t R u K u C uM ∆∆∆∆++++=++}{}]{[}]{[}]{[ (1-5) 将式(2-143)、式(2-144) 代入(2-145),得到关于u t +∆t 的方程t t t t R u K ∆∆++=}{}]{[ (1-6)式中][][1][][2C t M tK K ∆γβ∆γ++= )}{)12(}){1(}{]([)}){121(}{1}{1]([}{}{2t t t t t t t t u t uu t C u u t u tM R R ∆γβγβ∆γβγ∆γ∆γ∆-+-++-+++=+求解式(2-146)可得t t u ∆+}{,然后由式(2-143)和式(2-144)可解出t t u∆+}{ 和t t u ∆+}{ 。
结构动力学中的模态分析和多自由度系统
结构动力学是力学中的一个分支,研究的是结构在外界载荷作
用下的动力响应和变形。
而模态分析是结构动力学中常用的分析
方法之一,它可以帮助我们深入了解结构的固有特性和动力响应。
在多自由度系统中,模态分析更是必不可少的方法之一。
一、模态分析的原理和方法
模态可以理解为结构在其内部和外部刺激或载荷下,自然振动
的特征方程根的值,也叫固有频率。
模态分析旨在通过求解结构
的特征值和特征向量来研究结构的固有特性。
具体的分析方法可
以分为三步:建立结构模型,求解结构特征值和特征向量,利用
特征值和特征向量进行分析。
二、模态分析的应用
在结构工程中,模态分析有广泛的应用。
首先,在结构设计阶段,我们可以通过模态分析确定结构的自然振动模型,确保结构
固有频率超出工作载荷频率,避免发生共振。
此外,模态分析还
可以帮助优化结构材料、结构形式及构件设计等方面。
在结构运
行和维护阶段,模态分析可以用于诊断结构的损伤,预测结构的
剩余寿命等。
三、多自由度系统和模态分析
多自由度系统指的是系统中有多个自由度,其模态分析和单自
由度系统有相似之处,但分析复杂度更高,需要运用更复杂的数
学模型和方法。
对于多自由度系统,我们可以利用有限元法建立
数学模型进行模拟分析,求解结构特征值和特征向量。
总之,在结构设计、分析和维护过程中,模态分析是一种十分
重要的手段。
通过模态分析,我们可以深入了解结构的固有特性,为结构设计和运行提供更可靠的保障。
多自由度体系wilson-θ法程序编写多自由度体系Wilson-θ法是一种广泛应用于多体动力学和结构动力学领域的数值计算方法。
本文将介绍如何使用Python编程语言编写多自由度体系Wilson-θ法的程序。
一、引言多自由度体系Wilson-θ法是一种基于有限元法的数值计算方法,适用于求解多体动力学和结构动力学中的问题。
该方法通过将体系分解为一系列有限元子系统,并采用θ矩阵方法进行求解,能够有效地处理大规模的多自由度体系。
二、程序编写1. 导入必要的库和模块在编写程序之前,需要导入必要的库和模块,包括numpy、scipy 和matplotlib等。
这些库提供了必要的数学运算、数值分析和图形绘制等功能。
2. 定义体系结构和有限元节点首先需要定义多自由度体系的结构和有限元节点的位置。
可以使用网格划分工具将体系划分为有限元网格,并定义每个节点的位置和编号。
3. 构建有限元矩阵和求解器使用Wilson-θ法进行数值计算,需要构建有限元矩阵和求解器。
该矩阵可以采用三角矩阵的形式进行表示,并使用θ矩阵方法进行求解。
在程序中,需要实现矩阵的构建、求解器的初始化等操作。
4. 迭代求解体系响应使用构建好的矩阵和求解器,可以进行迭代求解多自由度体系的响应。
在每次迭代中,需要输入当前时刻的体系响应作为初值,并输出下一时刻的响应结果。
5. 结果可视化最后,可以使用matplotlib等库将求解得到的响应结果进行可视化。
可以将时间历程、振型、频率响应等结果进行绘制,以便更好地分析体系的动态特性。
三、示例代码以下是一个简单的示例代码,用于演示如何使用Python编程语言编写多自由度体系Wilson-θ法的程序。
代码中假设体系由3个自由度的弹簧-质量系统组成,采用三角形矩阵进行求解。
```pythonimport numpy as npfrom scipy.sparse import csc_matrix, dia_matriximport matplotlib.pyplot as plt# 定义体系结构和有限元节点nodes = np.array([[0], [0.5], [1]]) # 节点位置数组degrees_of_freedom = 3 # 自由度数量system_size = len(nodes) # 体系大小node_indices = np.arange(system_size) # 节点编号数组# 构建有限元矩阵和求解器theta_matrix = csc_matrix(dia_matrix(system_size - degrees_of_freedom, 0)) # θ矩阵mass_matrix = csc_matrix(np.diag([0.5, 0.5, 1])) # 质量矩阵solution = np.zeros((system_size, degrees_of_freedom)) # 初始响应数组forces = np.zeros((system_size, degrees_of_freedom)) # 输出力数组forces[:degrees_of_freedom] = np.zeros((system_size, degrees_of_freedom)) # 初始输出力数组为零向量solver = theta_matrix.dot(solution) +theta_matrix.dot(forces) + mass_matrix # 初始化求解器theta_vector = np.zeros(system_size) # θ向量用于控制有限元矩阵的构造和更新# 进行迭代求解体系响应for iteration in range(100): # 迭代次数限制为100次response = solver.dot(theta_vector) # 输入当前时刻的响应作为初值进行迭代求解下一时刻的响应结果输出为力向量output_forces在每个节点上作用在体系的上结果可与theta向量用于控制有限元矩阵的构造和更新为了演示程序的基本结构和流程以上给出了一个简单的示例代码其中包含的主要内容有定义体系结构和有限元节点构建有限元矩阵和求解器以及进行迭代求解体系响应结果可视化等当然在实际应用中可能还需要考虑更多的因素例如如何处理边界条件如何处理体系的非线性特性等等因此在实际应用中需要根据具体问题对程序进行适当的修改和优化以下是一些可能需要的注意事项和技巧:1. 选择合适的有限元网格划分工具和算法,以确保计算的精度和效率。
结构动⼒特性及动⼒反应
⼀、结构动⼒计算的特点及动⼒⾃由度
与结构静⼒计算相⽐,结构承受周期荷载、冲击荷载、随机荷载等动⼒荷载作⽤时,结构的平衡⽅程中必须考虑惯性⼒的作⽤,有时还要考虑阻尼⼒的作⽤,且平衡⽅程是瞬时的,荷载、内⼒、位移等均是时间的函数。
由于在结构动⼒计算中要考虑惯性⼒、阻尼⼒的作⽤,故必须研究结构的质量在运动过程中的⾃由度。
结构的动⼒⾃由度是指确定运动过程中任⼀时刻全部质量的位置所需的独⽴⼏何参数的数⽬。
实际结构的质量都是连续分布的,均为⽆限⾃由度体系。
有时为了简化计算,将连续分布的质量⽤集中质量来代替,例如图6—1a、b、c、d所⽰体系,如果不计杆件轴向变形和集中质量的转动惯性,则其动⼒⾃由度分别为1、1、2、4。
⽽图6—1e所⽰桁架的动⼒⾃由度为2,这是由于桁架杆件应考虑轴向变形。