forked from EduCraft/curriculum-project-hub
feat(cph): implement nested outline manifest and batch/combined export
ADR-0029 — nested outline manifest, supersedes ADR-0008's flat [[parts]]:
- cph-model: recursive loader over manifest.toml containers / element.toml
leaves; Lesson.parts (pure elements, DFS order) + Lesson.outline (elements
interleaved with section headings at their DFS-open position); rejects
ambiguous/incomplete folders and root-vs-container table misplacement
- cph-diag: new DiagCode::ManifestMalformed for carrier-document structure
errors (discharges an existing TODO)
- cph-typst: augmented manifest now serializes the outline (element/section
entries) instead of a flat parts array
- render/lib.typ: render-lesson renders section headings at their depth
- examples/TH-141 migrated to 5 nested section containers + 3 root segments,
byte-identical element order; smoke-verified via cph check/build + pdftotext
ADR-0030 — batch & combined export, extends ADR-0009/0011:
- cph build with no --target batches every declared target (repeatable
--target for an explicit subset); any target failure => non-zero exit,
per-target ledger, independent per-target execution
- cph-model: bundle.toml loader (directory + [info]/[targets.*]/ordered
lessons with per-lesson target overrides)
- cph-typst: augmented bundle manifest (path-prefixed member outlines),
Engine::{compile_check_bundle,build_bundle_pdf}
- render/lib.typ: render-bundle assembles member lessons under per-lesson
headings, depth-shifts their own section headings, resets example/lemma
counters at each lesson boundary by default
- cph-cli: `cph bundle <path> --target <name>` subcommand, same batching
contract as `cph build`
- new bundle fixtures/tests (cph-model unit + cph-typst through-template PDF
compile), smoke-verified via a real 2-lesson merged PDF
Verification: cargo fmt/clippy/test clean across the workspace (68 tests);
real cph check/build/bundle runs against TH-141 and a bundle fixture, PDF
content inspected via pdftotext.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
kind = "segment"
|
||||
@@ -0,0 +1,3 @@
|
||||
= $sigma(T, p)$ 态函数与工程应用
|
||||
|
||||
以上所有模型都从微观或唯象规律推出 $sigma$。在工程实际中,$sigma$ 常被直接当作状态变量 $(T, p, "组分")$ 的态函数处理,由实验数据拟合给出。本节给出一道典型的工程应用题:把 $sigma(T, p)$ 当作给定的多项式态函数,用它解一个混合优化问题。
|
||||
@@ -0,0 +1 @@
|
||||
kind = "segment"
|
||||
@@ -0,0 +1,3 @@
|
||||
= $sigma(T)$ 的建模
|
||||
|
||||
以上讨论都默认温度固定。但 $sigma$ 随温度变化的图像是物理学的常识——温度升高时分子热运动加剧,表面层的亏损能下降,$sigma$ 随之下降,在临界点处趋零。本节给出 $sigma(T)$ 的几条关系:从缺键模型直接读出的 $L_m(T)$ 单调下降图像、唯象的 Eötvös 规则及其幂律修正、以及把 $sigma$ 升级为自由能的热力学关系 $dif sigma \/ dif T = - s_s$。
|
||||
@@ -0,0 +1 @@
|
||||
kind = "segment"
|
||||
@@ -0,0 +1,3 @@
|
||||
$sigma$ 是温度、压强、组分的态函数。在工程实际中,对某一类流体(如石油、混合液烃、电池电解液)做大量实验测量后用多项式拟合 $sigma(T, p)$ 给出经验公式,并直接代入应用。这种"输入最多、假设最少"的建模方式与前面从分子层面推出 $sigma$ 的方式互不冲突,是同一物理量在不同抽象层级的两种表达。
|
||||
|
||||
下题给出一道把 $sigma(T, p)$ 当作给定的多项式态函数、求工程优化条件的真实问题。题中所有外加参数都是给定的——本题考查的是把态函数代入混合过程后如何利用其变量关系简化为单变量优化。
|
||||
@@ -0,0 +1 @@
|
||||
kind = "segment"
|
||||
@@ -0,0 +1 @@
|
||||
从缺键模型 @缺键一般式 看,$sigma$ 对 $T$ 的依赖完全由 $L_m(T)$ 携带——另几个量 $rho$、$mu$、$N_A$ 与温度关系微弱,可视为常数。摩尔汽化热 $L_m$ 随 $T$ 升高单调下降:分子热运动加剧,平均键合能减弱,把分子从液体里拉出来所需的能量变小。临界点处 $L_m arrow.r 0$,故由 @缺键一般式 有 $sigma arrow.r 0$。这一行为是微观模型内禀给出的,不依赖任何外加假设。
|
||||
Reference in New Issue
Block a user