六跨连续梁内力计算程序程序
- 格式:doc
- 大小:233.00 KB
- 文档页数:11
连续梁内力计算程序设计报告书院系:土木工程班级: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”表示已连续梁为横轴,坐断为起点的横坐标。
连续梁计算一、几何数据及计算参数构件编号: LL-1混凝土: C25 主筋: HRB335 箍筋: HPB235保护层厚度as(mm): 25.00 指定主筋强度:无跨中弯矩调整系数: 1.00 支座弯矩调整系数: 1.00(说明:弯矩调整系数只影响配筋)自动计算梁自重:是恒载系数: 1.20 活载系数: 1.40二、荷载数据荷载工况1 (恒载):三、内力及配筋1. 弯矩图2. 剪力图3. 截面内力及配筋0支座: 正弯矩 0.00 kN*m,负弯矩 0.00 kN*m,剪力 0.00 kN,上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm21跨中: 正弯矩 0.00 kN*m,负弯矩 15.48 kN*m,剪力-70.03 kN,挠度1.13mm(↓),位置:左端裂缝 0.00mm上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2箍筋: d6@180, 实际面积: 314.16 mm2/m, 计算面积: 283.33 mm2/m 1支座: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 35.02 kN*m, 位置: 0.00m剪力左 -70.03 kN, 位置: 1.00m剪力右 211.09 kN, 位置: 0.00m上钢筋: 3D12, 实际面积: 339.29 mm2, 计算面积: 300.00 mm2下钢筋: 3D12, 实际面积: 339.29 mm2, 计算面积: 300.00 mm22跨中: 正弯矩 272.01 kN*m, 位置: 2.91m负弯矩 0.00 kN*m, 位置: 0.00m剪力-333.13 kN, 位置: 7.50m挠度6.65mm(↓),位置:跨中裂缝 0.31mm上钢筋: 4D14, 实际面积: 615.75 mm2, 计算面积: 567.04 mm2下钢筋: 5D22, 实际面积: 1900.66 mm2, 计算面积: 1890.13 mm2箍筋: d6@30, 实际面积: 1884.96 mm2/m, 计算面积: 1452.83 mm2/m 2支座: 正弯矩 0.00 kN*m,负弯矩 492.70 kN*m,剪力左 -333.13 kN,剪力右 333.13 kN,上钢筋: 3D40, 实际面积: 3769.91 mm2, 计算面积: 3727.31 mm2下钢筋: 5D18, 实际面积: 1272.35 mm2, 计算面积: 1118.19 mm23跨中: 正弯矩 272.01 kN*m,负弯矩 0.00 kN*m,剪力333.13 kN,挠度6.65mm(↓),位置:跨中裂缝 0.31mm上钢筋: 4D14, 实际面积: 615.75 mm2, 计算面积: 567.04 mm2下钢筋: 5D22, 实际面积: 1900.66 mm2, 计算面积: 1890.13 mm2箍筋: d6@30, 实际面积: 1884.96 mm2/m, 计算面积: 1452.83 mm2/m 3支座: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 35.02 kN*m, 位置: 0.00m剪力左 -211.09 kN, 位置: 7.50m剪力右 70.03 kN, 位置: 0.00m上钢筋: 2D18, 实际面积: 508.94 mm2, 计算面积: 463.89 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm24跨中: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 15.56 kN*m, 位置: 0.33m剪力70.03 kN, 位置: 0.00m挠度1.12mm(↓),位置:右端裂缝 0.00mm上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2箍筋: d6@180, 实际面积: 314.16 mm2/m, 计算面积: 283.33 mm2/m 4支座: 正弯矩 0.00 kN*m,负弯矩 0.00 kN*m,剪力 0.00 kN,上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2。
多跨连续梁课程设计一、课程目标知识目标:1. 学生能理解多跨连续梁的基本结构特点,掌握其受力分析原理。
2. 学生能掌握多跨连续梁的内力计算方法,包括弯矩、剪力和轴力的计算。
3. 学生能了解多跨连续梁在不同工况下的荷载组合及设计原则。
技能目标:1. 学生能够运用所学知识,对实际工程中的多跨连续梁进行受力分析和内力计算。
2. 学生能够根据计算结果,提出合理的设计方案,并运用相关软件进行模拟分析。
3. 学生能够通过团队合作,解决多跨连续梁设计中的实际问题。
情感态度价值观目标:1. 培养学生对结构工程的兴趣,激发他们热爱科学、探索未知的热情。
2. 培养学生的创新意识和实践能力,使他们具备解决实际问题的信心和勇气。
3. 培养学生的团队协作精神,提高沟通与交流能力,使他们能够在工作中与他人合作,共同完成任务。
本课程针对高年级土木工程专业学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。
通过本课程的学习,学生将能够掌握多跨连续梁的相关知识,具备实际工程设计能力,并在情感态度价值观方面得到全面提升。
为确保教学效果,课程设计将注重理论与实践相结合,充分调动学生的主动性和积极性。
二、教学内容1. 多跨连续梁结构概述- 结构特点及分类- 工程应用案例介绍2. 多跨连续梁受力分析- 弯矩、剪力、轴力的产生及计算方法- 支座反力的计算与分配- 应力分布与变形特点3. 多跨连续梁内力计算- 弯矩分配法- 超静定结构影响线法- 计算机辅助分析软件应用4. 多跨连续梁设计原则与方法- 荷载组合与设计准则- 材料选择与截面设计- 抗震设计要求5. 实践教学环节- 实际工程案例分析与讨论- 团队合作设计多跨连续梁- 设计计算书及图纸绘制教学内容根据课程目标,结合教材相关章节,进行科学、系统地组织。
教学大纲明确各部分内容的安排和进度,确保学生在掌握理论知识的基础上,能够应用到实际工程设计中。
通过本章节的学习,学生将全面了解多跨连续梁的结构特点、受力分析、内力计算和设计方法,为今后从事相关领域工作奠定基础。
多跨连续梁计算程序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零点为连续梁左侧。
六跨连续梁内力计算程序说明文档一.程序适用范围本程序用来解决六跨连续梁在荷载作用下的弯矩计算。
荷载可以是集中力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.000003. 算例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单元编号 1 2 3 4 5 6 左端弯矩 -9.83978 -12.32059 -7.87793 -12.19318 -8.21722 -7.93794 右端弯矩 12.32059-0.1220712.1931818.217227.9379423.031034. 算例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单元编号123456左端弯矩-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]; 单元刚度矩阵double MP[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];}}整理文档。