本章节的研究对象是集中载荷与均匀分布荷载模型,在C语言程序中输入数据,借助Microsoft Excel电子表格对数据进行可视化处理,作出模型的剪力图与弯矩图,让用户更直观地看到模型受力情况。

弯曲应力可视化程序算法流程图如下:

Part 1.剪力图与弯矩图的可视化

例题3.试利用荷载集度、剪力和弯矩间的微分关系作左图所示梁的剪力图和弯矩图。

解题思想与算法:

A.头文件与宏定义、全局变量声明部分:

#include<stdio.h>
#include<math.h>
#define N 5
double M[N];//外力偶矩
double F[N];//均匀集中力
double f[N];//分布力
double l[N-1];//各段长度
double L=0.0;//总长
double Fs;//总力
double Ms;//总力偶矩
double x=0.0;
int Number;
double F_Data;
double M_Data;

B.主函数与外部函数部分:

(1).按照提示输入对应数据.

按受力情况来分,左图的梁可分为AC与CB两段,在程序中,字母标记方式仍为:以O为原点,按照分段情况依次标记A、B、C等字母,如右图所示,OA对应AC段,AB对应CB段,基于=0与=0原理求解,由﹒2m-2kN﹒1.5m=0可得=1.5kN。按要求界面提示输入对应参数。

运行界面:

代码片段:

int main(){char Letter[N]={'O','A','B','C','D'};printf("请输入所分段数(<=4):");scanf("%d",&Number);printf("请按一定方向依次输入连续各段长度与分布力情况.格式:长度,分布力(用英文逗号隔开).\n");for(int i=0;i<Number;i++){printf("%c%c段:",Letter[i],Letter[i+1]);scanf("%lf,%lf",&l[i],&f[i]); }printf("请输入各点受集中力与外力偶矩(以顺时针为正)情况.格式:集中力,外力偶矩(用英文逗号隔开).\n");for(int i=0;i<Number;i++){printf("%c点:",Letter[i]);scanf("%lf,%lf",&F[i],&M[i]);}

(2).程序计算剪应力:分布力(斜率)*距离+集中力(常数);计算弯矩:剪应力的积分+外力偶矩(常数)。将用户输入的每段距离分为20等份(也可以根据用户需要分为若干等份),创建名为“弯曲应力数据”的Excel表格,将坐标x、剪应力、弯矩数据分别导入表格1~3列。程序界面不会输出任何计算结果,程序结束。

代码片段:

FILE *fp;fp=fopen("弯曲应力数据.xls","w");//建立“弯曲应力数据”Excel文件fprintf(fp,"x\tFs\tM\n");//在文件中输入对应参数名fprintf(fp,"0\t0\t0\n");//图像的闭合性,Fs从零开始 for(int i=0;i<Number;i++)Ms=M[i]+Ms;for(int i=0;i<Number;i++){if(i<1){Fs=F[0];}else{Fs=Fs+F[i];} fprintf(fp,"%lf\t%lf\t%lf\n",x,Fs,Ms);for(int j=0;j<20;j++){//各段取20等份,计算对应x坐标的数据x=x+l[i]/20;if(i<1){F_Data=f[i]*x+F[i];M_Data=0.5*f[i]*x*x+F[i]*x+Ms;}else{F_Data=f[i]*(x-L)+Fs;M_Data=0.5*f[i]*(x-L)*(x-L)+Fs*(x-L)+Ms;}fprintf(fp,"%lf\t%lf\t%lf\n",x,F_Data,M_Data);}if(i<1){Fs=f[i]*l[i]+F[i];Ms=0.5*f[i]*l[i]*l[i]+F[i]*l[i]+Ms;}else{Ms=0.5*f[i]*l[i]*l[i]+Fs*l[i]+Ms;Fs=f[i]*l[i]+Fs;}L=L+l[i];fprintf(fp,"%lf\t%lf\t%lf\n",L,Fs,Ms);}fprintf(fp,"%lf\t0\t%lf\n",L,Ms);fclose(fp);//保存并关闭文件return 0;
}

(3).用Excel处理数据:打开Excel后,点击“插入”,点击图表并选择散点图,选择一种合适的图表样式,如果不想被过多数据点干扰可选择“带平滑线的散点图”。例如,可得到如下图所示的剪力图与弯矩图,蓝线与x轴包围的部分表示剪力图,橙线与x轴包围的部分表示弯矩图。另外,还可以通过显示坐标数据等功能找出对应的极值点,进一步处理数据。

Part 2.弯曲应力可视化程序的应用

变式5.由工字形钢制成的简支梁受力如图所示。已知材料的许用弯曲正应力[σ]=170MPa,许用切应力=100MPa。试选择工字钢号码。

解题思路:对A点约束反力进行分析,基于=0与=0原理求解得:约束反力FA=113.12kN。按照界面提示输入参数,打开程序生成的Excel表格,插入图表,找到扭矩图曲线对应的最高点(极大值点),选择显示其对应纵轴坐标,得到Mmax约为83.97kN﹒m。最后按照题目要求进行计算,得出结果。

