跨连续梁内力计算程序程序
- 格式:doc
- 大小:232.00 KB
- 文档页数:12
连续梁内力计算程序设计报告书院系:土木工程班级:1233116班姓名:侯新明学号:1123310627一、程序功能1.计算多种荷载作用下连续梁指定截面的弯矩和剪力。
2.计算指定截面的弯矩影响线。
3.计算指定截面的剪力影响线。
4.计算指定支座的反力影响线。
二、使用说明首先在程序所在文件夹建立初始数据文件,文本格式,文件名任意(如data1),随后按照以下顺序输入数据第1组数据----基本参数共五个数据,依次为单元个数,支承类型编号,结点荷载个数,非结点荷载个数,弹性模量。
对支承类型编号作如下规定:梁两侧若是铰支,支承类型编号为1;左端固定端,右侧铰支编号为2;左侧铰支,右侧固定编号为3,两端均为固定编号为4。
弹性模量的数值任意,因为内力与刚度大小无关,仅与各杆刚度比值有关。
第2组数据----单元数据每个单元由两个数据描述,单元长度和截面惯性矩。
以从左到右次序建立各单元数据,n个单元有2n个数据。
第3组数据----结点荷载数据每个结点荷载两个数据描述,荷载大小(逆时针为正)和荷载作用的结点号。
m个结点荷载,有2m个数据。
若无结点荷载,此组数据无需建立。
第4组数据----非结点荷载数据每个非结点荷载用四个数据描述,荷载大小(方向向下为正),荷载在单元上的位置,荷载所在的单元编号,荷载类型。
共有四种荷载类型,集中力、均布力、集中力偶和三角形分布力。
均布力编号为1,均布力是从单元左端开始,结束位置为荷载位置。
集中力类型编号为2,荷载位置指荷载作用点到单元左端的距离。
集中力偶编号为3,荷载位置指荷载作用点到单元左端的距离。
三角形分布力编号为4若无非结点荷载此组数据无需建立。
注意:以上数据均无单位,故所有数据的单位要统一,如长度用m,力用kN,力矩用kN.m,截面惯性矩用m4。
结果则为kN.m。
然后运行“连续梁内力计算程序.exe”,输入初始文件名称,根据说明按数字键后回车进行指定类型计算运行结果输出在“连续梁内力计算结果.txt”中,“ZB.TXT”表示已连续梁为横轴,坐断为起点的横坐标。
连续梁内力系数表等跨计算方法标题:连续梁内力系数表等跨计算方法的深入探讨摘要:连续梁是结构工程领域中常见的桥梁形式之一,其设计和分析过程中内力系数表等跨计算方法起着重要的作用。
本文将从深度和广度的角度对内力系数表等跨计算方法进行评估,并介绍其在连续梁设计中的应用。
首页提供一个总结性的概述,然后按照从简到繁、由浅入深的顺序进行讨论,帮助读者更全面、深刻和灵活地理解这一主题。
关键词:连续梁、内力系数表、等跨计算方法、结构工程、设计1. 引言- 简要介绍连续梁及其在桥梁工程中的重要性- 引入内力系数表等跨计算方法的背景和目的2. 内力系数表的概述- 解释内力系数表的含义和作用- 简要介绍不同类型的内力系数表(例如,基于弯矩、剪力等)3. 等跨计算方法的基本原理- 解释等跨计算方法的基本概念- 介绍基于力和位移两种不同方法的计算原理4. 基于力的等跨计算方法- 讨论如何使用力方法计算连续梁的内力系数- 解释基本的力平衡原理和方程- 举例说明力方法的具体应用和计算过程5. 基于位移的等跨计算方法- 介绍位移方法计算内力系数的基本原理- 解释位移平衡原理和方程- 通过示例说明位移方法在连续梁设计中的应用6. 内力系数表等跨计算方法的应用- 详细说明内力系数表在连续梁设计和分析中的具体应用场景 - 比较不同方法的优缺点和适用性- 强调内力系数表等跨计算方法的重要性和价值7. 总结和回顾性的内容- 概括内力系数表等跨计算方法的关键要点- 回顾连续梁设计中的主要问题和挑战- 提供对这些方法的观点和理解- 探讨未来可能的发展方向和研究方向结论:本文深入探讨了内力系数表等跨计算方法在连续梁设计中的应用。
通过从简到繁、由浅入深的方式,读者可以更全面地理解这一主题。
我们总结了内力系数表的基本原理和不同的计算方法,并回顾了其在实际工程中的应用。
我们的文章旨在帮助读者对连续梁设计中的内力系数表等跨计算方法有更深刻的理解,并展示了其对于工程实践的重要性。
连续梁内力计算的三弯矩方程法连续梁是一种常见的结构形式,通常由多个梁段组成。
在设计和分析中,计算连续梁的内力分布至关重要。
一种常用的方法是三弯矩方程法,它可以有效地计算连续梁内力。
本文将详细介绍三弯矩方程法的原理和计算步骤。
1.连续梁的基本理论连续梁是由多个梁段连接而成的结构,一般由两个或多个简支梁段组成。
每个梁段之间的连接通常是通过铰链或刚性连接。
连续梁在载荷下会发生弯曲,产生弯矩和剪力。
在连续梁内力计算中,常使用约定正弯矩法。
根据该法则,连续梁的上弦正弯矩和下弦正弯矩的约定符号是一样的,通常为正。
而上弦负弯矩和下弦负弯矩的约定符号是相反的,通常为负。
这样,对于连续梁的任意截面,我们可以通过正负弯矩的大小来判断该截面在连续梁上弦还是下弦。
2.三弯矩方程法的原理三弯矩方程法是一种简单而有效的方法,用于计算连续梁的内力。
该方法基于下列假设:(1)梁的弯曲是弹性的;(2)梁在相邻支点之间的弯态是一致的。
三弯矩方程法的基本思想是根据连续梁的边界条件和几何性质,通过解三个未知弯矩方程,得到连续梁各截面的弯矩和剪力分布。
3.三弯矩方程的建立在连续梁的内力计算中,我们可以假设连续梁的截面弯矩分别为M1、M2和M3,与相邻支点的距离分别为x1、x2和x3、根据弯曲理论,我们可以得到以下三个方程:(1)在第一个支点M1处,弯矩为零:M1=0(2)在中间支点M2处,弯矩为零:M2=0(3)在第三个支点M3处,弯矩为零:M3=0这三个方程可以用来解出连续梁各截面处的弯矩分布,从而得到连续梁的内力。
4.三弯矩方程法的计算步骤(1)分析连续梁的边界条件和几何特性,包括支点处的边界条件、梁段长度和截面特性等。
(2)对连续梁进行分段,将连续梁划分为多个简支梁段。
(4)解三个未知弯矩方程,得到连续梁各截面处的弯矩分布。
(5)根据得到的弯矩分布,计算连续梁的剪力分布。
(6)结合连续梁截面的弹性性质,对剪力进行校核,以确定截面尺寸是否满足要求。
多跨连续梁计算程序V2.0用户使用手册上海易工工程技术服务有限公司目 次一、功能简介 (3)1.1 基本功能 (3)1.2 运行环境 (3)1.3 计算依据 (3)1.4 参数输入约定 (3)1.4.1 坐标系约定 (3)1.4.2 作用效应值的正负号约定 (3)1.4.3 参数采用的量纲 (3)1.5 计算原理 (3)1.5.1 内力计算 (3)1.5.2 效应组合 (4)1.5.3 配筋计算 (4)二、程序说明 (5)2.1 程序功能 (5)2.2 程序界面 (5)三、参数输入 (6)3.1基本参数输入 (6)3.2 地基系数 (6)3.3 截面参数 (6)3.4 连续梁参数 (8)3.5 节点支撑、连接方式 (9)3.6 荷载定义 (10)3.7 荷载输入 (11)3.8 组合参数输入 (13)四、结果查询、显示和输出 (15)4.1 计算结果查询 (15)4.2 计算结果图形显示 (15)4.3 计算结果报告书输出 (15)五、计算算例 (17)5.1、算例1刚性支座 (17)5.2 算例2弹性支座 (21)5.3 算例3弹性地基梁 (23)六、附录 (27)6.1 分项系数设置 (27)6.2 材料设置 (27)6.3 支撑方式设置 (27)6.4 背景颜色设置 (28)一、功能简介1.1 基本功能多跨连续梁计算系统是依据港口工程最新技术规范开发的工程辅助设计软件,该系统考虑多种支撑方式(弹性支撑、刚性支撑、自定义支撑)、多种单元模式(普通梁单元、弹性地基梁单元)、多种连接方式(节点铰接、节点固结)、多种荷载(集中力、均布力、滚动力),并且考虑叠合构件问题,此外该系统提供直观的3D视图方式显示连续梁实体模型、荷载、作用效应等,并且为用户提供完整的WORD格式报告书。
1.2 运行环境项 目最 低推 荐处理器Pentium II 350Pentium III450内 存128MB256MB可用硬盘50MB100MB显示分辨率800*6001024*768打印机Windows支持的图形打印机激光打印机操作系统Windows 98Windows 2000/xp1.3 计算依据使用规范《港口工程荷载规范》 (JTS 144-1-2010)《港口工程混凝土结构设计规范》(JTJ 267)1.4 参数输入约定1.4.1 坐标系约定X方向为沿连续梁方向,X零点为连续梁左侧。
二不等跨连续梁的内力系数1. 引言连续梁是工程结构中常见的一种形式,它由多个支点连接起来的梁段组成。
在实际工程中,由于各种因素的限制,连续梁的跨度长度可能不相等,即存在二不等跨连续梁。
在设计和分析连续梁时,了解和计算其内力系数是非常重要的,它能够帮助工程师评估结构的性能和安全性。
本文将详细介绍二不等跨连续梁的内力系数,包括定义、计算方法和影响因素等内容。
2. 内力系数的定义内力系数是指连续梁中各个截面上的内力与连续梁在整个跨度上的最大内力之比。
根据力学原理,连续梁的内力系数可以分为弯矩系数和剪力系数。
弯矩系数(Moment Coefficient)表示截面处的弯矩与连续梁整个跨度上的最大弯矩之比。
剪力系数(Shear Coefficient)表示截面处的剪力与连续梁整个跨度上的最大剪力之比。
内力系数的计算可以通过理论分析、数值模拟或实验测试等方法获得。
下面将介绍一种常用的计算方法。
3. 内力系数的计算方法3.1 弯矩系数的计算方法弯矩系数的计算方法主要分为两种:弯矩曲线法和弯矩面积法。
3.1.1 弯矩曲线法弯矩曲线法是一种基于连续梁弯矩曲线的计算方法。
首先,通过解析方法或数值方法计算出连续梁的弯矩曲线。
然后,在截面处绘制弯矩曲线,并计算该截面处的弯矩。
最后,将该截面处的弯矩与整个跨度上的最大弯矩进行比较,得到弯矩系数。
3.1.2 弯矩面积法弯矩面积法是一种基于连续梁弯矩面积的计算方法。
首先,通过解析方法或数值方法计算出连续梁的弯矩面积。
然后,在截面处绘制弯矩面积曲线,并计算该截面处的弯矩面积。
最后,将该截面处的弯矩面积与整个跨度上的最大弯矩面积进行比较,得到弯矩系数。
3.2 剪力系数的计算方法剪力系数的计算方法主要分为两种:剪力曲线法和剪力面积法。
3.2.1 剪力曲线法剪力曲线法是一种基于连续梁剪力曲线的计算方法。
首先,通过解析方法或数值方法计算出连续梁的剪力曲线。
然后,在截面处绘制剪力曲线,并计算该截面处的剪力。
附表25:等截面等跨连续梁在常用荷载作用下按弹性分析(de)内力系数(五跨梁).弯矩分配法(弯矩分配法计算连续梁和刚架及举例)一、名词解释弯矩分配法在数学上属于逐次逼近法,但在力学上属于精确法(de)范畴,主要适用于连续梁和刚架(de)计算.在弯矩分配法中不需要解联立方程,而且是直接得出杆端弯矩.由于计算简便,弯矩分配法在建筑结构设计计算中应用很广.(一)线刚度i杆件横截面(de)抗弯刚度EI 被杆件(de)长度去除就是杆件(de)线刚度i : (a ) 当远端B 为固定支座时,对于A 点处,AB 杆(de)转动刚度i S AB 4=; (b ) 当远端B 为铰支座时,对于A 点处,AB 杆(de)转动刚度i S AB 3=; (c ) 当远端B 为滑动支座时,对于A 点处,AB 杆(de)转动刚度i S AB =; (d ) 当远端B 为自由端时,对于A 点处,AB 杆(de)转动刚度0=AB S .连续梁和刚架(de)所有中间支座在计算转动刚度时均视为固定支座.(二)转动刚度S转动刚度表示靠近节点(de)杆件端部对该节点转动(de)反抗能力.杆端(de)转动刚度以S 表示,等于杆端产生单位转角需要施加(de)力矩,θ/M S =.施力端只能发生转角,不能发生线位移.AB S 中(de)第一个角标A 是表示A 端,第二个角标B 是表示杆(de)远端是B 端.AB S 表示AB 杆在A 端(de)转动刚度.(三)分配系数μ各杆A 端所承担(de)弯矩与各杆A 端(de)转动刚度成正比.Aj μ称为分配系数,如AB μ表示杆AB 在A 端(de)分配系数.它表示AB 杆(de)A 端在节点诸杆中,承担反抗外力矩(de)百分比,等于杆AB(de)转动刚度与交于A 点各杆(de)转动刚度之和(de)比值.总之,加于节点A(de)外力矩,按各杆(de)分配系数分配于各杆(de)A 端.(四)传递系数CijC 称为传递系数.传递系数表示当近端有转角(即近端产生弯矩)时,远端弯矩与近端弯矩(de)比值.因此一般可由近端弯矩乘以传递系数C 得出远端弯矩. 当远端为固定(de)边支座或为非边支座21=C ; 当远端为滑动边支座 1-=C ;当远端为铰支边支座 0=C .节点A 作用(de)外力矩M,按各杆(de)分配系数μ分配给各杆(de)近端;远端弯矩等于近端弯矩乘以传递系数.(五)杆端弯矩弯矩分配法解题过程中所指(de)杆端弯矩是所有作用于杆端(de)中间计算过程(de)最后总(de)效果.计算杆端弯矩(de)目(de),是因为杆端弯矩一旦求出,则每相邻节点之间(de)“单跨梁”将可以作为一根静定(de)脱离体取出来进行该杆(de)内力分析.其上作用(de)荷载有外荷载,每一杆端截面上一般有一个剪力和一个弯矩,两端共有二个剪力和二个弯矩.这两个弯矩就是两端(de)杆端弯矩,既然它们已经求出,那么余下(de)两个剪力可由两个静力平衡方程解出.(六)近端弯矩和远端弯矩二、弯矩分配法(de)思路在求杆端弯矩时,其主要(de)目标是:(1)由于节点上有两根或多根杆件汇集,因此需确定每一根杆在维持节点不转动平衡过程中所作出(de)贡献.这需要用到分配系数μ以及与分配系数μ有关(de)转动刚度S、线刚度i、截面刚度EI等值.(2)影响节点产生转动(de)力矩大小及方向.这需要涉及到单跨梁(de)固端弯矩M,它(de)含义是:将每相邻节点之间(de)杆件视为一根两端支座为固定支座或一端固定一端铰支(de)单跨梁,这样(de)梁在各种外荷载作用下(de)杆端弯矩叫做固端弯矩.两端铰支(de)单跨梁无固端弯矩,即两端铰支(de)单跨梁(de)两铰支端(de)固端弯矩为零.只有固定端才有固端弯矩,铰支端(de)固端弯矩为零(单跨梁).固定端不允许转动所以产生固端弯矩,而铰支端允许转动不产生固端弯矩.三、弯矩分配法(de)运算步骤连续梁或刚架弯矩分配法运算过程:(1)求各杆件(梁或柱)(de)线刚度i、杆端(梁端或柱端)转动刚度S和分配系数μ(对于刚架,参加分配系数计算(de)不仅有梁,还有柱).(2)根据各个“单跨”梁或柱(de)荷载情况和支座特征查表求出各“单跨”杆件在杆端(de)固端弯矩M.这里需注意(de)是固端弯矩是带符号(de),可以用“左负右正”四个字来帮助记忆.即对每一“单跨”梁而言,左端(de)M取负值或零,右端(de)M取正值或零.当“单跨”(de)边支座为铰支座时,它不能抵抗杆件(de)转动,所以边支座为铰支座时(de)M=0;但对于所有非边支座,则一律视为固定端支座.(3)将与同一支座相连接(de)各杆(de)固端弯矩M取代数和后反号按分配系数分配到与支座相连(de)各杆杆端.这一步(de)注意点是将固端弯矩代数和反号再分配.(4)将分配得到(de)弯矩视该节点各杆远端支座特征决定是否向远端传递.这种分配、传递将可能进行多次.这种次数只要进行(de)足够,从理论上讲将可以达到任意要求(de)精确度.但是工程实践上则只要进行2~3个循环即可满足正式结构设计(de)要求.(5)将上面四步运算之后(de)与同一节点相连(de)每根杆件杆端(de)固端弯矩、分配弯矩、传递弯矩分别求代数和,即为各杆(de)杆端弯矩.这一步(de)注意点是与同一支座相连(de)各杆(de)杆端弯矩代数和必定为零,否则说明计算上有错,或尚需进一步分配、传递.静定结构(de)内力只按静力平衡条件即可确定,其值与结构(de)材料性质和截面尺寸无关.超静定结构(de)全部反力和内力如只按静力平衡条件则无法确定,还必须同时考虑变形协调条件(即各部分(de)变形必须符合原结构(de)联接条件和支承条件)才能得出确定(de)解答,故超静定结构(de)内力状态与结构(de)材料性质和截面尺寸有关.在荷载作用下,超静定结构(de)内力只与各杆刚度(de)相对比值有关,而与其绝对值无关;在温度改变、支座移动等因素影响下,超静定结构(de)内力则与各杆刚度(de)绝对值有关,并且一般是与各杆刚度(de)绝对值成正比(de).对非结构专业来说,特别是对建筑学专业,不可能花大量(de)精力去从事对超静定结构(de)矩阵分析,因此弯矩分配法这样简明适用(de)方法就更有它(de)实际意义.一方面,弯矩分配法可以满足对一般正式结构设计(de)要求;另一方面,可以使建筑师加强对结构(de)概念设计.所以其优越性是显而易见(de). 例8-1 图示一连续梁,用弯矩分配法作弯矩图.解:(1)求分配系数a. 杆AB 和杆BC(de)线刚度lEI i =相等. b. 转动刚度:c. 分配系数:d. 校核:BA μ+BC μ=1,分配系数写在节点B 上面(de)方框内.(2)求固端弯矩M ,把梁看成两根独立(de)单跨梁.查表:AB 跨属表8-1编号5,而BC 跨属表8-1编号2.将结果写在相应杆端(de)下方.在节点B,BA 梁与BC 梁在B 端(de)固端弯矩代数和为(3)分配并传递,将节点B(de)固端弯矩代数和反号得被分配(de)弯矩为-6kN ·m,此弯矩按分配系数分配于两杆(de)B 端;并由于A 端为固端边支座,所以由BA 杆(de)B 端向A 端传递去B 端弯矩(de)一半;C 端由于是铰支边支座,故传递系数为零,即不向C 端传递.a. 分配弯矩:b. 传递力矩:用箭头表示弯矩传递(de)方向.(4)将以上结果竖向叠加,即得到最后(de)杆端弯矩.可列表进行,最下面一行表示最后结果.注意B 节点应满足平衡条件:注意A 端是固定边支座,只有一根杆AB,其分配系数为1,故它虽有固端弯矩m kN M AB ⋅-=15,但不存在分配或向B 端传递(de)问题,可A 端却可以接受从B 端传递过来(de)弯矩.(5)计算跨中弯矩a. 将AB 梁按简支梁画出计算简图,其上(de)荷载有两种,一是本来存在(de)集中荷载,二是在它两端按弯矩分配法算出(de)杆端弯矩,以集中力偶(de)形式作用于A 、B 两杆端处.见图8-10(a ).b. 将AB 梁按两端简支梁情况下,仅作用有集中荷载时求出在中点(de)弯矩,见图8-10(b ).m kN M ⋅=⨯=⋅30310荷载中c. 将AB 梁按两端简支梁情况下,仅在两端分别有杆端弯矩作用下求出中点(de)弯矩,实际上是一个几何梯形(de)中位线长度纵坐标,见图8-10(c ).d. 跨中点弯矩(de)最终结果为b 、c 两步纵坐标(de)代数和.梁段上(de)其它任一点(de)弯矩也可以参照以上方法求出.中点弯矩为(6)在计算有多个节点(de)连续梁或刚架时,若将两个节点同时分配和传递,这两个节点既可相邻也可是被一个节点在当中隔开(de)形式.若从不平衡力矩(即节点四周各杆(de)杆端弯矩(de)代数和)较大(de)节点开始,可使收敛较快.(7)作弯矩图a. 用弯矩分配法列表计算出(de)都是各杆带正号或负号(de)杆端弯矩.正顺负逆(顺正逆负)b. 带+号(正号一般省略不写)(de)杆端弯矩使杆端作顺时针旋转,此时想象杆端往远端方向稍远一些(de)横截面固定不动.比如图8-9中AB 杆在B 端(de)杆端弯矩m kN M BA ⋅+=57.11,想象离B 端稍往左处(de)杆截面(图8-9中(de)D-D 截面)固定不动,由于正号杆端弯矩+·m,所以它使B 端绕这个想象中被固定(de)横截面作顺时针旋转.显然这个+·m(de)杆端弯矩使AB 上这小段杆件BD(de)上部纤维受拉,下部纤维受压.我们总是把弯矩图画在杆件(de)受拉纤维一侧.因此AB 杆在B 端(de)杆端弯矩+·m 应画在杆(de)横线(de)上方.c. 带负号(de)杆端弯矩使杆端作逆时针旋转,此时也同样想象离杆端往远端方向稍远一些(de)横截面固定不动.比如图8-9中AB 杆在A 端(de)杆端弯矩m kN M AB ⋅-=72.16,想象离A 端稍往右处(de)杆截面(图8-9中(de)E-E 截面)固定不动,由于是负号杆端弯矩·m,所以它使A 端绕这个想象中被固定(de)横截面作逆时针旋转.显然这个·m(de)杆端弯矩使AB 上(de)这一“小段”杆件AE(de)上部纤维受拉,下部纤维受压.根据弯矩图总是画在杆件(de)受拉纤维一侧(de)规定,因此AB 杆在A 端(de)杆端弯矩·m 也应画在代表杆(de)横线(de)上方.d. 至于每一单跨上(de)跨中弯矩,只需凭弯矩图总是画在受拉纤维一侧这个规定和跨中弯矩(de)计算过程就可以正确(de)决定它是画在代表杆(de)横线上方还是下方.(8)计算剪力a. 按每一单跨杆件分别取脱离体求剪力.把每一单跨梁看成简支梁,它(de)荷载有三种:第一种是原来就作用在单跨上(de)荷载.第二种是用弯矩分配法算出来(de)杆端弯矩.第三种是简支梁(de)两端两个支座反力,它们是未知(de),由于脱离体可列出两个静力平衡方程,而支座反力也恰好为两个,故可顺利求出.而这两个支座反力,就是我们要求(de)剪力.杆端剪力在这里起了“支座反力”(de)作用.因此将“支座反力”用箭头表示,方向和大小假定,先不考虑它(de)真实指向和大小.b. 按简支梁求支座反力(de)方法列出平衡方程可求出箭头所示力(de)大小和正负号.剪力大小即等于支座反力,从解方程直接得出,剪力(de)方向视箭头所示力(de)正负号而定.如果是正号,说明箭头指向就是真正(de)指向;如果是负号,说明与原假定(de)指向相反.画出剪力图.例8-2 试计算图8-11连续梁(de)杆端弯矩和跨中弯矩.并作弯矩图.解:(1)求固端弯矩:(2)求分配系数:a. 对节点B,相邻两杆BA 、BC(de)转动刚度所以b. 同理,对节点C 有:(3)分配结果见图8-11.(4)求跨中弯矩a. 对AB 跨:b. 对BC 跨:c. 对CD 跨见图8-12.在集中力作用下,CD 跨(de)最大跨间弯矩发生在集中力P=160kN 作用点. (a )在集中力作用下,该点(de)简支梁弯矩(图8-12b )(b )在杆端弯矩作用下,该点(de)负弯矩为(图8-12c )(c) 该点(de)弯矩为1M 和2M (de)代数和.(5)作出连续梁(de)弯矩图.例8-4 试用弯矩分配法计算图8-14(a )所示等截面连续梁(带悬臂梁)(de)各杆端弯矩.并作弯矩图.已知各杆EI 值为:AB 为6,BC 为4,CD 为4,DE 为6 .解:此梁(de)悬臂EF 为一静定部分,该部分(de)内力根据静力平衡条件便可求得: kN V m kN M EF EF 20,40=⋅-=.若将该悬臂部分去掉,而将EF EF V M 和作为外力作用于节点E,图8-14(b ),节点E 便化为铰支端,整个计算即可按此考虑.计算分配系数时,其中计算固端弯矩时,对杆DE,将相当于一端固定另一端铰支(de)单跨梁,除跨中受集中力作用外,并在铰支端E 处受一集中力和一集中力偶(de)作用.其中作用在E 端(de)集中力为支座直接承受,在梁内不引起弯矩,而E 端(de)力偶40kN ·m 将使杆DE 引起固端弯矩,其值DE M 为DE 跨在D 端(de)固端弯矩DEM '(编号1)与EF 跨在E 端(de)固端弯矩EF M 向远端D(de)传递弯矩DEM ''之代数和,即 其余固端弯矩均可查表求得.分配及弯矩图见8-14.例8-5 求图8-15所示刚架(de)弯矩图.解:(1)转动刚度:(2)分配系数:节点B :节点C :(3)固端弯矩:由于只有梁有外荷载,故也只有梁才有固端弯矩,它们为(4)力矩分配:按C 、B 顺序分配两轮,计算见图8-16(a ),放松节点(de)次序可以任取,并不影响最后(de)结果.但为了缩短计算过程,最好先放松不平衡力矩较大(de)节点,在本例中,先放松节点C 较好.(5)作弯矩图.图8-16(b ).讨论:(1)当刚架竖柱比横梁(de)线刚度大很多时,即梁柱i i >>,则∑∑+梁柱柱i i i 接近于1(如梁柱i i 20≥,误差在5%以内).杆端(柱端)弯矩接近于固端弯矩.此时,竖柱对横梁而言,起固定支座(de)作用.也就是说,在这种情况下,每相邻两个节点之间(de)横梁,可以当作两端固定(de)单梁来计算,不必用弯矩分配法来求解了.(2)当刚架横梁比竖柱(de)线刚度大很多时,即柱梁i i >>,则∑∑+梁柱柱i i i 接近于零(如柱梁i i 20≥,误差在5%以内).杆端(柱端)弯矩接近于零.此时,竖柱对横梁而言,起铰支座(de)作用.这种情况下,横梁(de)每个支座都将视作铰支座(习惯上是一个固定铰支座,其余则为活动铰支座),横梁演化为一根以柱为支点(de)连续梁,用弯矩分配法可求出每一杆端弯矩.(3)当∑∑+梁柱柱i i i 介于上述两者之间时,其计算简图为刚架,用弯矩分配法求解. 四、弯矩分配法与电算结果(de)比较下图中括号外为弯矩分配法计算结果,括号内为电算计算结果.。
三跨连续梁内力计算公式(二)三跨连续梁内力计算公式在设计和分析三跨连续梁时,需要计算梁的内力,以确保梁的结构安全和稳定。
以下是三跨连续梁内力计算中常用的公式及其解释:弯矩计算公式跨中弯矩在三跨连续梁的中跨位置,我们可以使用以下公式计算跨中弯矩(M):M = (w * L^2) / 8其中,w是梁上的集中荷载,L是梁的跨度长度。
这个公式基于简支梁的等效弯矩理论,适用于三跨连续梁的中跨位置。
内跨及外跨弯矩对于三跨连续梁的内跨和外跨位置,我们可以使用以下公式计算弯矩:M = (w * L^2) / 12这个公式同样基于简支梁的等效弯矩理论,但采用了不同的分母。
内跨和外跨位置的弯矩计算公式是相同的。
剪力计算公式内跨剪力在三跨连续梁的内跨位置,我们可以使用以下公式计算剪力(V):V = (w * L) / 8这个公式是基于简支梁的剪力分布,适用于三跨连续梁的内跨位置。
外跨剪力在三跨连续梁的外跨位置,我们可以使用以下公式计算剪力:V = (w * L) / 12这个公式同样基于简支梁的剪力分布,与内跨位置的剪力计算公式相比,只是分母不同。
举例说明假设我们有一座三跨连续梁,梁的总跨度为10米,集中荷载为20千牛。
根据上述计算公式,我们可以计算梁的内力。
跨中弯矩跨中弯矩的计算公式为:M = (w * L^2) / 8代入已知值:M = (20 * 10^2) / 8 = 250千牛·米因此,三跨连续梁跨中位置的弯矩为250千牛·米。
内跨及外跨弯矩内跨及外跨位置的弯矩计算公式为:M = (w * L^2) / 12代入已知值:M = (20 * 10^2) / 12 = 千牛·米因此,三跨连续梁的内跨和外跨位置的弯矩均为千牛·米。
内跨剪力内跨剪力的计算公式为:V = (w * L) / 8代入已知值:V = (20 * 10) / 8 = 25千牛因此,三跨连续梁的内跨位置的剪力为25千牛。
计算多跨静定梁时,可以按照以下步骤进行计算顺序:
1. 确定梁的支座类型和位置:首先确定梁的支座类型,例如固定支座、铰支座或滑动
支座,并确定它们的位置。
2. 划分梁的跨数:根据实际情况,将梁划分为多个跨。
3. 确定每个跨的边界条件:对于每个跨,确定其边界条件,如支座反力、弯矩、剪力等。
4. 单独计算每个跨的内力:对于每个跨,使用适当的方法(如力法、位移法或弯矩法)计算其内力分布。
5. 跨间连续性条件的处理:对于相邻的两个跨,考虑它们之间的连续性条件,例如弯
矩连续性条件。
6. 解算未知反力:根据边界条件和连续性条件,解算出所有跨的未知反力。
7. 检验静定条件:检查所得到的反力是否符合静定条件,即受力平衡和变形平衡。
8. 计算梁的内力分布:根据已知的反力和边界条件,计算梁的内力分布,如弯矩、剪
力和轴力。
9. 校验计算结果:检查计算结果是否满足设计要求,如强度、刚度和稳定性等。
请注意,以上仅为一般情况下多跨静定梁计算的顺序,具体问题具体分析,可能需要
根据实际情况进行调整。
同时,如果你有特定的问题或需要更详细的计算步骤,请提
供更多信息,我将尽力提供帮助。
三跨连续梁 内力计算公式(一)三跨连续梁 内力计算公式1. 弯矩计算公式•综合法:根据对称轴原理,可以得到弯矩计算公式为:M =qL 28,其中q 为荷载值,L 为跨度。
• 悬臂法:对于三跨连续梁中两个悬臂梁的弯矩计算,可以使用悬臂法,其公式为:M =qL 212,其中q 为荷载值,L 为悬臂梁的长度。
2. 剪力计算公式• 剪力平衡法:根据剪力平衡原理,可以得到剪力计算公式为:V =qL 2,其中q 为荷载值,L 为跨度。
• 弯矩法:根据弯矩和剪力的关系,可以得到剪力计算公式为:V =−dM dx ,其中M 为弯矩,x 为跨度上的任意位置。
3. 梁的挠度计算公式• 三跨连续梁的挠度计算可以使用弹性力学理论,其中常用的公式是梁的挠度计算公式为:δ=5qL 4384EI ,其中q 为荷载值,L 为跨度,E 为梁的弹性模量,I 为梁的惯性矩。
• 对于三跨连续梁中两个悬臂梁的挠度计算,可以使用悬臂梁挠度计算公式为:δ=qL 4192EI ,其中q 为荷载值,L 为悬臂梁的长度,E 为梁的弹性模量,I 为梁的惯性矩。
举例解释假设有一根三跨连续梁,其总跨度为10米,其中两个悬臂梁的长度为2米,受到均匀分布荷载为10kN/m 的作用。
根据上述计算公式,可以得到以下结果:1. 弯矩计算:• 综合法:M =10×1028=125 kNm • 悬臂法:M =10×2212=103 kNm ,对应两个悬臂梁 2. 剪力计算:• 剪力平衡法:V =10×102=50 kN• 弯矩法:根据弯矩和剪力的关系,可以在弯矩计算的基础上求得剪力分布。
例如,在距离支座2米处的剪力为V =−dM dx =−1255=−25 kN 。
3. 梁的挠度计算:• 综合法:δ=5×10×104384×E×I ,需要进一步提供梁的弹性模量E 和惯性矩I 来计算。
• 悬臂法:δ=10×24192×E×I ,同样需要提供梁的弹性模量E 和惯性矩I 。
六跨连续梁内力计算程序说明文档一.程序适用范围本程序用来解决六跨连续梁在荷载作用下的弯矩计算。
荷载可以是集中力Fp(作用于跨中)、分布荷载q(分布全垮)、集中力偶m(作用于结点)的任意组合情况。
端部支承可为铰支或固支。
二.程序编辑方法使用Turbo C按矩阵位移法的思路进行编辑,用Turbo C中的数组来完成矩阵的实现,关键的求解K⊿=P的步骤用高斯消元法。
三.程序使用方法运行程序后,按照提示,依次输入结点编号,单元编号,单元长度,抗弯刚度(EI的倍数),集中力,均部荷载,集中力偶,各个数据间用空格隔开,每一项输入完毕后按回车键,所有数据输入完毕后按任意键输出结果。
输出结果中包括输入的数据(以便校核),角位移的值(以1/EI为单位)以及每个单元的左右两端弯矩值。
四.程序试算1.算例1算力图示:输入数据:结点:1 2 3 4 5 6 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(11.383738,-1.434142,-8.980504,14.053733,-10.192107,10.048027,0)EI单元编号 1 2 3 4 5 6 左端弯矩 0.00000 -14.92439 -7.30243 -12.37565 -8.16809 -7.95197 右端弯矩 14.92439-0.6975712.3756518.168097.9519723.024012. 算例2 算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:0 1 2 3 4 5 6; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1.5 1 2 1 1.5;Fp :0 12 8 0 6 0; q :8 0 0 4 0 6;m :0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(0,1.686721,-10.080218,14.871010,-12.183221,17.195206,-26.597603)EI单元编号 1 2 3 4 5 6 左端弯矩 -9.82331 -12.35339 -7.76314 -12.55393 -6.58562 -14.10360 右端弯矩 12.35339-0.2368612.5539316.5856214.103600.00000弯矩图如下:3. 算例3 算例图示:6EI8kN/m 4m 3m 2m 8m kN/m1236544kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN 10kN.mEI1.5EI EI EI 2EI 1.5输入数据:结点:0 1 2 3 4 5 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:1(0,1.653925,-9.949034,14.264283,-10.248253,10.062063,0) EI单元编号123456左端弯矩-9.83978-12.32059-7.87793-12.19318-8.21722-7.93794右端弯矩12.32059-0.1220712.1931818.217227.9379423.03103弯矩图如下:4.算例4算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m 6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:1 2 3 4 5 6 7; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1.5 1 2 1 1.5;Fp :0 12 8 0 6 0; q :8 0 0 4 0 6; m :0 0 -8 0 10 0 0 运行程序如下:结果为: 角位移为:1(11.364772,-1.396211,-9.113262,14.660626,-12.126579,17.179023,-26.589511)EI单元编号 1 2 3 4 5 6 左端弯矩 -0.00000 -14.25984 -7.18863 -12.73600 -6.53707 -14.11573 右端弯矩 14.95284-0.8113712.7360016.5370714.115730.00000弯矩图如下:五.源程序#include<stdio.h>#include<conio.h>定义变量int joint[7]; 结点编号int unit[6]; 单元编号float length[6];长度float EI[6]; 抗弯刚度float P[6]; 集中力float q[6]; 均部荷载float m[7]; 集中力偶double I[6]; 线刚度int number=7,i,j;double K[7][7]={0}; 整体刚度矩阵double k[6][2][2]; 单元刚度矩阵doubleMP[6][2],Mq[6][2],Mlast[6][2],M[7]={0},tatleM[7],mm[7],Mqueue[7]={0},antiM[7]= {0};依次为:集中力、均布荷载引起的固端弯矩,最终杆端弯矩,全部荷载引起的弯矩,总的结点荷载,按结点编号排列的结点集中力偶,按结点编号排列的固端弯矩,等效结点弯矩double angle[7]={0}; 角位移void input(); 输入函数void solve(); 求解函数void output(); 输出函数void Gauss(); 高斯消元法void main(){input();solve();output();}void input(){clrscr();printf("Please input data.\n\nThe joint number:");for(i=0;i<7;i++)scanf("%d",&joint[i]);printf("\nThe unit number:");for(i=0;i<6;i++)scanf("%d",&unit[i]);printf("\nThe length:");for(i=0;i<6;i++)scanf("%f",&length[i]);printf("\nThe EI:");for(i=0;i<6;i++)scanf("%f",&EI[i]);printf("\nThe Fp:");for(i=0;i<6;i++)scanf("%f",&P[i]);printf("\nThe q:");for(i=0;i<6;i++)scanf("%f",&q[i]);printf("\nThe m:");for(i=0;i<6;i++)scanf("%f",&m[i]);}void solve(){for(i=0;i<7;i++){if(joint[i]==0) number-=1;}for(i=0;i<6;i++){MP[i][0]=-P[i]*length[i]/8;MP[i][1]=P[i]*length[i]/8;}for(i=0;i<6;i++){Mq[i][0]=-q[i]*length[i]*length[i]/12;Mq[i][1]=q[i]*length[i]*length[i]/12; }for(i=1;i<6;i++){M[i]=MP[i-1][1]+MP[i][0]+Mq[i-1][1]+Mq[i][0];}M[0]=MP[0][0]+Mq[0][0];M[6]=MP[5][1]+Mq[5][1];if(joint[0]==0)j=1;else j=0;for(i=j;i<7&&joint[i]>=1;i++){Mqueue[joint[i]-1]=M[i];mm[joint[i]-1]=m[i];}for(i=0;i<7;i++)antiM[i]=-Mqueue[i];for(i=0;i<7;i++)tatleM[i]=antiM[i]+mm[i];for(i=0;i<6;i++)I[i]=(EI[i]/length[i]);if(joint[0]==0) K[joint[1]-1][joint[1]-1]+=4*I[0];if(joint[6]==0) K[joint[5]-1][joint[5]-1]+=4*I[5];for(i=0;i<6;i++){k[i][0][0]=4*I[i],k[i][0][1]=2*I[i],k[i][1][0]=2*I[i],k[i][1][1]=4*I[i]; }for(i=j;joint[i]>=1&&joint[i+1]>=1&&i<6;i++){K[joint[i]-1][joint[i]-1]+=k[i][0][0];K[joint[i]-1][joint[i+1]-1]+=k[i][0][1];K[joint[i+1]-1][joint[i]-1]+=k[i][1][0];K[joint[i+1]-1][joint[i+1]-1]+=k[i][1][1];}getch();}void output(){clrscr();printf("The data you put in:\n\tjoint :");for(i=0;i<7;i++){printf("\t");printf("%d",joint[i]);}printf("\n\n\tunit :");for(i=0;i<6;i++){printf("\t");printf("%d",unit[i]);}printf("\n\n\tlength :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",length[i]); }printf("\n\n\tEI :");for(i=0;i<6;i++){printf("\t");printf("%1.1f",EI[i]);}printf("\n\n\tFp :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",P[i]);}printf("\n\n\tq :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",q[i]);}printf("\n\n\tm :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",m[i]);}Gauss();for(i=0;i<6;i++){Mlast[i][0]=k[i][0][0]*angle[joint[i]-1]+k[i][0][1]*angle[joint[i+1]-1]+MP[i][0 ]+Mq[i][0];Mlast[i][1]=k[i][1][0]*angle[joint[i]-1]+k[i][1][1]*angle[joint[i+1]-1]+MP[i][1 ]+Mq[i][1];}printf("\n--------------------------------------------------------------------------------");printf("\nThe angle(1/EI):\n\n");for(i=0;i<number;i++){printf("%12.6f",angle[i]);}printf("\n--------------------------------------------------------------------------------");printf("\nunit number");for(i=0;i<6;i++){printf("%6d ",unit[i]);}printf("\n\nleft M \t");for(i=0;i<6;i++) printf("%12.5f",Mlast[i][0]);printf("\n\nright M\t");for(i=0;i<6;i++) printf("%12.5f",Mlast[i][1]);getch();}void Gauss(){int l,m;double box;double BOX[7]={0};for(j=0;j<(number-1);j++){for(i=j;i<number;i++){if(K[i][j]!=0){for(m=0;m<number;m++){BOX[m]=K[i][m];K[i][m]=K[j][m];K[j][m]=BOX[m]; }box=tatleM[i];tatleM[i]=tatleM[j];tatleM[j]=box; break;}}for(m=j+1;m<number;m++){K[j][m]/=K[j][j];}tatleM[j]/=K[j][j];K[j][j]=1;for(l=j+1;l<number;l++){tatleM[l]+=-tatleM[j]*K[l][j];for(m=number-1;m>=j;m--){K[l][m]+=-K[j][m]*K[l][j];}}}tatleM[number-1]/=K[number-1][number-1];K[number-1][number-1]=1;for(i=0;i<number;i++)angle[i]=tatleM[i];for(i=number-2;i>=0;i--){for(j=number-1;j>i;j--)angle[i]=angle[i]-K[i][j]*angle[j];}}。
等截面等跨连续梁内力系数表等截面等跨连续梁是一种常见的桥梁结构,它在桥梁工程中广泛应用。
为了确保连续梁的结构安全和有效承载荷载,需要进行内力计算。
而在内力计算过程中,内力系数起着重要的作用。
本文将详细介绍等截面等跨连续梁内力系数表的作用、计算方法及应用。
一、等截面等跨连续梁内力系数表的作用等截面等跨连续梁内力系数表是用来计算连续梁在不同荷载作用下的内力的工具。
通过内力系数表,可以快速、准确地获得连续梁的内力分布,从而判断结构的安全性和合理性。
内力系数表还可以用来指导设计工作和材料选用,以满足设计要求和经济效益。
因此,等截面等跨连续梁内力系数表对于桥梁工程设计和施工具有重要的指导作用。
二、等截面等跨连续梁内力系数的计算方法等截面等跨连续梁内力系数的计算是基于连续梁的结构特点和力学原理的。
一般来说,计算连续梁内力系数需要考虑以下几个关键因素:1. 荷载条件:根据实际使用情况和设计要求,确定连续梁所承受的荷载类型和荷载大小。
常见的荷载类型包括自重、活载、恒载等。
2. 支座条件:根据连续梁的支座形式和约束条件,确定支座在内力计算过程中的影响。
支座条件的确定对于内力计算结果的准确性和结构安全性具有重要意义。
3. 物理参数:包括连续梁的几何参数、材料参数等。
几何参数主要包括跨度、截面形状、弯矩曲率等;材料参数主要包括荷载下的材料强度、刚度等。
基于以上关键因素,可以利用数学公式、力学原理等计算方法,进行连续梁内力系数的计算。
一般来说,连续梁内力系数的计算可以分为初始值的计算和递推计算两个步骤。
初始值的计算是在不考虑变形和位移的情况下进行的,主要通过力学平衡等原理进行计算。
递推计算是通过考虑连续梁的位移和变形等因素,对初始值进行修正和调整,以获得更加准确的内力系数。
三、等截面等跨连续梁内力系数表的应用等截面等跨连续梁内力系数表的应用可以分为两个方面:设计和检验。
在设计方面,内力系数表可以为连续梁的结构设计提供依据。
四跨连续梁的内力计算四跨连续梁模型图如下所示,各个杆件抗弯刚度EI相同,利用平面梁单元分析它的变形和内力1.结构力学分析利用结构力学方法可以求出这个连续梁的剪力图和弯矩图如下这里只给出了梁的弯曲刚度相同条件,没有指定梁截面的几何参数和材料的力学性质。
从结构力学分析的条件上看,这些条件对于确定梁的内力已经足够,但是对于梁的变形分析和应力计算,还需要补充材料的力学参数和截面几何参数。
所以以下分析中,假定梁的截面面积位0.3m2,抗弯惯性矩为0.003m4,截面高度为0.1m;材料的弹性模量为1000kN/m2,泊松比为0.3。
补充这些参数对于梁的内力没有影响,但是对于梁的变形和应力是有影响的。
2.用节点和单元的直接建模求解按照前面模型示意图布置节点和单元,在图示坐标系里定位节点的坐标和单元连接信息,以及荷载作用情况和位移约束。
由于第二跨中间有两个集中力,所以在集中力位置设置两个节点。
这样,就可以将这两个集中力直接处理成节点荷载。
对于平面梁单元的节点只需输入平面上的两个坐标值,所以这里只输入节点的x坐标和y坐标。
(1)指定为结构分析运行主菜单中preference偏好设定命令,然后在对话框中,指定分析模块为structural结构分析,然后单击ok按钮(2)新建单元类型运行主菜单preprocessor—element type—add/edit/delete命令,接着在对话框中单击add按钮新建单元类型(3)定义单元类型先选择单元为beam,接着选2d elastic 3,然后单击ok按钮确定,完成单元类型的选择(4)关闭单元类型的对话框回到单元类型对话框,已经新建了beam3的单元,单击对话框close按钮关闭对话框(5)定义实力常量运行主菜单preprocessor—real constants—add/edit/delete命令,接着在对话框中单击add按钮新建实力常量接着选择定义单元beam3的实力常量,选择后单击ok按钮,然后输入该单元的截面积为0.3,抗弯惯性矩为0.003m4,截面高度为0.1m,输入后单击ok按钮(6)设置材料属性运行主菜单preprocessor—material props—material models材料属性命令,选择材料属性命令后,系统会显示材料属性设置对话框(7)设置杨氏弹性模量与泊松比在材料属性设置对话框右侧依序选择两次structural—linear—elastic—isotropic完成选择命令后,接着在对话框中EX杨氏弹性模量输入1e6,PRXY泊松比输入0.3,在数值输入后,单击ok按钮完成设置(8)关闭材料属性设置对话框完成材料属性的设置后,可在对话框右侧上方单击按钮,关闭材料属性设置(9)生成节点运行主菜单preprocessor—modeling—create—nodes—in active cs生成节点于目前坐标系统命令。
六跨连续梁内力计算程序说明文档一.程序适用范围本程序用来解决六跨连续梁在荷载作用下的弯矩计算。
荷载可以是集中力Fp(作用于跨中)、分布荷载q(分布全垮)、集中力偶m(作用于结点)的任意组合情况。
端部支承可为铰支或固支。
二.程序编辑方法使用Turbo C按矩阵位移法的思路进行编辑,用Turbo C中的数组来完成矩阵的实现,关键的求解K⊿=P的步骤用高斯消元法。
三.程序使用方法运行程序后,按照提示,依次输入结点编号,单元编号,单元长度,抗弯刚度(EI的倍数),集中力,均部荷载,集中力偶,各个数据间用空格隔开,每一项输入完毕后按回车键,所有数据输入完毕后按任意键输出结果。
输出结果中包括输入的数据(以便校核),角位移的值(以1/EI为单位)以及每个单元的左右两端弯矩值。
四.程序试算1.算例1算力图示:输入数据:结点:1 2 3 4 5 6 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1 2 1 ;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(11.383738,-1.434142,-8.980504,14.053733,-10.192107,10.048027,0)EI单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩2. 算例2 算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:0 1 2 3 4 5 6; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1 2 1 ; Fp :0 12 8 0 6 0; q :8 0 0 4 0 6; m :0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(0,1.686721,-10.080218,14.871010,-12.183221,17.195206,-26.597603)EI单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩弯矩图如下:3. 算例3 算例图示:6EI8kN/m 4m 3m 2m 8m kN/m1236544kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN 10kN.mEI1.5EI EI EI 2EI 1.5输入数据:结点:0 1 2 3 4 5 0; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1 2 1 ;Fp :0 12 8 0 6 0; q :8 0 0 4 0 6; m :0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(0,1.653925,-9.949034,14.264283,-10.248253,10.062063,0)EI单元编号 1 2 3 4 5 6 左端弯矩 右端弯矩弯矩图如下:4. 算例4 算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m 6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:1 2 3 4 5 6 7;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6; EI:1 1 2 1 ;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:1(11.364772,-1.396211,-9.113262,14.660626,-12.126579,17.179023,-26.589511) EI单元编号123456左端弯矩右端弯矩弯矩图如下:五.源程序#include<>#include<>定义变量int joint[7]; 结点编号int unit[6]; 单元编号float length[6];长度float EI[6]; 抗弯刚度float P[6]; 集中力float q[6]; 均部荷载float m[7]; 集中力偶double I[6]; 线刚度int number=7,i,j;double K[7][7]={0}; 整体刚度矩阵double k[6][2][2]; 单元刚度矩阵doubleMP[6][2],Mq[6][2],Mlast[6][2],M[7]={0},tatleM[7],mm[7],Mqueue[7]={0},antiM[7]= {0};依次为:集中力、均布荷载引起的固端弯矩,最终杆端弯矩,全部荷载引起的弯矩,总的结点荷载,按结点编号排列的结点集中力偶,按结点编号排列的固端弯矩,等效结点弯矩double angle[7]={0}; 角位移void input(); 输入函数void solve(); 求解函数void output(); 输出函数void Gauss(); 高斯消元法void main(){input();solve();output();}void input(){clrscr();printf("Please input data.\n\nThe joint number:");for(i=0;i<7;i++)scanf("%d",&joint[i]);printf("\nThe unit number:");for(i=0;i<6;i++)scanf("%d",&unit[i]);printf("\nThe length:");for(i=0;i<6;i++)scanf("%f",&length[i]);printf("\nThe EI:");for(i=0;i<6;i++)scanf("%f",&EI[i]);printf("\nThe Fp:");for(i=0;i<6;i++)scanf("%f",&P[i]);printf("\nThe q:");for(i=0;i<6;i++)scanf("%f",&q[i]);printf("\nThe m:");for(i=0;i<6;i++)scanf("%f",&m[i]);}void solve(){for(i=0;i<7;i++){if(joint[i]==0) number-=1;}for(i=0;i<6;i++){MP[i][0]=-P[i]*length[i]/8;MP[i][1]=P[i]*length[i]/8;}for(i=0;i<6;i++){Mq[i][0]=-q[i]*length[i]*length[i]/12;Mq[i][1]=q[i]*length[i]*length[i]/12; }for(i=1;i<6;i++){M[i]=MP[i-1][1]+MP[i][0]+Mq[i-1][1]+Mq[i][0];}M[0]=MP[0][0]+Mq[0][0];M[6]=MP[5][1]+Mq[5][1];if(joint[0]==0)j=1;else j=0;for(i=j;i<7&&joint[i]>=1;i++){Mqueue[joint[i]-1]=M[i];mm[joint[i]-1]=m[i];}for(i=0;i<7;i++)antiM[i]=-Mqueue[i];for(i=0;i<7;i++)tatleM[i]=antiM[i]+mm[i];for(i=0;i<6;i++)I[i]=(EI[i]/length[i]);if(joint[0]==0) K[joint[1]-1][joint[1]-1]+=4*I[0];if(joint[6]==0) K[joint[5]-1][joint[5]-1]+=4*I[5];for(i=0;i<6;i++){k[i][0][0]=4*I[i],k[i][0][1]=2*I[i],k[i][1][0]=2*I[i],k[i][1][1]=4*I[i]; }for(i=j;joint[i]>=1&&joint[i+1]>=1&&i<6;i++){K[joint[i]-1][joint[i]-1]+=k[i][0][0];K[joint[i]-1][joint[i+1]-1]+=k[i][0][1];K[joint[i+1]-1][joint[i]-1]+=k[i][1][0];K[joint[i+1]-1][joint[i+1]-1]+=k[i][1][1];}getch();}void output(){clrscr();printf("The data you put in:\n\tjoint :");for(i=0;i<7;i++){printf("\t");printf("%d",joint[i]);}printf("\n\n\tunit :");for(i=0;i<6;i++){printf("\t");printf("%d",unit[i]);}printf("\n\n\tlength :");for(i=0;i<6;i++){printf("\t");printf("%",length[i]);}printf("\n\n\tEI :");for(i=0;i<6;i++){printf("\t");printf("%",EI[i]);}printf("\n\n\tFp :");for(i=0;i<6;i++){printf("\t");printf("%",P[i]);}printf("\n\n\tq :");for(i=0;i<6;i++){printf("\t");printf("%",q[i]);}printf("\n\n\tm :");for(i=0;i<6;i++){printf("\t");printf("%",m[i]);}Gauss();for(i=0;i<6;i++){Mlast[i][0]=k[i][0][0]*angle[joint[i]-1]+k[i][0][1]*angle[joint[i+1]-1]+MP[i][0 ]+Mq[i][0];Mlast[i][1]=k[i][1][0]*angle[joint[i]-1]+k[i][1][1]*angle[joint[i+1]-1]+MP[i][1 ]+Mq[i][1];}printf("\n--------------------------------------------------------------------------------");printf("\nThe angle(1/EI):\n\n");for(i=0;i<number;i++){printf("%",angle[i]);}printf("\n--------------------------------------------------------------------------------");printf("\nunit number");for(i=0;i<6;i++){printf("%6d ",unit[i]);}printf("\n\nleft M \t");for(i=0;i<6;i++) printf("%",Mlast[i][0]);printf("\n\nright M\t");for(i=0;i<6;i++) printf("%",Mlast[i][1]);getch();}void Gauss(){int l,m;double box;double BOX[7]={0};for(j=0;j<(number-1);j++){for(i=j;i<number;i++){if(K[i][j]!=0){for(m=0;m<number;m++){BOX[m]=K[i][m];K[i][m]=K[j][m];K[j][m]=BOX[m];}box=tatleM[i];tatleM[i]=tatleM[j];tatleM[j]=box;break;}}for(m=j+1;m<number;m++){K[j][m]/=K[j][j];}tatleM[j]/=K[j][j];K[j][j]=1;for(l=j+1;l<number;l++){tatleM[l]+=-tatleM[j]*K[l][j];for(m=number-1;m>=j;m--){K[l][m]+=-K[j][m]*K[l][j];}}}tatleM[number-1]/=K[number-1][number-1]; K[number-1][number-1]=1;for(i=0;i<number;i++)angle[i]=tatleM[i];for(i=number-2;i>=0;i--){for(j=number-1;j>i;j--)angle[i]=angle[i]-K[i][j]*angle[j];}}。