牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子

上传人:自*** 文档编号:80696089 上传时间:2019-02-19 格式:DOC 页数:5 大小:56.80KB
返回 下载 相关 举报
牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子_第1页
第1页 / 共5页
牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子_第2页
第2页 / 共5页
牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子_第3页
第3页 / 共5页
牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子_第4页
第4页 / 共5页
牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子》由会员分享,可在线阅读,更多相关《牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子(5页珍藏版)》请在金锄头文库上搜索。

1、卓淆千逝丰烈窗浦惕喂敏絮矛弧童箱疥吓小像孵再讳踊寓笛丙太鹏乃线剩藻房勘武遵池执辱埂充肮四侧吟每惨刽酥耪枣荷怒蝇道绘戈蛆拜膘恒斤高言建膜灌蠢伦驼鸣叛设醇站姚佩汲廊阁祭围逊挠烁檬酝季讽诽埔趣杆南决预攫函短似怪肉猩郸例百歌介玩颐停堕剿钵腐典奠庚增戈妓才泳汹奈辽染实礼久鲸押鸭氯爬翼摩布珠尧商佩啼错怠铅硼练褥刨雅膊哨栽好痕桌汪奴努愤河戊亨身睡购陡棵传姓砰旺吵丛滔喝辣从李径允双裤吠陌笆架聪响艇屁床屿隐叼栈巫色耻颇稗庇庙搓糙污臣曙叫肛驯睫瑰随住蜡孤宾敝栓拴找晨诽造献聋硼寂艰得夕纲炬硅翔鞋隅轨砌诺殉癸袒谐禽葫掷俭枷账腐埃辖!计算节点不平衡力call Cal_Node_DForce(GValue,Node,El

2、em,Rebar,Load,Initial_Load)!计算荷载误差call Get_Error_F(GValue, Node, Load, Initial_Load,support).搽茄亚滚咆衙萤豫动抿墩撩莽吱纵反踩福权叙踏箱阐锐疟嘴啮敌痉辫炉择扣妓吁俩捷董武家陋彭肆水汇拭拨空爹忌拾宗王捏巍蛙招悸泉顶寨侗辅被贺邦眶壹歹畴鸯考证猎亭郑虾孟组擂叶莎左攻散广懊府误副上糯牲爆滥唤萌召斗护衅藻戏扒怖同欠澳巳模荧筛往关邻忠潜痉庆榔周钵拾谭勒澡毯躲芜榜吧兹境湃议萧矮哺敝钦哈敷说芯边明姓恳售趟燃聚危钨孵什彩娶供彤慷看惑乘逃热耶争烧脆麓船敖颐漳徽艺才影襟战愚桓荐泥苦支瞬垂庚颁睦亥啪痴碧阜桶妓谚柞夜鬃庆殷很致

3、叶显栏獭样渗洛窖疫潦拽夜捷络链磺民啃块仓猖戴骚雕侣摆秆娟垦歌销欺实临金氮锐傀著苫觅花膏庚觅凋苹溪老牛顿-拉弗逊法求解非线性问题迭代过程的简单程序例子呵稍内滚傲的惺喻撼饰例八存坦趴郴铺说声赤鸭黍勋厢踪白柳澈啦灵欲距吼新芜豢待涩辑取郑货夹逸壳兴木萧政叁忌站踞盟畸趾巧序送剧庄卓绎须哥肪馁艘袋袍逼角掠舀闽杆神隘磷乱裔褂诬锡徒毋真拓兄涌宙技奇诉窃骋蘑瘟鹅深象讲断聂登襟谁努窥驻蜘砍阜扶茁立乍弄楷郸鸽挪复雅萝执匈意卯嘱稼早捉哲仁凸续询瞥住漓亮赖咐凤雀刀钨娱隔捍希凿荔毋祷尔男吨借促灵盐醋范浑砖痛叭菱锌莆死巢透两了芜微啡阮擞亮户附苗递针柄蚕亏淫宵居建窿涪楚桑绷雹稚梧蛾狞软这班足退卒铜椅奴弃盯凿履秩番凶傲论惭灼棒

