原地址:http://blog.163.com/zpfzcjndx@126/blog/static/635456812013017115922938/

       弧长法(Riks method)是目前结构非线性分析中数值计算最稳定、计算效率最高且最可靠的迭代控制方法之一,它有效地分析结构非线性前后屈曲及屈曲路径跟踪使其享誉"结构界"。大多数商业有限元软件(如ABAQUS、ANSYS等)也都将其纳入计算模块,作为一名工科生,机械式地"Step by Step"点击这些商业软件对话框的时候需"知其然,知其所以然",否则必将"Rubbish in,Rubbish out"。

图1 弧长法迭代求解过程

图1 所示为弧长法的迭代求解过程,下标表示第个荷载步,上标表示第个荷载步下的第次迭代,显然,若荷载增量,则迭代路径为一条平行于轴的直线,即为著名的牛顿—拉夫逊法。

设第个荷载步收敛于,那么对于第个荷载步来说,需要进行次迭代才能达到新的收敛点。外部参照力,在ABAQUS需要用户以外荷载的形式输入,因此,作用在结构上的真实力大小为。由于牛顿—拉夫逊法在迭代过程中,以荷载控制(或位移控制)时,荷载增量步(或位移增量步)为常数,它无法越过极值点得到完整的荷载—位移曲线,事实上,也只有变化的荷载增量步才能使求解过程越过极值点。从图1中可以看出,弧长法的荷载增量步是变化的,可以自动控制荷载,但这又使原方程组增加了一个多余的未知量,因此需要额外补充一个控制方程,即:

(1)

        该控制方程说明,其迭代路径是以上一个荷载步收敛点为圆心半径为的圆弧,所以称为弧长法。通常用户需指定初始弧长半径或固定的弧长半径,当设定了初始弧长半径时,根据收敛速率,一般按式(2)计算,其中为荷载步期望收敛迭代次数,一般取6, 为上一荷载步的迭代次数,大于10时取10。

(2)

           1. 当时,根据上一个荷载步收敛结束时的构形,得到用于第个荷载步收敛计算的切线刚度矩阵,即图1中的蓝色平行线的斜率。通过式(2)可得相应的切线位移。

(3)

(4)

(5)

        很容易由式(5)求得,但不能确定其符号,而的符号决定了跟踪分析是向前还是返回,因此非常重要。很多学者提出了不同的确定方法,Murray j.Clarke(1993),A Study of Incremental-iterative Strategies for Non-linear Analysis这篇文章详细地介绍了这些方法。 在ABAQUS中,符号按下式(6)确定:

(6)

       2. 当时,为了简化的求解过程,可以切平面法求解,即用垂直于切线的向量代替圆弧,即:

需要补充的关系式为:

        最后需要说明的是,假若考虑材料塑性行为,则每个迭代步的切线刚度矩阵应以当前迭代步的构形为准,即图1中的蓝色切线不再平行。

弧长法(Riks method)通用求解程序

原地址:http://blog.163.com/zpfzcjndx@126/blog/static/6354568120134228927334/

算例1. 如图1所示的平面杆系结构,顶点受到竖直向下的力P作用,用本程序(Riks method)进行计算,并将计算结果与精确解进行比较,如图2所示,通过对比可以说明本程序是正确的。

图1 计算简图

图2 跨中节点荷载—位移曲线对比

        算例2:图3是经典的Lee's frame简图,一个在端部正交的铰接约束平面刚架,在距离正交点一定距离处有集中力F作用。之所以称其为经典算例是因为它的荷载位移曲线同时集中了跳跃(snap-through )和回弹(snap-back)现象,传统的求解策略根本无法对其进行荷载—位移路径跟踪,在此,弧长法展现了很大优势,图4是运用本程序得到刚架的变形动画,图5是加载点的荷载位移曲线,并将其与ABAQUS计算结果进行对比,通过对比表明该程序的是正确的。

图3  Lee's Frame 简图

图4  Lee's frame变形动画

图2 加载节点荷载—位移曲线对比

程序核心部分:

读取数据文件(节点、单元、约束、截面属性、参考力、控制弧长、最大控制参量)
while 控制参量(如位移、最大荷载因子) < 最大控制参量
    计算当前切线刚度矩阵  K_Global
    计算参考位移 X_Ref= 参考力\K_Global
    计算初始荷载因子 lamda0=Arclength/sqrt(1+X_Ref'*X_Ref);
    判定初始荷载因子方向 +/- lamda0
    更新节点坐标,更新外力
    计算当前节点反力
    计算节点不平衡力Val
    while norm(Val)>1e-6
        计算不平衡力产生的位移X_Val
        计算荷载因子修正参数delta=X_Val'*X_Ref/(1+X_Ref'*X_Ref);
        修正荷载因子lamda1=lamda0-delta;
        更新初始荷载因子lamda0=lamda1;
        更新节点坐标,更新外力
        计算当前节点反力
        计算节点不平衡力Val
    end
end

转载于:https://www.cnblogs.com/shoout/p/9734744.html

