首页/文章/ 详情

用高斯积分法计算结构位移

2月前浏览614

 

高斯积分是常见的数值积分方法,是有限元计算中常用的数学工具。对于简化积分运算大有裨益。现在将其推广到结构力学,在计算结构位移时,用高斯积分来替代图乘法,同时用Python的sympy模块编程计算。

一、核心思路

在结构力学中,计算梁的挠度时,其莫尔积分公式为:

其中:

  • •     --实际荷载引起的弯矩方程
  • •     -- 虚拟状态施加单位力引起的弯矩方程
  • •     --截面抗弯刚度
  • •     --梁的长度

当   和   是复杂函数时,就需要用数值积分,而高斯积分是其中最精确、最高效的方法之一。

二、高斯积分法

高斯积分的基本思想是:在积分区间内,精心选择一些非等距的积分点(高斯点),用这些点上的函数值乘以相应的权重系数后求和,来近似积分值。

对于一个在标准区间    上的积分,其公式为:

其中:

  • •     --高斯积分点的个数
  • •     --第      个高斯点的坐标(在区间      内)
  • •     --第     个高斯点对应的权重
  • •     --被积函数

重要特性:对于    个高斯点,该方法可以精确积分最高   次的多项式。

根据被积函数    的多项式次数,选择足够的高斯点数    以保证精度。如果    和    是多项式,其乘积也是多项式,可以选择能精确积分的    值。常用    或    已能满足大部分工程精度。

常用高斯点与权重表(     和     

     
高斯点坐标               
权重               
2      
           
3      
           

             
           

             

用高斯积分法计算位移的步骤

  1. 1. 坐标变换
    将积分区间从物理坐标      映射到自然坐标     。    

    于是位移积分变为:

  2. 2. 定义被积函数
    令:    

    这里        和        是实际弯矩和单位弯矩方程用自然坐标        表示的函数。

  3. 3. 计算积分近似值
    利用公式:    

三、实例应用

一根简支梁,长   ,全跨受均布荷载     。用高斯积分法求跨中C点的竖向位移

  1. 1. 建立弯矩方程 (以左端A为原点)
    • • 实际荷载弯矩      :       
    • • 虚拟状态的单位荷载弯矩       (在跨中C点加竖直向下的单位力1):    
      由于对称,我们可积分一半长度(0到2)再乘以2。
  2. 2. 坐标变换 (对左半段     )
    • • 区间长度       
    • • 变换:       ,       
    • • 在左半段,      
  3. 3. 定义被积函数 (对左半段)    
  4. 4. 选择       高斯积分

被积函数最高次为3次,故选择2个高斯点。
python代码

  import sympy as sp

x, EI, xi, L1, w = sp.symbols('x EI xi L1 w')

Mx = 20*x - 5*x**2
mx = 0.5*x
f_x = (L1/(2*EI)) * Mx * mx * w  # 被积函数

f_xi = f_x.subs( x, L1/2 * (1 + xi) )  # 将 x 用xi替换

# Gauss-Legendre 积分点(-0.57735 ≈ -1/√3, 1/0.57735 ≈ 1/√3)

points = [-0.57735, 0.57735]
weight = [1.0, 1.0]

delta = 0
for
 i in range(2):    
    # 同时代入当前积分点的 xi 和权重 w

    delta += f_xi.subs({ xi: points[i],  w: weight[i]} )

r = delta.subs({EI: 1.6e4, L1: 2})
2
*r #对称性,左右半跨结果一样,故乘以2

 


来源:数值分析与有限元编程
python
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-02
最近编辑:2月前
太白金星
本科 慢慢来
获赞 14粉丝 32文章 397课程 0
点赞
收藏
作者推荐

应变的度量

几何非线性问题有两种描述格式:完全拉格朗日格式(Total-Lagrangian,TL)和更新拉格朗日格式(Updated-Lagrangian,UL)。在完全拉格朗日格式中,所有静力学和运动学物理量总是定义于初始构型(也叫参考构型),即在整个分析过程中参考构型保持不变;而在更新拉格朗日格式中,所有物理量参考于每一载荷增量或时间步长开始时的构型,即在分析过程中参考构型是不断更新的。拉格朗日(Lagrangian)应变定义在初始构型下,欧拉(Eulerian)应变定义于当前构型下。拉格朗日(Lagrangian)应变从参考构型出发,通过分析向量 的长度平方变化(如图1所示), ▲图1定义拉格朗日(Lagrangian)或格林(Green)应变张量 :代入式(1)可得长度平方变化的表达式:用位移梯度表示拉格朗日应变。将变形梯度与位移梯度的关系 代入 ,展开后可得:分量形式为:注意:无论哪种形式,拉格朗日应变都是对称二阶张量,即 。欧拉(Eulerian)应变重复上述步骤,但这次使用当前构型(而非参考构型)其中, 是空间变形梯度张量。定义欧拉应变张量 为:代入式(6)可得长度平方变化的表达式:我们定义空间位移梯度张量 为:利用链式法则,位移梯度满足 ,因此 。将这些结果代入欧拉应变的定义,可得用空间位移梯度表示的欧拉应变:分量形式为:与拉格朗日形式类似,欧拉应变也是对称二阶张量,即 。例子1🌰如图2所示,边长为 的立方体产生变形 ▲图2其中 为常数,确定立方体对角线 的长度平方差 。从映射关系直接可知,原点 保持不动,原本在点 的质点分别移动到点 。因此,平行于 平面内的质点仍留在这些平面内,正方形面 变为上述的平行四边形 。变形梯度参考构型下,对角线 的线元 ,代入公式得:参考构型下,对角线 的线元 ,代入公式得:参考构型下,对角线 的线元 ,代入公式得:例子2🌰🌰如图3是一根初始长度为 ,截面积为 的杆拉伸到长度为 ,截面积为 ,从初始构型到当前构型的简单映射 ▲图3轴向拉格朗日应变轴向欧拉应变除此之外,还有工程(名义)应变,对数(真实)应变等等。来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