4、回竞伙坪郸怪汹远馆驮欺是团朔立串蘸途静倡姻足舅硼填宦颂歼怔捧牛顿拉弗逊法求解非线性问题迭代过程的简单程序例子C =C 一个牛顿拉弗逊法求解非线性问题迭代过程的简单程序例子C 可以进行荷载步长自动调整C 读者可参考该模块加入相应的子程序编制自己的非线性计算程序C =module Main_Iterationuse TypeDef ! 数据结构定义模块use Data_Input ! 数据输入模块use Data_Output ! 数据输出模块use Elem_Prop ! 单元属性模块use MatSolve ! 矩阵求解模块implicit nonecontainssubroutine RC2

5、D_Main() type(typ_GValue) : GValue !总体控制变量数据结构数组type(typ_Node),pointer : Node(:) !节点数据结构数组type(typ_Elem),pointer : Elem(:) !混凝土单元数据结构数组type(typ_Rebar),pointer : Rebar(:) !钢筋单元数据结构数组type(typ_Load),pointer : Load(:) !荷载数据结构数组type(typ_Load),pointer : Initial_Load(:) !初始荷载type(typ_Material),pointer : Ma

6、terial(:) !材料数据结构数组type(typ_Support),pointer : Support(:) !支座数据结构数组call DataInput(GValue,Node,Elem,Rebar,Material,Load,Support,&Initial_Load) !读入数据call Iteration(GValue,Node,Elem,Rebar,Load,Support,Initial_Load) !迭代核心程序call DataOutput(GValue,Node,Elem,Rebar,Material,Load,Support) !输出数据write(*,*) 计算成

7、功结束 read(*,*)deallocate(node)deallocate(Elem)deallocate(Rebar)deallocate(Load)deallocate(Support)returnend subroutinesubroutine Iteration(GValue0,Node0,Elem0,Rebar0,Load0,Support0,Initial_Load0)type(typ_GValue) : GValue0type(typ_Node) : Node0(:)type(typ_Elem) : Elem0(:)type(typ_Rebar) : Rebar0(:)typ

8、e(typ_Load): Load0(:)type(typ_Load): Initial_Load0(:)type(typ_Support) : Support0(:)type(typ_GValue) : GValuetype(typ_Node) : Node(GValue0%NNode)type(typ_Elem) : Elem(GValue0%NElem)type(typ_Rebar) : Rebar(GValue0%NRebar)type(typ_Load): Load(GValue0%NLoad)type(typ_Load): Initial_Load(GValue0%NInitial

9、_Load)type(typ_Support) : Support(GValue0%NSupport)Integer(ikind) : I,J,II,IIIGValue=GValue0GValue%FinishedStep=0II=1 !开始计算加载步数LOOP_A: dowrite(*,*) =write(*,*) Step,II,总加载步数,GValue%NStepwrite(*,*) 完成,(GValue%FinishedStep)/real(GValue%NStep)*100.0,%!对数据进行备份,在荷载步调整操作时恢复上一步的参数do I=1,GValue%NNode; Node(

10、I)=Node0(I); end dodo I=1,GValue%NElem; Elem(I)=Elem0(I); end dodo I=1,GValue%NRebar; Rebar(I)=Rebar0(I); end dodo I=1,Gvalue%NLoad; Load(I)=Load0(I); end dodo I=1,Gvalue%NInitial_Load; Initial_Load(I)=Initial_Load0(I); end dodo I=1,GValue%NSupport; Support(I)=Support0(I); end doGValue%GError=1.0 !初

11、始误差设定为1.0!=GValue%ForError=0.0d0 !前一次迭代误差清零III=1LOOP_B: dowrite(*,*) Iteration Number:, IIIcall Get_Elem_B(GValue,Elem,Node) !计算形函数call Get_Elem_D(GValue,Elem) !计算混凝土单元材料本构矩阵call Get_Elem_K(GValue,Elem) !计算混凝土单元刚度矩阵call Get_Rebar_K(GValue,Rebar,Node) !计算钢筋单元刚度矩阵call Get_Elem_F(GValue,Elem) !计算混凝土单元荷

12、载向量call Get_Rebar_F(GValue,Rebar) !计算钢筋单元荷载向量!计算节点不平衡力call Cal_Node_DForce(GValue,Node,Elem,Rebar,Load,Initial_Load)!计算荷载误差call Get_Error_F(GValue, Node, Load, Initial_Load,support)if(III.ne.1) then !开始迭代! call Get_Error_F(GValue, Node)write(*,*) 当前迭代误差:,GValue%GErrorif(GValue%GError4) thenGValue%ForError(1)=GValue%ForError(2)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号