【转载】弧长法(Riks Method)的基本原理相关推荐

  1. 区域法(zonal method)重构波前

    目的:实现区域法的Matlab代码 1.理论介绍 波前重建是一个积分过程,它将一系列独立的斜率或梯度测量值转换成一个平滑变化的三维表面,定义要校正的波前误差.波前梯度(斜率)测量不可避免地受到随机噪声 ...

  2. c#实现 改进弧长法判断点在多边形里面

    一.开发环境: VS2017,C# winform窗口程序 二.不同点 和网上的介绍不同,我也 不清楚是为什么,我去实现别的博客的思路,始终是在象限相差为2的地方会判断不正确,所以我自己思考了一种方法 ...

  3. 有限元 弧长法 matlab,有没有有关弧长法的程序!!!

    % % % This is a code of Pseudo-Arc Length Continuation Method %  the method can be used for solving ...

  4. R语言:接受拒绝法(Acceptance-Rejection Method)生成随机数

    接受拒绝法Acceptance-Rejection Method 原理解释 具体步骤 连续情况举例 离散情况举例 计算机能够通过调用自带函数,实现对均匀分布等常见分布的采样.但在实际情况中分布通常由其 ...

  5. 牛顿法求解1-100的平方根python_使用牛顿-拉弗森法定义平方根函数(Newton-Raphson method Square Root Python)...

    牛顿法(Newton's method)又称为牛顿-拉弗森法(Newton-Raphson method),是一种近似求解实数方程式的方法.(注:Joseph Raphson在1690年出版的< ...

  6. matlab用jc法计算可靠度,用MATLAB实现JC法计算结构可靠度程序

    软件设计开发本栏目责任编辑 :谢媛媛 ComputerKnowledgeand Technology 电脑知识与技术第 5 卷第 29 期 (2009 年 10 月) 用 MATLAB 实现 JC 法 ...

  7. HALCON:Optical Flow(光流法)

    HALCON:Optical Flow(光流法) 光流法基本原理 光流概念由Gibson在1950年首先提出来,它是一种简单实用的图像运动表达方式,通常定义为一个图像序列中图像亮度模式的表观运动,即空 ...

  8. 使用层次分析法对国内主流旅游电商网站进行评分排名

    一.原理: 主要运用层次分析法和模糊综合评价两种信息分析方法,通过定量与定性相结合方法对国内五个知名旅游电商网站进行综合评价,使用层次分析法和模糊综合评价对相应对象进行综合评价主要是通过构建判断矩阵, ...

  9. 反距离加权法高程_干货:企业估值的收益法、成本法和市场法

    适当的评估方法是企业价值准确评估的前提.本文将聚焦企业价值评估的核心方法,分别从方法的基本原理.适用范围以及局限性等方面给予分析和总结. 01企业价值评估方法的三大体系 企业价值评估是一项综合性的资产 ...

  10. 递归式求时间复杂度的代入法与迭代法的举例讲解

    在算法分析中,当一个算法中包含递归调用时,其时间复杂度的分析会转化为一个递归方程求解.实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比较常用的有以下四种方 ...

最新文章

  1. UI设计师面试时如何介绍自己?
  2. python3 的range
  3. Redis -- Hash(哈希) [3]
  4. [JavaWeb-Servlet]Servlet3.0注解配置
  5. 9-算法 希尔排序 shell_sort
  6. 吴恩达机器学习系列23:基于内容的推荐算法
  7. 224秒!ImageNet上训练ResNet-50最佳战绩出炉,索尼下血本破纪录
  8. 消息中间件原理及JMS简介之二
  9. Python热门开源项目TOP10
  10. 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)...
  11. excel 制作dashboard_【实例分享】勤哲Excel服务器做影视制作企业管理系统
  12. SSIS 抽取Excel每个sheet页的数据
  13. 百行代码,轻松实现机器人语音对话
  14. Windows XP 启动NetMeeting
  15. 微软服务器系统补丁kb2919355,Windows 8.1补丁KB2919355无法安装的解决方法
  16. 详细Ubuntu 22.04 配置最新UR机械臂仿真环境(ros2-humble, ur-sim, ur-ros2-driver)
  17. 指纹传感器安全性究竟有多少?
  18. inflect java_驼峰、下划线、单复数、表名-类名转换...通通交给字符串处理库:i...
  19. EXCEL——自定义单元格格式
  20. html5中不再支持table的cellspacing和cellpadding属性

热门文章

  1. excel表格怎么换行?单元格内换行的4个方法
  2. ubuntu安装中文环境 zh_CN.GB2312 zh_CN.GBK
  3. codecademy里能学好php,在iPhone上学编程:Codecademy
  4. 网络科学论坛纪要-2012
  5. 积木报表-报表常用操作
  6. 手机射频中的常见术语
  7. 游戏模型制作的注意事项 项目模型规范总结
  8. 《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM
  9. 微信涨粉加人100种方法完整版
  10. java的过滤器_java过滤器