# 斜拉索与刚性支点的连续梁增量对照

此图比较相同主梁、相同新增荷载下，刚性支点与等效竖向弹性支承的区别。它单独回答“索会伸长时，支点下沉如何改变梁的弯矩和支反力”，不作为实际斜拉桥验算，也不接用前面给定成桥索力模型的总响应。

## 固定模型与可调参数

| 项目 | 数值或约定 |
|---|---|
| 梁 | 等 EI 的连续 Euler–Bernoulli 梁，总长 120 m，EI=8×10⁸ kN·m² |
| 两端 | x=0、120 m 简支，竖向位移为零、转角自由 |
| 六个支点 | x=15、30、45、75、90、105 m；梁连续，未设内铰 |
| 塔位 | x=60 m **没有竖向支点**；画面虚线仅表示固定索锚端的参考位置 |
| 索锚端 | x=60 m，梁面以上 40 m；不求塔的位移与反力 |
| 每根直索 | EA=6×10⁶ kN；ℓᵢ=√[(xᵢ−60)²+40²]，sinθᵢ=40/ℓᵢ |
| 刚度 | kᵥᵢ=α(EA/ℓᵢ)sin²θᵢ，单位 kN/m |
| 新增荷载 | 默认 q=80 kN/m；UI 0–200 kN/m |
| 左右偏载 | q左=q(1+β)，q右=q(1−β)；UI β=−0.8…0.8，默认0；总新增荷载仍为qL |
| 倍率 | 默认 α=1；UI 0.03–100，对数滑块；纯计算函数另支持 α=0 验证无弹簧极限 |
| 符号 | Δw 向下为正，ΔR/ΔV 为支承对梁向上的反力增量，ΔM 正为下缘受拉 |

这是受拉参考状态附近的线弹性小增量模型。固定索锚端，限制梁的水平位移，忽略垂度、初始索力几何刚度、塔柔度、梁轴力二阶效应。由 Δℓ=Δw sinθ、ΔT=(αEA/ℓ)Δℓ 得到 ΔV=kᵥΔw。α只放大材料轴向刚度，不改变参考索角。

**负增量不是总力的符号。** ΔV<0 表示相对参考状态减拉；没有初始 T₀，不能判断索已松弛或说索受压。中间支点或端部 ΔR<0 同样不意味着实际总反力为负或支座已脱空。`endUplift` 仅是沿用的字段名，包含“端部反力增量为负”的记录；用于总状态判断还需参考反力。刚性基准与弹性模型都允许反力增量为负。

## 精确柔度法

先取两端简支梁作基本体系。`mechanics.js` 的单位集中力挠度影响函数为 f(x,a)，弯矩影响函数为 m(x,a)。令 Fᵢⱼ=f(xᵢ,xⱼ)，w₀ᵢ=∫q(s)f(xᵢ,s)ds。求六个中间反力增量：

- 刚性支承：F ΔR=w₀，从而各中支点 Δwᵢ=0。
- 弹性支承：[F+diag(1/kᵥᵢ)]ΔR=w₀，从而 ΔRᵢ=kᵥᵢΔwᵢ。
- α=0 单独返回六个反力为零的简支梁。

刚性条件直接求解，不使用巨大弹簧罚刚度。各反力对梁有耦合作用，不是逐个支点独立平衡。全梁 Δw(x)=w₀(x)−ΣΔRᵢf(x,xᵢ)，ΔM(x)=M₀(x)−ΣΔRᵢm(x,xᵢ)。两端反力由全梁竖向及力矩平衡计算。所有转角保持连续，支点处没有转动释放。

载荷积分在荷载分界、观察点处分段，用五点 Gauss 积分；该模型每段的影响函数都是多项式，阶数低于积分精度。弯曲能和外功积分在各支点与荷载分界处分段。曲线默认241点、间距0.5 m，并补入全部支点和 x=60。所报 max 是这些采样点的最大绝对值，不声称为连续函数的解析极值。

## 默认读数

