# 梁桥第二条：变高度、内力重分配与弯剪共同作用

已实现可运行的三维交互教学例题；文件 `index.html` 从教材本地 HTTP 服务打开。复用 `../../vendor/` 中现有 Three.js 与 OrbitControls，无额外 CDN。

## 学习顺序

1. 预测墩顶加高是否会减小墩顶弯矩。
2. 保持 100 kN/m 相同均布荷载，切换等高/加高，比较弯矩、名义应力、位移。
3. 移动截面，由跨内正弯矩走向墩顶负弯矩；上下缘的拉压交换。
4. 在等高段比较中高与上下缘，再到中性轴之外观察弯剪共同作用的主应力方向。
5. 加入按实际面积计算的自重，检查提高刚度的代价。
6. 进入弯桥、斜交、变宽机制，讨论何时应提升分析模型。

## 本题计算合同

所有尺寸、材料与荷载都是教学假定，不对应一座实际桥。单位体系为 m、N、Pa；界面读数转换为 kN、kN·m、mm、MPa。“未开裂”是本计算采用的假定，并非当前荷载下混凝土不会开裂的验算结论。

- 两跨 20 + 20 m，支承中心 x = 0、20、40 m。端支点不约束转角，中支点竖向位移为零、梁体连续，没有设置内铰。
- 矩形实心截面宽 4 m、等高段高 1.2 m。宽度不是标准车道或整幅公路横断面。
- `u = max(0, 1 − |x − 20| / 8)`；加高模型 `h(x) = 1.2 + (hPier − 1.2) u²`。墩顶处梁底有斜率转折，此处不恢复局部主应力。
- 真实矩形面积 A = bh，I = bh³/12，W = bh²/6；顶部高程固定，底部随梁高下降。整体分析按小变形变刚度直梁近似，未计变高形状造成的局部应力、形心轴倾斜耦合。
- E = 30 GPa。附加均布荷载 q = 100 kN/m。自重开关单独加入 γA(x)，γ = 25 kN/m³。
- 相同荷载模式用于隔离刚度变化的影响；自重模式仍使用相同附加荷载，但两种几何的总荷载不同。
- 正 M 表示下缘受拉，正位移向上；V = dM/dx。墩顶 V 有跃变，默认读右侧值。

## 数值方法与核验

采用 Euler–Bernoulli 梁的力法，以中支点竖向反力为一个冗余量，基本体系为全长 40 m 简支梁。将单位竖向力弯矩图 m(x) 与实际荷载基本体系弯矩 M₀(x) 做柔度积分：

`R_B = −∫ M₀ m/(EI) dx / ∫ m²/(EI) dx`。

数值积分使用三点 Gauss；积分区间在几何转折与支点处拆开。荷载积分保留分布自重，位移由 M/EI 积分并施加端位移条件求得。它是梁理论解析教学模型的数值积分实现，不是空间实体有限元。

`node verify.mjs` 产生 `verification.json`：47项核验，覆盖等高两跨连续梁闭式解、整体平衡、三支点位移、对称性、荷载/弹模缩放、积分细化、体积与主应力屏蔽。

默认参数的基准：

| 量 | 等高 | 墩顶 2.4 m 加高 |
|---|---:|---:|
| 墩顶弯矩 / kN·m（不加自重） | −5000.0000 | −7051.3675 |
| 第一跨 x = 10 m 位移 / mm | −4.822531 | −2.619548 |
| 体积 / m³ | 192.0 | 217.6 |

根线程另以半跨端弯矩冗余、独立 Simpson 柔度积分核验了加高模型，数值一致；具体复核记录由教材根任务保存。

## 应力、剖切与颜色

上下缘色带只表示截面名义弯曲应力的拉压符号，不是三维应力云图，不显示局部峰值。

仅在远离支点的等高段，按棱柱矩形梁恢复 σx = −Mz/I、τxz = −1.5V/A(1−η²)，以 σz = 0 的平面应力近似计算主应力和方向。正应力拉为正，负剪应力的方向与 dM/dx = V 一致。主拉应力方向用红色外指箭头，另一压主应力用蓝色内指箭头；箭头长度为展示长度，不作应力大小标尺。

以下范围禁用局部主应力：距任一支点不超过 1.5h；加高区及其外延 h。**这是本课堂避免误导的保守展示规则，不是规范 D 区边界，也不证明规则之外的每一处都适用。**变高度斜底板自由边界、支点承压、横向正应力和局部力流不在本计算中。

切口来自同一实体几何，不另画独立二维截面。几何未设置虚假空腔。变形开关只在显示层增加 150v，不覆盖真实几何或计算值。车、人只做尺度参照，分别长 4.60 m、高 1.70 m，不参加荷载计算。

## 异形桥模式

弯桥、斜交、变宽采用完整三维实体展示几何特征，进入这些模式时隐藏直梁结果、名义应力色带和变形。它们没有各自的有限元解。

- 弯桥：介绍曲率与偏载带来的空间弯扭关联。
- 斜交：介绍支承方向、横向联系与支反力分配。
- 变宽：介绍横向分配与有效宽度不等于真实几何宽度。

整体纵向响应可用梁；横向弯曲、剪力滞、畸变可用板壳/格栅；接触、厚实体、支座或锚下局部传力须另建适当局部模型。渲染网格加密不等于实体分析。

## 文件与接口

- `calculations.js`：唯一计算源，由浏览器和 Node 共用。`package.json` 声明 ES module；接口为 `sectionAt(x, parameters)`、`solveBeam(parameters)`、`sampleAt(solution,x,eta,side)`、`principalStress(sigma,tau,sigmaZ)`。
- `solveBeam()` 返回 `parameters / length / stations / samples / reactions / totalLoad / loadMoment / volume / middleMoment / maxDownward / equilibriumResidual / supportCompatibility / responseAt()`。
- `sampleAt()` 的 `principal` 在不满足展示规则时为 `null`；`localStressReason` 给出原因。`sigmaTop / sigmaBottom` 为整体梁模型的名义边缘应力。
- `app.js` 暴露只读快照 `window.__girderLine2QA`，用于浏览器核验。
- 不支持开裂后刚度、徐变、收缩、预应力、施工阶段累积、剪切变形、塑性重分配、失稳或承载力验算。相关概念在第一条与正文中衔接，本例没有伪造对应结果。

实施采用 bridge-modeler / fem-analyzer 技能关于几何与分析分离、单位合同、局部模型边界和数值核验的要求。
