简介:这份专业课件围绕压力容器设计中的三类应力展开,面向化工设备、过程装备与控制工程等专业的学生及设计人员,帮助建立从薄膜理论到边界区应力分析的完整认知框架,适合课程学习、考前复习与工程计算参考。压缩包共1个文件,为71页的pptx演示文稿,约643KB,内容以公式推导、受力示意图和分节结论为主,便于课堂讲解与自学翻阅。课件依次讲解回转壳体的薄膜应力、圆形平板的弯曲应力、边界区内的二次应力以及强度条件,并给出圆筒与球形壳体的环向、经向薄膜应力公式与推导思路,指出无矩理论与有矩理论的适用差异,同时强调开孔、接管、封头等部位的应力叠加问题。目前已有211人学习下载,可帮助读者理清应力分类、掌握基本计算并与强度校核要求对照。
1. 从一份 71 页课件到可运行的压力容器应力计算脚本
化工设备的外壳在设计阶段绕不开三类量:薄膜应力、弯曲应力、二次应力。这份课件把回转壳体的无矩理论、圆形平板的有矩解、边界区二次应力和强度条件串在一条线上,但 71 页顺下来,公式是摊开的,真正落到校核时还得自己把几何参数和压力代进去。对做工程软件的读者来说,这套东西本质上是一个规则引擎:输入内径、壁厚、压力、材料许用应力,输出的是应力值和限值之比。
课件处理的是薄壁回转壳体这条主线,判据写在开头——S/Di < 0.1,或 D₀/Di ≤ 1.2。超出这个范围,所有基于无矩理论的薄膜公式都要打折,得换厚壁圆筒的拉梅解。记住这条边界,比记住公式本身更值钱。
下面按无矩理论 → 圆形平板弯曲 → 边界区二次应力 → 强度校核推下去,每一步都给能直接跑的 Python 代码、参数取值依据和失败时的排查方向。
2. 回转壳体薄膜应力:无矩理论的三个假设与圆筒、球壳公式推导
2.1 三条基本假设划定了公式的适用边界
课件开篇给的三条假设,决定了后面所有公式能用到哪里。小位移假设说壳体受压变形后各点位移远小于壁厚,几何方程可以线性化;直法线假设说沿厚度各点的法向位移相同,即变形后厚度不变;不挤压假设说沿壁厚各层纤维互不挤压,壁厚方向的正应力忽略不计,壳体处于两向应力状态。
三条合起来就是无矩理论,也叫薄膜理论:把壳壁当成一张薄膜,只承受拉应力和压应力,完全不承受弯矩。对应的有矩理论承认壁内存在弯曲应力,只是这部分通常很小,略去不计的误差仍在工程计算允许范围内,而计算量下降一个量级。工程计算里默认走无矩理论。
提示:无矩理论在远离边界区的区域误差可接受,接管、封头与筒体连接处必须换有矩理论处理,详见第 4 章。
2.2 环向与经向薄膜应力的平衡推导
圆筒取长度为 l 的一段,用纵截面切开看半筒体。介质内压力 p 作用在半个筒体上的合力 N,等于压力乘以该曲面沿合力方向的投影面积,也就是 p·Di·l——这条结论和曲面形状无关,是后面球壳、封头能统一处理的关键。半个筒壁纵截面上的内力 T = l·δ·σθ,力的平衡给出 2T = N,于是环向薄膜应力 σθ = pDi/(2δ)。
经向方向换一个切法:压力作用在封头内表面产生的轴向合力是 p·πDi²/4,筒壁环形横截面上的内力是 πD·δ·σm,两者相等,得到经向薄膜应力 σm = pD/(4δ)。两个式子里的 D 都取中径,也就是内径加壁厚,这就是中径公式的由来。
由此得到两条工程结论。第一,内压圆筒上环向薄膜应力是经向的两倍,所以筒体壁厚由环向应力控制。第二,决定应力水平的是壁厚与直径的比值 D/δ,而不是壁厚的绝对值——DN2000、壁厚 20 mm 的筒体,和 DN1000、壁厚 10 mm 的筒体,薄膜应力完全一样。
圆球形壳体两个方向的曲率半径相同,截面也一样,于是 σθ = σm = pD/(4δ),两向等值。这也是球罐在同样压力下比圆筒省材料的原因。
2.3 常见回转壳体的应力对比与代码实现
把公式落到代码里,中径的选择和单位统一是两处最容易出问题的地方。
# thin_wall_stress.py # 薄壁回转壳体薄膜应力(无矩理论) # 单位约定:p - MPa,D/a - mm,delta - mm,输出 MPa def cylinder(p, Di, delta): """圆筒形壳体,Di 为内径,中径 D = Di + delta""" D = Di + delta sigma_theta = p * D / (2 * delta) # 环向:纵截面上的拉伸,控制壁厚 sigma_m = p * D / (4 * delta) # 经向:锥截面上的拉伸,为环向的一半 return sigma_theta, sigma_m def sphere(p, Di, delta): """圆球形壳体,两向曲率半径相同,薄膜应力相等""" D = Di + delta return p * D / (4 * delta), p * D / (4 * delta) def elliptical_head(p, a, delta, k=2.0): """椭圆封头,a 为长半轴(中径的一半),k = a/b 为长短半轴比""" b = a / k apex = p * a * a / (2 * b * delta) # 顶点:经向与环向相等 equ_m = p * a / (2 * delta) # 赤道:经向应力 equ_t = p * a / delta * (1 - k * k / 2) # 赤道:k > √2 时环向为压应力 return apex, equ_m, equ_t p, Di, delta = 1.6, 1000.0, 10.0 # 设计压力 1.6 MPa,内径 1000 mm,壁厚 10 mm st, sm = cylinder(p, Di, delta) print(f"圆筒 环向={st:.2f} MPa 经向={sm:.2f} MPa 比值={st / sm:.2f}") print(f"球壳 两向={sphere(p, Di, delta)[0]:.2f} MPa") ap, em, et = elliptical_head(p, Di / 2, delta, k=2.0) print(f"椭圆封头 顶点={ap:.2f} MPa 赤道经向={em:.2f} MPa 赤道环向={et:.2f} MPa")参数说明:delta是有效厚度,不含腐蚀裕量和钢板负偏差;cylindrical中加壁厚这一步不能省,用内径直接代入会低估 1% 到 3%;椭圆封头的a用中径的一半,k = 2.0对应标准椭圆封头。运行结果里圆筒环向 80.80 MPa、经向 40.40 MPa,比值始终是 2.00,这个比值与压力、直径、壁厚都无关。
| 壳体形式 | 环向薄膜应力 | 经向薄膜应力 | 工程含义 |
|---|---|---|---|
| 圆筒 | pD/(2δ) | pD/(4δ) | 环向控制壁厚 |
| 球壳 | pD/(4δ) | pD/(4δ) | 同等压力下最省材料 |
| 标准椭圆封头顶点 | pD/(2δ) | pD/(2δ) | 与筒体环向等值,便于等强度匹配 |
| 标准椭圆封头赤道 | −pD/(2δ) | pD/(4δ) | 环向为压缩,是成型减薄的敏感区 |
表格里负号代表压缩。赤道附近出现环向压应力,是标准椭圆封头几何形状决定的必然结果,设计时要关注该处的成型减薄量和局部稳定性。
3. 圆形平板弯曲应力:有矩理论下的固支与简支解
3.1 平板为什么不能用薄膜理论处理
壳体靠曲面把横向载荷转化为膜力,平板不行。平板受到横向压力后,载荷必须由弯矩承担,沿厚度方向的弯曲正应力是主要承载项,所以必须用有矩理论。轴对称薄板小挠度理论的两个前提是:挠度远小于板厚,板中面在变形中不产生面内应变。
板内的径向弯曲应力 σr 和环向弯曲应力 σθ 沿厚度线性分布,中面为零、表面最大,写成弯矩的形式是 σr = 6Mr/t²、σθ = 6Mθ/t²。这一条和壳体的薄膜应力形成鲜明对比——壳体应力沿厚度近似均匀分布,板应力沿厚度线性分布,所以板的承载效率天然更低。
3.2 固支与简支两种边界条件下的应力解
周边固支对应平盖与筒体整体焊接、转角被约束的情况,周边简支对应平盖搁置在支座或法兰上、可以自由转动的情况。均布压力 p、半径 a、板厚 t 的圆板,两种边界下的弯矩分布如下。
固支板:Mr = pa²/16·[(1+ν) − (3+ν)(r/a)²],Mθ = pa²/16·[(1+ν) − (1+3ν)(r/a)²]。最大值在边缘,Mr = −pa²/8。
简支板:Mr = pa²/16·(3+ν)(1−(r/a)²),Mθ = pa²/16·[(3+ν) − (1+3ν)(r/a)²]。最大值在中心,Mr = Mθ = (3+ν)pa²/16。
代进应力公式,取 ν = 0.3,得到两组可比的数字:固支板边缘 σr = 0.750p(a/t)²,中心 σ = 0.488p(a/t)²;简支板中心 σ = 1.238p(a/t)²,是固支板边缘峰值的 1.65 倍。边界约束条件对平板应力的影响远大于对壳体的影响,这是平板设计里最容易被忽略的一条。
3.3 板应力随半径分布的计算脚本
import numpy as np def plate_stress(p, a, t, nu=0.3, support="fixed", n=7): """ 轴对称圆板在均布压力下的弯曲应力 p : 均布压力, MPa a : 板半径, mm t : 板厚, mm nu : 泊松比, 钢取 0.3 support: 'fixed' 周边固支 / 'simple' 周边简支 """ r = np.linspace(0.0, a, n) x = (r / a) ** 2 if support == "fixed": Mr = p * a**2 / 16 * ((1 + nu) - (3 + nu) * x) Mt = p * a**2 / 16 * ((1 + nu) - (1 + 3 * nu) * x) else: # 周边简支 Mr = p * a**2 / 16 * (3 + nu) * (1 - x) Mt = p * a**2 / 16 * ((3 + nu) - (1 + 3 * nu) * x) return r, 6 * Mr / t**2, 6 * Mt / t**2 for mode in ("fixed", "simple"): r, sr, st = plate_stress(1.6, 500.0, 20.0, support=mode) peak = max(abs(sr).max(), abs(st).max()) print(f"{mode:6s} 峰值弯曲应力={peak:.2f} MPa 位置 r={r[abs(sr).argmax()]:.0f} mm") print(" 径向应力分布:", np.round(sr, 1))逻辑说明:弯矩按半径二次分布,x = (r/a)²这一步把二次项提取出来,让表达式更短。6 * Mr / t**2是板表面的弯曲应力,中面处该值为零,所以打印出来中心与边缘的数值差异会很大。参数上,support的选择不是几何问题而是连接方式问题:平盖与筒体采用全焊透对接时按固支处理,通过螺栓压紧在垫片上的按简支处理,两者算出来的厚度能差 30% 以上。
3.4 平板与壳体的承载差异
同样是 1.6 MPa、同样是 1000 mm 直径,圆筒壁厚 10 mm 时环向薄膜应力 80.8 MPa;换成半径 500 mm、厚度 20 mm 的平板,简支条件下中心弯曲应力已经超过 100 MPa,而且板厚翻了一倍。原因在于壳体应力是 pD/(2δ) 的量级,平板应力是 p(a/t)² 的量级,后者对半径与厚度之比是平方敏感。
| 结构 | 应力主导项 | 对尺寸的敏感度 | 设计建议 |
|---|---|---|---|
| 圆筒、球壳 | 薄膜应力 pD/(2δ)、pD/(4δ) | 与 D/δ 成正比 | 优先选回转壳体 |
| 圆形平板 | 弯曲应力 ∝ p(a/t)² | 与 (a/t)² 成正比 | 能用封头就不用平盖 |
所以选型顺序很清楚:能做成椭圆封头的场合不要做成平盖,能减小平板计算半径的场合优先加支撑或加强筋。如果工艺上必须用平盖,控制应力的唯一有效手段是把计算半径 a 降下来,加厚板的效果远不如缩小半径。
4. 边界区二次应力:不连续处的边缘效应与应力分类
4.1 边界区二次应力的产生机理
圆筒和封头在内压下的自由变形量不一样。圆柱壳的径向膨胀是 w_cyl = pR²/(Eδ)·(1 − ν/2),球壳是 w_sph = pR²/(2Eδ)·(1 − ν)。取 ν = 0.3,前者约等于 0.85pR²/(Eδ),后者约等于 0.35pR²/(Eδ)。圆筒要往外鼓得更多,而封头只愿意鼓那么一点,两者在连接处被强行拉到同一个位移上。
这个强制协调产生的内力就是边缘力系:一个边缘剪力 Q₀ 和一个边缘弯矩 M₀。它们在连接处附近引起局部弯曲应力,也就是课件里说的二次应力。二次应力的特点是自限性——局部屈服以后变形协调的要求被部分释放,应力不会随载荷线性增长,这和一次薄膜应力会一直撑到爆破有本质区别。
4.2 边缘效应的衰减长度与影响范围
圆柱壳边缘效应的特征参数是 β = [3(1 − ν²)]^¼ / √(Rδ),量纲为 1/mm。取 ν = 0.3,系数 [3(1 − 0.09)]^¼ ≈ 1.285,于是 β ≈ 1.285/√(Rδ),衰减长度 l = 1/β ≈ 0.778√(Rδ)。
沿轴向距离 x 处,边缘应力的量级大致按 e^(−βx) 衰减:x = 1/β 时剩 37%,x = 2.5/β 时剩 8%,x = π/β 时剩 4%。工程上把 x ≤ 2.5/β 这一段称为边界区。以中面半径 505 mm、壁厚 10 mm 的圆筒为例,√(Rδ) = √5050 ≈ 71 mm,衰减长度约 55 mm,边界区范围约 138 mm。
这个数字有直接的工程用途:接管、支座、开孔如果落在封头焊缝的 138 mm 以内,局部区域的应力就不能只按一次薄膜应力处理,必须考虑边缘弯曲应力的叠加。
4.3 应力分类与限值对照
| 分类 | 代号 | 产生原因 | 限值 | 自限性 |
|---|---|---|---|---|
| 一次总体薄膜应力 | Pm | 内压、重力等载荷引起的整体膜应力 | ≤ S | 无 |
| 一次局部薄膜应力 | PL | 接管、支座区域的膜应力 | ≤ 1.5S | 无 |
| 一次弯曲应力 | Pb | 载荷引起的整体弯曲 | Pm + Pb ≤ 1.5S | 无 |
| 二次应力 | Q | 变形协调产生的边缘弯曲应力 | Pm + Pb + Q ≤ 3S | 有 |
| 峰值应力 | F | 开孔圆角、缺口的应力集中 | 疲劳评定 | 有 |
注意:3S 是按安定性条件给二次应力留的余量,不能拿这个数值去反推壁厚。壁厚始终由一次应力决定,二次应力只影响是否需要做疲劳评定。
4.4 边界区影响范围与残余比例计算
import numpy as np def edge_effect(R, delta, nu=0.3, ratio=2.5): """ 圆柱壳边界效应衰减估算 R : 圆筒中面半径, mm delta : 有效厚度, mm ratio : 影响范围取几个衰减长度,工程上常取 2.5 返回 : beta (1/mm), 衰减长度 l (mm), 影响范围 x (mm) """ beta = (3 * (1 - nu ** 2)) ** 0.25 / np.sqrt(R * delta) return beta, 1.0 / beta, ratio / beta beta, l, x = edge_effect(505.0, 10.0) print(f"beta={beta:.5f} /mm 衰减长度={l:.1f} mm 边界区范围={x:.1f} mm") for d in (20, 55, 100, 138, 200): print(f"距连接处 {d:4d} mm,边缘应力残余 {np.exp(-beta * d):.1%}")逻辑说明:β 随壁厚减小而增大,壁越薄边缘效应衰减越快、边界区越窄,这与直觉相反——厚壁壳体的边缘效应反而传播得更远。输出中 20 mm 处残余约 71%,138 mm 处降到 8% 以下,说明边界区之外可以放心按无矩理论处理。参数ratio取 2.5 是工程习惯,做有限元后处理时取 3.0 更保守。如果接管正好落在边界区内,正确做法是在有限元结果上沿壁厚方向取一条应力分类线,把应力分解为膜分量、弯曲分量和非线性分量,再分别归入 Pm、Pb、Q 三类去对照限值,而不是简单看等效应力峰值。
5. 按规范反推壁厚:三类应力塞进同一套校核脚本
5.1 强度条件与壁厚计算式
强度条件的基本形式是 σθ ≤ [σ]^t·φ,[σ]^t 是设计温度下材料的许用应力,φ 是焊接接头系数。内压圆筒的环向薄膜应力是控制量,由这个不等式反推计算厚度:δ = pDi/(2[σ]^tφ − p)。得到计算厚度后再加腐蚀裕量 C2 和钢板厚度负偏差 C1,向上圆整到钢板规格,得到名义厚度。
这里有个容易踩的坑:圆整之后必须用有效厚度反算一次实际应力,做二次复核。因为腐蚀裕量在容器服役末期会被消耗掉,用名义厚度反算会高估承载能力,用有效厚度才是保守做法。
5.2 完整的壁厚计算与应力复核脚本
def check_cylinder(p, Di, sigma_allow, phi=1.0, C2=1.0, C1=0.3): """ 内压圆筒壁厚计算与应力复核 p : 设计压力, MPa Di : 圆筒内直径, mm sigma_allow : 设计温度下材料许用应力, MPa phi : 焊接接头系数,双面焊全焊透取 1.0,单面焊取 0.85 C2 : 腐蚀裕量, mm C1 : 钢板厚度负偏差, mm """ delta_calc = p * Di / (2 * sigma_allow * phi - p) # 计算厚度,由环向应力反推 delta_nom = delta_calc + C2 + C1 # 名义厚度(圆整前) delta_eff = delta_nom - C1 - C2 # 有效厚度 Deff = Di + delta_eff # 中径 sigma_t = p * Deff / (2 * delta_eff) # 用有效厚度反算的实际应力 limit = sigma_allow * phi return dict(calc=round(delta_calc, 2), nom=round(delta_nom, 2), eff=round(delta_eff, 2), stress=round(sigma_t, 2), limit=round(limit, 2), ratio=round(sigma_t / limit, 3), ok=sigma_t <= limit) r = check_cylinder(1.6, 1000.0, 189.0, phi=1.0, C2=1.0, C1=0.3) for k, v in r.items(): print(f"{k:8s} = {v}")参数说明:sigma_allow必须查设计温度下的材料许用应力表,不能直接用常温值,例如 Q345R 在常温、板厚 3~16 mm 时约为 189 MPa,温度升高后要按表折减;phi取决于焊缝形式和无损检测比例,全焊透双面焊且 100% 检测取 1.0,局部检测降到 0.85;C2按介质腐蚀性取值,碳钢储水容器常取 1 mm;C1是钢板厚度负偏差,按钢板标准取,通常 0.3 mm 以内。
运行结果中ratio是应力比,ok是布尔判定,批量校核时可以直接按ratio排序,把最接近 1.0 的工况先挑出来人工复核。
5.3 从校核结果反推设计调整方向
脚本跑完拿到ratio之后,调整方向由它落在哪个区间决定。比值在 0.95 到 1.00 之间,说明厚度刚好卡线,此时先回头核对焊接接头系数和腐蚀裕量的取值是不是过于乐观,再考虑换材料或增加厚度。比值低于 0.70,通常意味着厚度被其他工况控制——比如卧式容器的鞍座支承反力、立式容器的风载与地震载荷,这时不要急着减薄,要先把所有载荷组合都算一遍。
一个实用的做法是把三类应力分别算出来,统一换算成比值再做对照:一次薄膜应力对 1.0S,一次薄膜加一次弯曲对 1.5S,一次加二次对 3S。三个比值里只要有一个超过 1.0,就说明该工况不合格,而具体是哪一个超限,直接决定了解决办法——Pm 超限只能加厚或换材料,Pb 超限可以改结构形式,Q 超限则应该改连接方式、增加过渡圆角或者调整焊缝位置,加厚往往是最不划算的那条路。
本文还有配套的精品资源,点击获取