q=80 kN/m、β=0、α=1，总新增荷载9600 kN。各反力从左端、S1…S6、右端排列：

| 读数 | 刚性支承 | 弹性支承 |
|---|---:|---:|
| max\|Δw\| / mm | 0.350956358 | 18.556961402 |
| max\|ΔM\| / kN·m | 5004.310344828 | 11675.978933935 |
| 左端 ΔR / kN | 457.758620690 | 1262.063358534 |
| S1 ΔR / kN | 1453.448275862 | 363.055237845 |
| S2 ΔR / kN | 786.206896552 | 1066.098044303 |
| S3 ΔR / kN | 2102.586206897 | 2108.783359318 |
| S4 ΔR / kN | 2102.586206897 | 2108.783359318 |
| S5 ΔR / kN | 786.206896552 | 1066.098044303 |
| S6 ΔR / kN | 1453.448275862 | 363.055237845 |
| 右端 ΔR / kN | 457.758620690 | 1262.063358534 |

默认取数S3：kᵥ=123.133700064 kN/mm，Δw=17.125964364 mm，ΔV=2108.783359318 kN。只有六个支点被固定，跨内梁仍然弯曲，故刚性模型 max|Δw| 不是零。

## 接口与画面

`support-mechanics.js` 导出 `SUPPORT_MODEL`、`SUPPORT_DEFAULTS`、`analyzeSupportComparison({q,bias,stiffnessScale,samples})`。返回模型、荷载合力/合力矩、索几何与刚度、F 和自由梁支点位移，以及 `rigid` / `elastic` 两份响应。每份含 `x,moment,deflection,reactions,maxAbsMoment,maxAbsDeflection,energy,beamEnergy,springEnergy,externalWork,equilibriumResidual,momentEquilibriumResidual,negativeSpringIncrements,endUplift`。反力项含 `id,x,value,deflection,type`；中支点另含 `index,stiffness`（刚性为null）。所有长度与挠度以m计算，UI再转成mm。

`support-compare.js` 导出 `renderSupportCompare(container,state,{onChange,onData})`，返回cleanup。`state` 字段为q、bias、stiffnessScale、selectedSupport（0–5）、representation（springs/stays）。数值改动才重算；换画法、选取支点沿用同一结果对象。`onData` 包含 `panel:'supports'`、parameters、readings、question、formula、answer、unit、svg。题目为指定支点的 ΔV=kᵥΔw，答案单位kN，适配通用±0.5 kN验算。

左、右模型各自的 x 坐标、位移图尺、弯矩图尺完全相同。两种图尺取当前两模型的共同最大值，显示位移放大倍数和尺寸图尺，导出SVG也保留。反力箭头长度只示意方向，数值另标。斜索使用未变形几何绘制，梁挠度另以共同比例放大，避免把放大挠度当成更新索角再求解。x60固定锚端参考虚线明确不构成竖向梁支座。

## 验证

`node --test support-mechanics.test.mjs`：7项，通过独立3 m Euler梁有限元、对称/偏载镜像、Maxwell柔度互等、反力平衡、力矩平衡、弹簧位移协调和能量恒等式核验。有限元刚性支点采用精确自由度消元，所有旋转自由度保留；在3种荷载/刚度组合下逐节点对照挠度、弯矩和所有支反力。

刚性极限检验用α从10⁶到10⁸：反力误差缩小超过90倍，再与直接刚性解比较（反力差<0.001 kN，挠度差<5×10⁻⁹ m）。这检验1/k收敛，而不是把任意很大的有限刚度当成精确刚性。零刚度另与简支梁封闭式 qL/2、qL²/8、5qL⁴/(384EI) 对照；零载荷和无效输入均有覆盖。

浏览器27项交互检查通过：画法切换沿用同一结果对象、刚度变化不改刚性基准、倍率端点、偏载镜像、图上与键盘取数、零载荷、重置、窄屏和cleanup。浏览器交互脚本与截图存于 `修订记录/斜拉桥组成与传力_20261023/`，文件前缀 `support-compare-`。模型不是实际桥梁的施工或安全验算。