运行界面:

Excel处理结果:

结论:

弯曲应力篇对简单力学模型的剪力图、弯矩图实现了可视化的效果,使用支持MATLAB、Python等语言的IDE也能更方便地实现这种效果。最后一篇blog会对扭转变形、拉压变形、弯曲应力几篇内容进行总结,欢迎继续阅读QAQ~

基于C语言的材料力学模型计算实现(弯曲应力篇)相关推荐

  1. 基于C语言的材料力学模型计算实现(扭转变形篇)

    本章节分为传动轮轴模型与无传动轮轴模型,两种模型的程序均可计算扭转角.切应力并检验轴是否满足条件,而传动轮轴模型会提供多一个功能:根据轮的转速与功率计算扭矩. 扭转变形程序算法流程图如下: Part ...

  2. 基于C语言的材料力学模型计算实现(前言)

    材料力学(工程力学A2)的线上结课考试成绩=平时分×10%+考试分×40%+结课论文×50%,结课论文题材不限,本渣物理思维不紧密,数学推导又不行,放弃了向大佬看齐--研究力学问题的机会.又为了凑齐字 ...

  3. 基于C语言的材料力学模型计算实现(拉压变形篇)

    本章研究的计算对象是简单杆轴模型的拉压变形,涵盖的功能是计算拉/压应力与总变形量.拉压变形程序算法流程图如下: Part 1.简单杆轴模型 例题2.石砌桥墩的墩身高l=10m,其横截面尺寸图3-1所示 ...

  4. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  5. 电力系统matlab实验报告,基于matlab语言计算电力系统暂态稳定仿真程序实验报告.docx...

    基于matlab语言计算电力系统暂态稳定仿真程序实验报告 BeijingJiaotongUniversity 电力系统分析 暂态稳定分析实验 学院:电气工程学院 班级:xxxxxxxx 学号:xxxx ...

  6. 主振型 matlab 振动,基于MATLAB语言的多自由度振动系统的固有频率及主振型计算分析...

    基于 MATLAB 语言的多自由度振动系统的固有频率及主振型计算分析 文 涛 ,胡青春 (华南理工大学 机械工程学院 ,广东 广州 510640) 摘要 :多自由度振动系统固有频率及主振型计算分析是研 ...

  7. R语言使用Predict函数计算指定连续变量和风险比HR值的关系、基于限制性立方样条分析方法、限制性立方样条cox回归模型

    R语言使用Predict函数计算指定连续变量和风险比HR值的关系.基于限制性立方样条分析方法.限制性立方样条cox回归模型 目录

  8. 基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比(生信数基实验作业)

    基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比 0 引言 全基因组选择是 21 世纪动植物育种的一种重要的选择策略,其核心就是全基因组预测,即基于分布在整个基因组上的多样性分 ...

  9. 基于新型忆阻器的存内计算原理、研究和挑战

    作者 | 林钰登.高滨.王小虎.钱鹤.吴华强 来源 | <微纳电子与智能制造>期刊 引言 过去半个世纪以来 ,芯片计算性能的提高主要依赖于场效应晶体管尺寸的缩小.随着特征尺寸的减小 ,器件 ...

最新文章

  1. 自媒体敏感词大全_2020年自媒体软件大全,这里真的有大宝贝……
  2. 关于kafka中acks是否可以为all
  3. python控制流水灯_B站智能防挡弹幕的一种python实现
  4. [极客大挑战 2019]BuyFlag
  5. C#多线程和异步(二)——Task和async/await详解(转载)
  6. filestream_SQL Server FILESTREAM内部概述
  7. [免费专栏] ATTACK安全之Android ICMP隧道攻击原理与入侵检测实践
  8. STM32F205时钟配置
  9. 多元非线性方程组 matlab,基于matlab的非线性方程组求解的方法
  10. 【有奖征询】可查询商票及企业境外债软件有奖征询
  11. 优酷视频APP的缓存视频在哪里
  12. 哪里可以买到苹果手机原装电池?
  13. java qq登陆 server_java实现QQ互联登录
  14. 计算机无法以管理员模式运行,电脑为什么没法以管理员身份运行软件
  15. 20、MySQL分库分表,原理实战
  16. #ifdef _cplusplus是什么意思
  17. Python模块和文件操作
  18. zabbix的搭建和简单使用
  19. docker阿里云镜像加速器使用
  20. kali2020设置默认root用户登录——全网最简单教程

热门文章

  1. Maya DevKit
  2. SSE——将任一整数转换为二进制形式
  3. Android简易实战教程--第五十四话《视差特效》
  4. 【Android】App界面与顶部状态栏重叠遮盖问题
  5. LED显示屏驱动IC基本原理
  6. 分布式实时处理系统架构设计与机器学习实践
  7. 自建商城如何对接物流模块
  8. 外一篇:九阳豆浆机故障一则
  9. JDBC访问KingbaseES数据库异常 -- 案例分析
  10. POJ | 1017装箱问题 摸鱼题解