材料力学&理论力学教学案例
一、适用课程
本案例库面向以下高校工科课程:
| 课程 | 涵盖章节 |
|---|---|
| 材料力学 | 压杆稳定、圆轴扭转、平面应力状态、梁弯曲、组合变形强度校核 |
| 理论力学 | 平面力系平衡、刚体平面运动、振动系统分析、摩擦与自锁、桁架内力、科氏加速度 |
| 工程力学 | 将上述两门课程的核心知识点整合为一学期的教学案例集 |
| 数值计算与编程 | 作为工科编程实践课程的力学计算案例,培养学生使用 Julia 语言解决工程问题的能力 |
适用于机械工程、土木工程、航空航天工程、力学等相关专业的本科二至三年级教学。
二、案例库简介
本案例库包含 5 个材料力学和 6 个理论力学共 11 个独立教学案例,全部基于 MWORKS.Syslab 平台,使用 Julia 语言编写,绘图采用 TyPlot 库。每个案例均为独立脚本,运行时自动完成数值计算并生成图形,无需额外配置。
案例设计理念是将公式推导、数值计算和图形观察三者联动——教师在课堂演示时,可以先用默认参数展示典型结果,再修改关键参数,让学生即时观察曲线形状、极值位置和响应幅值的变化,从而建立力学直觉。
三、软件环境
| 项目 | 要求 |
|---|---|
| 平台 | MWORKS.Syslab 2026b(或更高版本) |
| 编程语言 | Julia 1.10.10 |
| 绘图库 | TyPlot(Syslab 内置) |
| 额外依赖 | LinearAlgebra(Julia 标准库) |
四、运行方法
- 在 MWORKS.Syslab 中打开任意一个
.jl脚本文件 - 无需安装额外依赖包,脚本会自动加载 TyPlot
- 直接运行(F5),控制台将输出关键计算结果,图窗自动弹出
- 如需修改参数,编辑每个脚本
main()函数开头的 参数设置区,重新运行即可
以 beam_bending_analysis.jl 为例,参数设置区如下:
# ---------------- 参数设置区 ----------------
L = 6.0 # 梁长,单位 m
E = 2.1e11 # 弹性模量,单位 Pa,默认取钢材
I = 8.0e-6 # 截面惯性矩,单位 m^4
P = 10000.0 # 集中力,单位 N,向下为正载荷
a = 3.0 # 集中力距左支座位置,单位 m
q = 2000.0 # 均布载荷集度,单位 N/m,向下为正载荷
# --------------------------------------------
若当前环境未加载 TyPlot(如在标准 Julia REPL 中运行),脚本仍会完成数值计算并输出结果,同时提示用户在 Syslab 中运行以查看图形。
五、案例目录与实测结果
5.1 材料力学(5 个案例)
① 压杆稳定分析
- 脚本:
材料力学/压杆稳定分析/column_buckling_analysis.jl - 知识点:欧拉临界载荷 Pcr=π²EI/(μL)²,四种端部约束(两端铰支、一端固定一端自由、两端固定、一端固定一端铰支)的长度系数 μ 对稳定性的影响
- 实测输出:
压杆(L=2.0m, E=2.1e11Pa, I=1.2e-6m⁴, 轴力F=50kN)
两端铰支 Pcr = 621,785.08 N 安全系数 12.44
一端固定一端自由 Pcr = 155,446.27 N
两端固定 Pcr = 2,487,140.31 N
一端固定一端铰支 Pcr = 1,268,949.14 N
- 图形输出:屈曲模态曲线(四种约束对比)、杆长与临界载荷关系图
② 圆轴扭转分析
- 脚本:
材料力学/圆轴扭转分析/circular_shaft_torsion.jl - 知识点:圆轴扭转满足 τ=Tρ/J,扭转角 φ=TL/GJ;极惯性矩 J 计算;空心轴与实心轴刚度/质量对比
- 实测输出:
圆轴(L=1.2m, D=60mm, d=30mm, T=1200N·m)
最大切应力 = 30.18 MPa
扭转角 = 0.86°(deg)
质量 = 20.0 kg (空心)
同外径实心轴质量 = 26.6 kg
空心/实心刚度比 = 0.9375
- 图形输出:切应力沿半径线性分布图、轴向扭矩图、截面切应力云图
③ 平面应力状态与莫尔圆
- 脚本:
材料力学/平面应力状态与莫尔圆/mohr_circle_analysis.jl - 知识点:应力变换公式、主应力与主方向、莫尔圆的几何意义、截面转角与正应力云图
- 实测输出:
(σx=80MPa, σy=20MPa, τxy=30MPa, θ=30°)
斜截面正应力 = 90.981 MPa
斜截面切应力 = -10.981 MPa
第一主应力 = 92.426 MPa
第二主应力 = 7.574 MPa
主方向角 = 22.5°
最大切应力 = 42.426 MPa
- 图形输出:莫尔应力圆(含关键点标注)、平面应力单元体示意、截面角-正应力云图
④ 梁弯曲剪力弯矩挠度分析
- 脚本:
材料力学/梁弯曲剪力弯矩挠度分析/beam_bending_analysis.jl - 知识点:静力平衡求解支座反力、载荷-剪力-弯矩微分关系、Euler-Bernoulli 梁挠度方程 EIw''=M、弯曲正应力云图
- 实测输出:
简支梁(L=6m, P=10kN@跨中, q=2kN/m)
左支座反力 RA = 11000 N
右支座反力 RB = 11000 N
最大弯矩 = 24000 N·m
最大挠度 = -46.87 mm
- 图形输出:梁-载荷示意图、剪力图、弯矩图、挠度曲线、弯曲正应力云图(2×2 子图布局 + 独立云图)
⑤ 组合变形强度校核
- 脚本:
材料力学/组合变形强度校核/combined_loading_check.jl - 知识点:轴向拉压+弯曲+扭转的应力叠加、危险点主应力计算、第三强度理论 σ_eq3=√(σ²+4τ²) 和第四强度理论 σ_eq4=√(σ²+3τ²)
- 实测输出:
圆轴(D=50mm, N=20kN, M=800N·m, T=600N·m, [σ]=160MPa)
轴向应力 = 10.19 MPa
弯曲应力 = 65.19 MPa
扭转切应力 = 24.45 MPa
第一主应力 = 82.61 MPa
第三强度等效应力 = 89.84 MPa → 安全系数 1.78
第四强度等效应力 = 86.45 MPa → 安全系数 1.85
- 图形输出:圆截面危险点示意、等效应力对比柱状图、组合变形截面正应力云图
5.2 理论力学(6 个案例)
⑥ 平面力系平衡
- 脚本:
理论力学/平面力系平衡/planar_force_equilibrium.jl - 知识点:力的正交分解、合力和合力矩、平面任意力系平衡条件 ΣFx=0/ΣFy=0/ΣMO=0
- 实测输出:
三力系(F1=100N→, F2=150N∠120°, F3=80N↓)
合力 = 55.82 N
合力矩 = 179.81 N·m
状态 = 未平衡(可引导学生添加平衡力)
- 图形输出:刚体受力示意图(箭头比例表示力的大小)
⑦ 刚体平面运动
- 脚本:
理论力学/刚体平面运动/rigid_body_planar_motion.jl - 知识点:速度合成 vP=vO+ω×rOP、加速度合成、瞬时速度中心、圆轮纯滚动条件
- 实测输出:
圆轮(R=0.5m, ω=2rad/s, α=0.5rad/s²)纯滚动
圆心速度(1.0, 0) m/s 加速度(0.25, 0) m/s²
接地点速度(2.0, 0) m/s(瞬时速度中心在上方)
接地点加速度(0.5, 2.0) m/s²(向心+切向合成)
- 图形输出:圆轮纯滚动示意、瞬时速度中心标注;支持纯滚动动画
⑧ 振动系统分析
- 脚本:
理论力学/振动系统分析/vibration_system_analysis.jl - 知识点:单自由度方程 mx''+cx'+kx=F₀sin(ωt)、固有频率 ωn=√(k/m)、阻尼比 ζ、受迫振动频率响应
- 实测输出:
系统(m=1kg, k=100N/m, c=1.5N·s/m, F₀=5N, ωf=8rad/s)
固有频率 ωn = 10 rad/s
阻尼比 ζ = 0.075
最大位移 = 0.166 m
- 图形输出:2×2 布局——位移时间曲线、速度时间曲线、相图、频率响应曲线
⑨ 摩擦角与自锁
- 脚本:
理论力学/摩擦角与自锁/friction_self_locking.jl - 知识点:摩擦角 φ=arctan(μ)、最大静摩擦力、自锁条件(斜面角<摩擦角)
- 实测输出:
(α=20°, μ=0.35, W=100N, F=20N)
法向反力 = 100.81 N
最大静摩擦力 = 35.28 N
驱动力 = 15.41 N
摩擦角 = 19.29°
状态 = 静止(驱动力 < 最大静摩擦力)
- 图形输出:斜面受力示意、α-μ 自锁区域图(曲线以下为自锁区)
⑩ 桁架内力求解
- 脚本:
理论力学/桁架内力求解/truss_force_solver.jl - 知识点:节点法建立平衡方程组、杆件轴力符号约定(正=拉杆、负=压杆)、支座反力与零杆识别
- 实测输出:
5节点7杆桁架(节点2载荷-8kN, 节点4载荷-6kN)
杆1: -13520.82 N (压杆) 杆5: +11250 N (拉杆)
杆2: -901.39 N (压杆) 杆6: +9750 N (拉杆)
杆3: +901.39 N (拉杆) 杆7: -10500 N (零杆附近)
杆4: -11718.04 N (压杆)
- 图形输出:桁架结构图(红色=拉杆、蓝色虚线=压杆、黑色点线=零杆)、节点载荷标注
⑪ 科氏加速度演示
- 脚本:
理论力学/科氏加速度演示/coriolis_acceleration_demo.jl - 知识点:合成运动速度与加速度分解、科氏加速度 ac=2ω×vr、滑块沿转动杆运动分析
- 实测输出:
(ω=2rad/s, α=0.2rad/s², vr=0.3m/s, ar=0.1m/s², r₀=0.5m)
绝对速度 = (0.3, 1.0) m/s
牵连速度 = (0.0, 1.0) m/s
相对速度 = (0.3, 0.0) m/s
绝对加速度 = (-1.9, 1.3) m/s²
科氏加速度 = (0.0, 1.2) m/s²
- 图形输出:滑块运动轨迹(螺旋线)、速度矢量分解图、加速度矢量分解图;支持运动动画
六、教学建议
- 课堂演示:教师先以默认参数运行,让学生观察标准工况下的曲线形态和数值量级
- 参数探究:修改关键参数(如梁的集中力位置、压杆端部约束、摩擦系数、阻尼比),引导对比分析
- 结果验证:鼓励学生将程序输出与手算结果交叉验证,加深对公式物理意义的理解
- 编程实践:对于"数值计算与编程"课程,可要求学生阅读
calculate_beam、solve_truss等计算函数,理解数值方法在力学问题中的应用 - 极端参数注意:默认参数已针对课堂演示优化;极端参数可能导致数值误差或图形比例不便观察
七、注意事项
- 所有模型均采用课程常用的简化假设(如 Euler-Bernoulli 梁忽略剪切变形、线弹性材料、小变形假设等)
- 默认参数适合课堂演示,不代表任何实际工程结构的真实参数
- 数值积分(如挠度计算)采用梯形法,在离散点数较少时可能存在累积误差
- 动画功能依赖图形后端的
clf/pause支持,若环境不支持则自动跳过并保留静态图
八、文件结构
材料力学&理论力学/
├─ README.md ← 本文件
├─ 材料力学/
│ ├─ 压杆稳定分析/
│ │ ├─ README.md
│ │ └─ column_buckling_analysis.jl
│ ├─ 圆轴扭转分析/
│ │ ├─ README.md
│ │ └─ circular_shaft_torsion.jl
│ ├─ 平面应力状态与莫尔圆/
│ │ ├─ README.md
│ │ └─ mohr_circle_analysis.jl
│ ├─ 梁弯曲剪力弯矩挠度分析/
│ │ ├─ README.md
│ │ └─ beam_bending_analysis.jl
│ └─ 组合变形强度校核/
│ ├─ README.md
│ └─ combined_loading_check.jl
└─ 理论力学/
├─ 刚体平面运动/
│ ├─ README.md
│ └─ rigid_body_planar_motion.jl
├─ 平面力系平衡/
│ ├─ README.md
│ └─ planar_force_equilibrium.jl
├─ 振动系统分析/
│ ├─ README.md
│ └─ vibration_system_analysis.jl
├─ 摩擦角与自锁/
│ ├─ README.md
│ └─ friction_self_locking.jl
├─ 桁架内力求解/
│ ├─ README.md
│ └─ truss_force_solver.jl
└─ 科氏加速度演示/
├─ README.md
└─ coriolis_acceleration_demo.jl
使用许可
本模型库版权由MoHub版权所有,未经许可,不得用于商业用途。
登录账号即可下载资源、参与讨论。