universal-physics-tensor 9.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -16
- package/data/atlas/atlas.json +55 -44
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +19 -18
- package/data/atlas/oscillators.json +15 -10
- package/data/atlas/waves.json +23 -18
- package/data/bridge-catalog.json +886 -1473
- package/data/bridge-catalog.schema.json +349 -132
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +15 -8
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +79 -45
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +143 -62
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +171 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +48 -24
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +15 -2
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +49 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +90 -10
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +5 -1
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +18 -3
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.js.map +1 -1
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +2 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +2 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +29 -22
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +42 -7
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +1 -3
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +42 -17
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +15 -9
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +13 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +53 -31
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +14 -7
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +40 -10
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +82 -89
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -18
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +24 -26
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +13 -9
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +1 -1
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.js +1 -1
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +15 -9
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +14 -13
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -18
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +57 -47
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +8 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +25 -67
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +153 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +21 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +81 -21
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -8
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +24 -11
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +46 -13
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +6 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +4 -3
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +11 -4
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +34 -9
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +8 -8
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -10
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +1 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +31 -7
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +16 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -5
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +7 -2
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +9 -5
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +50 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -20
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +5 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +41 -42
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +13 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +126 -248
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brownian-sphere.js","sourceRoot":"","sources":["../../src/cases/brownian-sphere.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brownian-sphere.js","sourceRoot":"","sources":["../../src/cases/brownian-sphere.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAoB,MAAM,YAAY,CAAC;AAEhG,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAElC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,uFAAuF;AACvF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,wFAAwF;AACxF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,uGAAuG;AACvG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,+GAA+G;AAC/G,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,IAAY;IAC9D,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3H,mGAAmG;IACnG,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE;YAAE,GAAG,IAAI,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC;IACjI,OAAO,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,GAAG,CAAC,CAAC;IACzF,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACjH,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACrE,GAAG,IAAI,IAAI,CAAC;QACZ,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG;YAAE,MAAM;QAC9B,IAAI,CAAC,GAAG,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,kEAAkE;IACzE,UAAU,EAAE;QACV,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,0CAA0C,EAAE,WAAW,EAAE,UAAU,EAAE;QAC7I,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iEAAiE,EAAE;QACzJ;YACE,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,wCAAwC;YACjD,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;SAC1F;QACD,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iDAAiD,EAAE;QACnJ,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8CAA8C,EAAE;QAC7I,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,uDAAuD,EAAE;QAC9H,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,oFAAoF,EAAE;QAClK;YACE,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,gIAAgI;YACzI,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,qHAAqH;YACrH,sIAAsI;YACtI,kHAAkH;gBAChH,4EAA4E;SAC/E;QACD,MAAM,EAAE;YACN,yDAAyD;YACzD,4CAA4C;SAC7C;QACD,WAAW,EACT,qHAAqH;YACrH,iHAAiH;YACjH,oHAAoH;YACpH,0CAA0C;KAC7C;IACD,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE;QACP,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE;QAC7F,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mCAAmC,EAAE;QAC/F,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE;QACjH,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,qDAAqD,EAAE;QAC5H,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE;QAC9E,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,mFAAmF,EAAE;QAC1I,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,yEAAyE,EAAE;QAChI,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,qFAAqF,EAAE;QACpJ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iFAAiF,EAAE;QACjI,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,oEAAoE,EAAE;QAC3I,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;QACpI;YACE,GAAG,EAAE,cAAc;YACnB,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,iJAAiJ;SAC3J;QACD,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,6EAA6E,EAAE;QAClK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,eAAe,EAAE,qBAAqB,CAAC,EAAE;QACxI;YACE,GAAG,EAAE,mBAAmB;YACxB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,kHAAkH;SAC5H;QACD,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qFAAqF,EAAE;QAC5J,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oFAAoF,EAAE;QACvJ,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4HAA4H,EAAE;QAC/L,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,CAAC,EAAE;KACxK;IACD,UAAU,EAAE;QACV,SAAS,EAAE,uGAAuG;QAClH,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,iBAAiB;QAC/B,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,+EAA+E;KACxF;IACD,UAAU,EAAE;QACV,8HAA8H;QAC9H,mJAAmJ;QACnJ,4GAA4G;KAC7G;IACD,WAAW,EAAE;QACX,6JAA6J;QAC7J,mGAAmG;QACnG,yJAAyJ;QACzJ,wHAAwH;QACxH,qEAAqE;KACtE;IACD,WAAW,EAAE;QACX,sHAAsH;YACpH,mFAAmF;QACrF,yGAAyG;QACzG,4GAA4G;KAC7G;IACD,KAAK,EAAE;QACL,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,yGAAyG,EAAE;QAC7I,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,4EAA4E,EAAE;QACnH,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE;QACpE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,kGAAkG,EAAE;KACvI;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC;YAC5H,IAAI,EAAE,gHAAgH;YACtH,KAAK,EAAE,EAAE;SACV;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,KAAK,CAAC;gBACjH,IAAI,EAAE,+FAA+F;gBACrG,KAAK,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;aAChC;YACD;gBACE,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,KAAK,CAAC;gBAClH,IAAI,EAAE,8GAA8G;gBACpH,KAAK,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC;aAClC;YACD;gBACE,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC;gBAC7H,IAAI,EAAE,iGAAiG;gBACvG,KAAK,EAAE,CAAC,MAAM,CAAC;aAChB;YACD;gBACE,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;gBAC/H,IAAI,EAAE,kIAAkI;gBACxI,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC;aAC9C;SACF;KACF;IACD,kGAAkG;IAClG,QAAQ,CAAC,MAAM,EAAE,OAAO;QACtB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACrE,OAAO,gCAAgC,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC;IAC3E,CAAC;IACD,0GAA0G;IAC1G,GAAG,CAAC,CAAC;QACH,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAA2B,CAAC;QAC/H,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,8BAA8B,CAAC,GAAG,CAAC,CAAC;QAC5F,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAClE,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1E,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,GAAG,GAAG,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG;YACb,KAAK,CAAC,eAAe,EAAE,yCAAyC,EAAE,+BAA+B,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EACjH,0EAA0E,CAAC;YAC7E,KAAK,CAAC,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAClG,mFAAmF,CAAC;YACtF,KAAK,CAAC,QAAQ,EAAE,kDAAkD,EAAE,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,qBAAqB,EACrI,uHAAuH,CAAC;SAC3H,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,mGAAmG,CAAC,CAAC;QACxH,IAAI,IAAI,GAA4D,IAAI,CAAC;QACzE,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,8DAA8D,CAAC,GAAG,CAAC,CAAC;YAC9H,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;YACzB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;YAC3E,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,aAAa,EAAE,uCAAuC,EAAE,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,mBAAmB,EACvI,sJAAsJ,CAAC,EACzJ,KAAK,CAAC,MAAM,EAAE,sDAAsD,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAC7I,4GAA4G,CAAC,EAC/G,KAAK,CAAC,aAAa,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EACxI,uJAAuJ,CAAC,CAC3J,CAAC;YACF,SAAS,CAAC,IAAI,CACZ,kKAAkK,CACnK,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,OAAO,EAAE,qDAAqD,EAAE,kBAAkB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAC3H,eAAe,EAAE,mFAAmF,CAAC,CACxG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,kCAAkC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,8DAA8D,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAC1N,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG;gBACX,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClC,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,IAAI;gBACnB,EAAE,EAAE,EAAE;gBACN,eAAe,EAAE,WAAW;gBAC5B,kBAAkB,EAAE,GAAG,GAAG,WAAW,GAAG,CAAC;gBACzC,YAAY,EAAE,QAAQ;gBACtB,mBAAmB,EAAE,QAAQ,GAAG,GAAG;gBACnC,eAAe,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC;gBACnC,iBAAiB,EAAE,MAAM;gBACzB,mBAAmB,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;gBACvC,eAAe,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;gBACpC,WAAW,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;gBAClC,cAAc,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC;aAC9D;YACD,MAAM;YACN,SAAS;SACV,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["/**\n * Applied case: a Brownian sphere tracked in a fluid — the diffusion\n * coefficient and mean-square displacement from the particle's radius and the\n * fluid's viscosity and temperature, with the regime checks that make the\n * Stokes–Einstein scalar applicable.\n *\n * The atlas bridge `ab-stokes-einstein` derives D = k_BT/(6πηa) from the\n * Langevin model and Stokes drag, with Re ≤ 0.1 and m/(γt) ≤ 0.01. This case\n * evaluates it for a named geometry (radius, or diameter through an exact\n * alternate) and fluid, computes Re from the particle's own velocity scales,\n * includes the displaced-fluid added mass in the momentum relaxation time, and\n * evaluates the hydrodynamic memory (the Basset force) that the bridge does not\n * check: the full MSD with fluid inertia, and the correction it makes at t.\n * Given a distance to a plane wall, it applies the wall's drag corrections to D.\n *\n * `CE-stokes-einstein` is encoded only up to its 6π (scalar-up-to-constant);\n * the 6π here comes from Stokes drag, not from that entry.\n *\n * @module cases/brownian-sphere\n */\nimport { K_B_SI } from '../core/constants.js';\nimport { adaptiveSimpson } from './quadrature.js';\nimport { check, requirePositive, signedRelativeDifference, type AppliedCase } from './types.js';\n\nconst ID = 'case-brownian-sphere';\n\n/** Standard gravity (CGPM 1901), for the sedimentation speed. @internal */\nexport const G_STANDARD = 9.80665;\n\n/** The thresholds `ab-stokes-einstein` states: Re ≤ 0.1 and τ_p/t ≤ 0.01. @internal */\nexport const MAX_RE = 0.1;\nexport const MAX_TAU_P_RATIO = 0.01;\n\n/** Ceiling on the memory term's own share of the MSD, |MSD_H/MSD_OU − 1|. @internal */\nexport const MAX_MEMORY_CORRECTION = 0.01;\n\n/** (v_s t)²/(2Dt) ceiling along gravity when the vertical axis is tracked. @internal */\nexport const MAX_DRIFT_RATIO = 0.01;\n\n/** Ceiling on |MSD/MSD_wall − 1|: the wall's correction to the tracked MSD is negligible. @internal */\nexport const MAX_WALL_CORRECTION = 0.01;\n\n/** Ceiling on the last retained Faxén term (a/h)⁵/16 over the series' value. @internal */\nexport const MAX_FAXEN_LAST_TERM = 0.01;\n\n/** Ceiling on √(2 D_⊥ t)/(h − a): the height, and so D_∥ and D_⊥, barely change over t. @internal */\nexport const MAX_WALL_EXCURSION = 0.1;\n\n/** t − τ(1 − e^{−t/τ}) in units of τ, i.e. x − (1 − e^{−x}), without its cancellation at small x. @internal */\nexport function ballisticDeficit(x: number): number {\n return x < 1e-3 ? x * x * (1 / 2 - x / 6 + (x * x) / 24 - (x * x * x) / 120) : x + Math.expm1(-x);\n}\n\n/**\n * MSD/(2Dt) per axis for a sphere with fluid inertia: added mass and the Basset\n * memory force, in an unbounded incompressible fluid, velocities in equilibrium.\n *\n * The velocity autocorrelation has the Laplace transform\n * Ĉ(s) = k_BT/(M s + γ(1 + √(s τ_f))), M = m + m_f/2, from the frequency-dependent\n * Stokes drag γ(1 + √(sτ_f)) + s m_f/2 (Stokes 1851; the Basset 1888 term is its\n * √s part; Hinch 1975, J. Fluid Mech. 72, 499; Clercx & Schram 1992, Phys. Rev.\n * A 46, 1942). Its poles in √s both have negative real part, so Ĉ has none on the\n * principal sheet and C(t) is the branch-cut integral\n * C(t) = (k_BT/πγ) ∫₀^∞ e^{−ut} √(τ_f u)/((1 − τ_p u)² + τ_f u) du, τ_p = M/γ.\n * Then ⟨Δx²⟩ = 2∫₀ᵗ (t − s) C(s) ds, and with v = ut,\n * MSD/(2Dt) = (1/π) ∫₀^∞ √(βv) (v − 1 + e^{−v}) / (v² ((1 − αv)² + βv)) dv, α = τ_p/t, β = τ_f/t,\n * integrated here over ln v by adaptive Simpson, split at v = 1, 1/β and around\n * the near-resonance at v = 1/α (width √(β/α) in ln v; β/α ≤ 9 for any densities).\n *\n * Limits: → 1 − 2√(τ_f/(πt)) + (τ_f − τ_p)/t for t ≫ τ_p, τ_f (expanding Ĉ in √s),\n * whose second derivative is the VACF tail k_BT/(12 ρ_f (πνt)^{3/2}); → t/(2τ_p)\n * for t ≪ τ_p, i.e. ⟨Δx²⟩ → (k_BT/M) t². Requires β > 0: without memory the\n * poles reach the principal sheet and this integral no longer holds them.\n * @internal\n */\nexport function hydrodynamicMsdRatio(alpha: number, beta: number): number {\n const f = (y: number) => {\n const v = Math.exp(y);\n const lag = 1 - alpha * v;\n return (Math.sqrt(beta * v) * (ballisticDeficit(v) / v)) / (lag * lag + beta * v);\n };\n const peak = -Math.log(alpha);\n const w = Math.min(1, Math.sqrt(beta / alpha));\n const points = [0, -Math.log(beta), peak, ...[1, 2, 4].flatMap((k) => [peak - k * w, peak + k * w])].sort((x, y) => x - y);\n // The integrand falls as v^{3/2} below and v^{−3/2} above the breakpoints: e^{−75} at ±50 in ln v.\n const edges = [points[0]! - 50, ...points, points[points.length - 1]! + 50];\n let sum = 0;\n for (let k = 1; k < edges.length; k++) if (edges[k]! > edges[k - 1]!) sum += adaptiveSimpson(f, edges[k - 1]!, edges[k]!, 1e-12);\n return sum / Math.PI;\n}\n\n/**\n * D_∥/D₀ for a sphere translating parallel to a plane wall, centre at h:\n * 1 − (9/16)ξ + (1/8)ξ³ − (45/256)ξ⁴ − (1/16)ξ⁵, ξ = a/h (Faxén 1923, method of\n * reflections, as quoted in Happel & Brenner 1965, Low Reynolds Number\n * Hydrodynamics, ch. 7). A series in a/h, truncated:\n * its error is not bounded here, and near contact it misses the logarithmic\n * lubrication divergence of the drag.\n * @internal\n */\nexport function faxenParallel(aOverH: number): number {\n const x = aOverH;\n return 1 - (9 / 16) * x + (1 / 8) * x ** 3 - (45 / 256) * x ** 4 - (1 / 16) * x ** 5;\n}\n\n/**\n * λ = F/(6πηaU) for a sphere approaching a plane wall head-on, centre at h > a,\n * exact in Stokes flow (Brenner 1961, Chem. Eng. Sci. 16, 242, bispherical coordinates):\n * λ = (4/3) sinh α Σₙ n(n+1)/((2n−1)(2n+3)) · [(2 sinh(2n+1)α + (2n+1) sinh 2α) /\n * (4 sinh²(n+½)α − (2n+1)² sinh²α) − 1], cosh α = h/a. D_⊥ = D₀/λ.\n *\n * The bracket is rewritten over 4 sinh²(n+½)α so that no sinh overflows; its\n * terms fall as e^{−(2n+1)α}, so near contact (α → 0) the sum needs ~40/α terms,\n * and the low-n denominators lose ~α⁻² of relative precision to cancellation.\n * Limits: λ → 1 + (9/8)(a/h) far away (Lorentz 1907); λ → a/δ + (1/5) ln(a/δ) +\n * 0.971 as the gap δ = h − a → 0 (Cox & Brenner 1967, Chem. Eng. Sci. 22, 1753).\n * @throws Error if h/a ≤ 1.\n * @internal\n */\nexport function brennerPerpendicular(hOverA: number): number {\n if (!(hOverA > 1)) throw new Error(`brennerPerpendicular: need h/a > 1 (got ${hOverA})`);\n const al = Math.acosh(hOverA);\n const s = Math.sinh(al);\n const s2a = Math.sinh(2 * al);\n let sum = 0;\n for (let n = 1; ; n++) {\n const x = (n + 0.5) * al;\n const k = 2 * n + 1;\n const inv4Sinh2 = Math.exp(-2 * x) / Math.expm1(-2 * x) ** 2;\n const cothMinus1 = 2 / Math.expm1(2 * x);\n const bracket = (cothMinus1 + k * s2a * inv4Sinh2 + k * k * s * s * inv4Sinh2) / (1 - k * k * s * s * inv4Sinh2);\n const term = ((n * (n + 1)) / ((2 * n - 1) * (2 * n + 3))) * bracket;\n sum += term;\n if (term < 1e-17 * sum) break;\n if (n > 1e7) throw new Error(`brennerPerpendicular: no convergence at h/a = ${hOverA}`);\n }\n return (4 / 3) * s * sum;\n}\n\nexport const BROWNIAN_SPHERE_CASE: AppliedCase = {\n id: ID,\n title: 'Brownian sphere in a fluid (particle geometry, fluid conditions)',\n parameters: [\n { key: 'T_K', quantity: 'temperature', symbol: 'T', unit: 'K', meaning: 'absolute temperature of the fluid, > 0 K', temperature: 'absolute' },\n { key: 'eta_Pa_s', quantity: 'dynamic viscosity', symbol: 'η', unit: 'Pa*s', meaning: 'viscosity of the fluid at T (water at 20 °C ≈ 1.0e-3 Pa·s), > 0' },\n {\n key: 'a_m',\n quantity: 'particle radius',\n symbol: 'a',\n unit: 'm',\n meaning: 'hydrodynamic radius of the sphere, > 0',\n geometry: 'radius',\n alternates: [{ key: 'diameter_m', meaning: 'the diameter 2a of the sphere', toKey: 0.5 }],\n },\n { key: 'rho_p_kg_per_m3', quantity: 'particle density', symbol: 'ρ_p', unit: 'kg/m^3', meaning: 'mass density of the sphere (silica ≈ 2000), > 0' },\n { key: 'rho_f_kg_per_m3', quantity: 'fluid density', symbol: 'ρ_f', unit: 'kg/m^3', meaning: 'mass density of the fluid (water ≈ 998), > 0' },\n { key: 't_s', quantity: 'lag time', symbol: 't', unit: 's', meaning: 'the time over which the displacement is measured, > 0' },\n { key: 'd', quantity: 'tracked dimensions', symbol: 'd', unit: '', meaning: 'number of Cartesian axes tracked: 1, 2 (a microscope image plane, horizontal) or 3' },\n {\n key: 'h_m',\n quantity: 'distance to a wall',\n symbol: 'h',\n unit: 'm',\n meaning: \"distance from the sphere's centre to one plane horizontal wall (a coverslip), > a; leave out when no wall is within many radii\",\n geometry: 'separation',\n optional: true,\n },\n ],\n governing: {\n parent: [\n 'm dv/dt = −γ v + ξ(t), ⟨ξ_i(t) ξ_j(t′)⟩ = 2γ k_BT δ_ij δ(t − t′) (Langevin, a 3-vector equation; model-langevin)',\n 'η ∇²u = ∇p, ∇·u = 0, u = v on the sphere (no slip), u → 0 far away (Stokes creeping flow, a field; model-stokes-drag) ⇒ γ = 6πηa',\n 'm dv/dt = −γ v − (m_f/2) dv/dt − 6a²√(πηρ_f) ∫_{−∞}^t v′(s)/√(t − s) ds + ξ(t), ξ coloured by the same kernel ' +\n '(unsteady Stokes flow: added mass and the Basset memory force; Hinch 1975)',\n ],\n scalar: [\n 'D = k_BT/(6πηa) (Stokes–Einstein; ab-stokes-einstein)',\n '⟨|Δr|²⟩ = 2 d D t over the d tracked axes',\n ],\n distinction:\n 'The parents are a vector stochastic equation for the velocity and a field equation for the flow around the sphere; ' +\n 'the scalar keeps one isotropic number D and a mean-square displacement linear in t. Dropped: the velocity as a ' +\n 'state (the ballistic regime t ≲ τ_p), the flow field (and with it the hydrodynamic memory for t ≲ τ_f), the shape ' +\n 'beyond the radius, and every anisotropy.',\n },\n observable: 'MSD_m2',\n outputs: [\n { key: 'gamma_kg_per_s', symbol: 'γ', unit: 'kg/s', meaning: 'Stokes drag coefficient 6πηa' },\n { key: 'D_m2_per_s', symbol: 'D', unit: 'm^2/s', meaning: 'diffusion coefficient k_BT/(6πηa)' },\n { key: 'MSD_m2', symbol: '⟨|Δr|²⟩', unit: 'm^2', meaning: 'mean-square displacement 2dDt over the tracked axes' },\n { key: 'rms_displacement_m', symbol: '√⟨|Δr|²⟩', unit: 'm', meaning: 'root-mean-square displacement over the tracked axes' },\n { key: 'm_kg', symbol: 'm', unit: 'kg', meaning: 'particle mass (4/3)πa³ρ_p' },\n { key: 'tau_p_s', symbol: 'τ_p', unit: 's', meaning: 'momentum relaxation time (m + m_f/2)/γ, with the displaced-fluid added mass m_f/2' },\n { key: 'tau_f_s', symbol: 'τ_f', unit: 's', meaning: 'vorticity diffusion time ρ_f a²/η over one radius (hydrodynamic memory)' },\n { key: 'v_sed_m_per_s', symbol: 'v_s', unit: 'm/s', meaning: 'Stokes sedimentation speed (2/9)(ρ_p − ρ_f) g a²/η; negative means the sphere rises' },\n { key: 'Re', symbol: 'Re', unit: '', meaning: 'ρ_f a max(√(k_BT/m), |v_s|)/η — radius-based; a diameter-based Re is twice this' },\n { key: 'MSD_langevin_m2', symbol: '⟨|Δr|²⟩_L', unit: 'm^2', meaning: 'the Langevin parent: 2dD[t − τ(1 − e^{−t/τ})], τ = m/γ (bare mass)' },\n { key: 'langevin_deviation', symbol: 'MSD/MSD_L − 1', unit: '', meaning: signedRelativeDifference('diffusive MSD', 'Langevin one') },\n {\n key: 'MSD_hydro_m2',\n symbol: '⟨|Δr|²⟩_H',\n unit: 'm^2',\n meaning: 'the Langevin–Basset parent: added mass and hydrodynamic memory, unbounded incompressible fluid (branch-cut integral of its Laplace-domain VACF)',\n },\n { key: 'hydro_correction_m2', symbol: '⟨|Δr|²⟩_H − ⟨|Δr|²⟩', unit: 'm^2', meaning: 'what inertia and memory change in the MSD at t; ≈ −4dD√(τ_f t/π) at t ≫ τ_f' },\n { key: 'hydro_deviation', symbol: 'MSD/MSD_H − 1', unit: '', meaning: signedRelativeDifference('diffusive MSD', 'Langevin–Basset one') },\n {\n key: 'memory_correction',\n symbol: 'MSD_H/MSD_OU − 1',\n unit: '',\n meaning: \"the memory force's own share: MSD_H against the Ornstein–Uhlenbeck MSD with the same τ_p (added mass, no memory)\",\n },\n { key: 'D_parallel_m2_per_s', symbol: 'D_∥', unit: 'm^2/s', meaning: 'D beside the wall, parallel to it: D·(Faxén series in a/h); not defined without h_m' },\n { key: 'D_perp_m2_per_s', symbol: 'D_⊥', unit: 'm^2/s', meaning: 'D normal to the wall: D/λ, λ from Brenner\\'s exact series; not defined without h_m' },\n { key: 'MSD_wall_m2', symbol: '⟨|Δr|²⟩_w', unit: 'm^2', meaning: '2t(d_∥ D_∥ + d_⊥ D_⊥): the tracked horizontal axes parallel to the wall, a third one normal to it; not defined without h_m' },\n { key: 'wall_deviation', symbol: 'MSD/MSD_w − 1', unit: '', meaning: signedRelativeDifference('unbounded-fluid MSD', 'wall-corrected one', 'not defined without h_m') },\n ],\n comparison: {\n reference: 'the parent Langevin model (bare mass, white noise; it has neither added mass nor hydrodynamic memory)',\n valueKey: 'MSD_m2',\n referenceKey: 'MSD_langevin_m2',\n deviationKey: 'langevin_deviation',\n method: 'closed form of the Ornstein–Uhlenbeck MSD, velocities starting in equilibrium',\n },\n conditions: [\n 'a rigid sphere released at r = 0; its displacement density starts as δ(r) and spreads as a Gaussian of variance 2Dt per axis',\n 'no-slip boundary on the sphere; the fluid is at rest far from it (no imposed flow; no wall within many radii, or with h_m one plane no-slip wall)',\n 'fluid in thermal equilibrium at T; one isolated particle (dilute: no hydrodynamic interaction with others)',\n ],\n notIncluded: [\n 'walls other than one plane: a second wall, a channel or a curved surface; and, with h_m, the spread of heights the sphere samples (D_∥, D_⊥ are taken at h)',\n 'localization error and camera motion blur of the tracking, which offset and bias the measured MSD',\n 'fluid compressibility: the incompressible memory kernel gives ⟨v²⟩ = k_BT/(m + m_f/2) at t = 0; sound restores k_BT/m over a/c_s (Zwanzig & Bixon 1970)',\n 'the memory force near a wall: MSD_hydro is the unbounded-fluid result, and a wall within √(νt) changes the memory tail',\n 'the rotational diffusion of the sphere, and any non-spherical shape',\n ],\n measurement: [\n 'single-particle tracking: fit ⟨|Δr|²⟩(t) over the d tracked axes, slope 2dD; compare D and MSD_m2 at the chosen lag ' +\n '(with N independent displacements the relative scatter of the MSD is ≈ √(2/(dN)))',\n 'subtract the static localization offset 2dσ_loc² (measured on an immobilized particle) before comparing',\n 'dynamic light scattering: the field autocorrelation decays at Γ = D q², an independent route to the same D',\n ],\n links: [\n { id: 'ab-stokes-einstein', role: 'the derivation D = k_BT/(6πηa) with its regime Re ≤ 0.1, m/(γt) ≤ 0.01 (`upt atlas ab-stokes-einstein`)' },\n { id: 'ab-langevin-diffusion', role: 'the overdamped coarse-graining D = k_BT/γ and its ballistic counterexample' },\n { id: 'model-stokes-drag', role: 'the creeping-flow drag γ = 6πηa' },\n { id: 'CE-stokes-einstein', role: 'encoded only up to its dimensionless 6π (scalar-up-to-constant); the 6π here is from Stokes drag' },\n ],\n examples: {\n valid: {\n args: ['T_K=293.15', 'eta_Pa_s=1e-3', 'a_m=1um', 'rho_p_kg_per_m3=2000', 'rho_f_kg_per_m3=998', 't_s=1', 'd=2', 'h_m=100um'],\n note: 'a 1 µm-radius silica sphere in water at 20 °C, 100 µm above the coverslip, tracked in the image plane over 1 s',\n fails: [],\n },\n failures: [\n {\n args: ['T_K=293.15', 'eta_Pa_s=1e-3', 'a_m=1um', 'rho_p_kg_per_m3=2000', 'rho_f_kg_per_m3=998', 't_s=1us', 'd=2'],\n note: 'the same sphere over 1 µs: still ballistic (t ≈ 2τ_p) and inside the hydrodynamic memory time',\n fails: ['overdamped', 'memory'],\n },\n {\n args: ['T_K=293.15', 'eta_Pa_s=1e-3', 'a_m=50um', 'rho_p_kg_per_m3=7800', 'rho_f_kg_per_m3=998', 't_s=100', 'd=3'],\n note: 'a 50 µm-radius steel sphere tracked in 3-D: it sinks at ≈ 3.7 cm/s, Re ≈ 1.9, and the drift swamps diffusion',\n fails: ['creeping-flow', 'drift'],\n },\n {\n args: ['T_K=293.15', 'eta_Pa_s=1e-3', 'a_m=1um', 'rho_p_kg_per_m3=1050', 'rho_f_kg_per_m3=998', 't_s=50ms', 'd=2', 'h_m=3um'],\n note: 'a 1 µm-radius polystyrene sphere 3 µm (centre) above the coverslip: the wall slows D_∥ by ≈ 19%',\n fails: ['wall'],\n },\n {\n args: ['T_K=293.15', 'eta_Pa_s=1e-3', 'a_m=1um', 'rho_p_kg_per_m3=1050', 'rho_f_kg_per_m3=998', 't_s=50ms', 'd=2', 'h_m=1.2um'],\n note: 'the same sphere with a 0.2 µm gap: past the range of the Faxén series, and its height changes by more than the gap allows over t',\n fails: ['faxen-range', 'wall', 'wall-static'],\n },\n ],\n },\n /** Evaluate the Stokes-Einstein MSD and regime checks for the supplied Brownian-sphere inputs. */\n regimeAt(inputs, outputs) {\n const re = outputs.Re;\n const m = outputs.m_kg;\n const gamma = outputs.gamma_kg_per_s;\n const t = inputs.t_s;\n if (re == null || m == null || gamma == null || t == null) return '';\n return `upt regime diffusion --at Re=${re} m=${m} gamma=${gamma} t=${t}`;\n },\n /** Compute the Stokes-Einstein diffusion, MSD and regime checks for one set of Brownian-sphere inputs. */\n run(i) {\n requirePositive(ID, i, ['T_K', 'eta_Pa_s', 'a_m', 'rho_p_kg_per_m3', 'rho_f_kg_per_m3', 't_s']);\n const { T_K: T, eta_Pa_s: eta, a_m: a, rho_p_kg_per_m3: rhoP, rho_f_kg_per_m3: rhoF, t_s: t, d } = i as Record<string, number>;\n if (d !== 1 && d !== 2 && d !== 3) throw new Error(`${ID}: d must be 1, 2 or 3 (got ${d})`);\n const kT = K_B_SI * T;\n const gamma = 6 * Math.PI * eta * a;\n const D = kT / gamma;\n const msd = 2 * d * D * t;\n const volume = (4 / 3) * Math.PI * a ** 3;\n const m = volume * rhoP;\n const tauP = (m + 0.5 * volume * rhoF) / gamma;\n const tauF = (rhoF * a * a) / eta;\n const vSed = ((2 / 9) * (rhoP - rhoF) * G_STANDARD * a * a) / eta;\n const re = (rhoF * a * Math.max(Math.sqrt(kT / m), Math.abs(vSed))) / eta;\n const tauBare = m / gamma;\n const msdLangevin = 2 * d * D * tauBare * ballisticDeficit(t / tauBare);\n const msdHydro = msd * hydrodynamicMsdRatio(tauP / t, tauF / t);\n const msdAddedMass = 2 * d * D * tauP * ballisticDeficit(t / tauP);\n const memory = msdHydro / msdAddedMass - 1;\n const checks = [\n check('creeping-flow', 'creeping flow around the sphere, Re ≪ 1', 'ρ_f a max(√(k_BT/m), |v_s|)/η', re, '<=', MAX_RE,\n \"the threshold ab-stokes-einstein states: a chosen machine form of Re ≪ 1\"),\n check('overdamped', 'overdamped times t ≫ τ_p', '(m + m_f/2)/(γ t)', tauP / t, '<=', MAX_TAU_P_RATIO,\n \"ab-stokes-einstein's m/(γt) ≤ 0.01, with the added mass m_f/2 included (stricter)\"),\n check('memory', 'past the hydrodynamic memory, t ≫ τ_f = ρ_f a²/η', '|MSD_H/MSD_OU − 1|', Math.abs(memory), '<=', MAX_MEMORY_CORRECTION,\n 'chosen threshold: the Basset memory changes the MSD by ≤ 1% at t (computed, not estimated; ≈ 2√(τ_f/(πt)) at t ≫ τ_f)'),\n ];\n const unchecked = ['the particle is a rigid sphere and a is its hydrodynamic radius (a coating or a shell changes it)'];\n let wall: { dPar: number; dPerp: number; msdWall: number } | null = null;\n if (i.h_m !== undefined) {\n const h = i.h_m;\n if (!Number.isFinite(h) || !(h > a)) throw new Error(`${ID}: h_m must be a finite distance > a_m, centre to wall (got ${h})`);\n const faxen = faxenParallel(a / h);\n const lambda = brennerPerpendicular(h / a);\n const dPar = D * faxen;\n const dPerp = D / lambda;\n const msdWall = 2 * t * (Math.min(d, 2) * dPar + (d === 3 ? dPerp : 0));\n wall = { dPar, dPerp, msdWall };\n const excursion = Math.sqrt(2 * dPerp * t) + (Math.abs(vSed) * t) / lambda;\n checks.push(\n check('faxen-range', 'the Faxén series in a/h holds for D_∥', '(a/h)⁵/16 ÷ (D_∥/D)', (a / h) ** 5 / 16 / faxen, '<=', MAX_FAXEN_LAST_TERM,\n 'chosen threshold: the last retained term is ≤ 1% of the series — a size estimate of the truncation, not a bound; D_⊥ (Brenner) is exact at any h > a'),\n check('wall', 'the wall correction to the tracked MSD is negligible', '|MSD/MSD_w − 1|', Math.abs(msd / msdWall - 1), '<=', MAX_WALL_CORRECTION,\n 'chosen threshold: the unbounded-fluid D is then within 1% for the tracked axes; otherwise read MSD_wall_m2'),\n check('wall-static', 'the height barely changes over t', '(√(2 D_⊥ t) + |v_s| t/λ)/(h − a)', excursion / (h - a), '<=', MAX_WALL_EXCURSION,\n 'chosen threshold: diffusion plus wall-slowed sedimentation normal to the wall move the sphere by ≤ 10% of the gap, so D_∥, D_⊥ taken at h hold over t'),\n );\n unchecked.push(\n 'the wall is plane, rigid, no-slip and horizontal, and the gap h − a is many molecular sizes and roughness heights (no surface forces, no lubrication-scale slip)',\n );\n }\n if (d === 3) {\n checks.push(\n check('drift', 'sedimentation drift negligible along gravity over t', '(v_s t)²/(2 D t)', (vSed * t) ** 2 / (2 * D * t), '<=',\n MAX_DRIFT_RATIO, 'chosen threshold: the vertical MSD then carries ≤ 1% from the deterministic drift'),\n );\n } else {\n unchecked.push(\n `the ${d === 1 ? 'tracked axis is' : 'tracked axes are'} horizontal, so sedimentation (${Number(Math.abs(vSed * t).toPrecision(3))} m over t) moves the sphere out of the plane but not along ${d === 1 ? 'it' : 'them'}`,\n );\n }\n return {\n outputs: {\n gamma_kg_per_s: gamma,\n D_m2_per_s: D,\n MSD_m2: msd,\n rms_displacement_m: Math.sqrt(msd),\n m_kg: m,\n tau_p_s: tauP,\n tau_f_s: tauF,\n v_sed_m_per_s: vSed,\n Re: re,\n MSD_langevin_m2: msdLangevin,\n langevin_deviation: msd / msdLangevin - 1,\n MSD_hydro_m2: msdHydro,\n hydro_correction_m2: msdHydro - msd,\n hydro_deviation: msd / msdHydro - 1,\n memory_correction: memory,\n D_parallel_m2_per_s: wall?.dPar ?? null,\n D_perp_m2_per_s: wall?.dPerp ?? null,\n MSD_wall_m2: wall?.msdWall ?? null,\n wall_deviation: wall === null ? null : msd / wall.msdWall - 1,\n },\n checks,\n unchecked,\n };\n },\n};\n"]}
|
|
@@ -104,12 +104,12 @@ export const DAMPED_RESONATOR_CASE = {
|
|
|
104
104
|
{ key: 'resolution_Hz', symbol: '1/t_obs', unit: 'Hz', meaning: 'frequency resolution of the record' },
|
|
105
105
|
{ key: 'linewidth_windowed_Hz', symbol: 'Δf_T', unit: 'Hz', meaning: 'FWHM of the power spectrum of the truncated ring-down (rectangular window, near resonance)' },
|
|
106
106
|
{ key: 'windowed_excess', symbol: 'Δf_T/Δf − 1', unit: '', meaning: 'how much the finite record broadens the measured line' },
|
|
107
|
-
{ key: 'x_th_rms_m', symbol: '√⟨x²⟩_th', unit: 'm', meaning: 'thermal RMS displacement √(k_BT/k) of the mode (equipartition);
|
|
107
|
+
{ key: 'x_th_rms_m', symbol: '√⟨x²⟩_th', unit: 'm', meaning: 'thermal RMS displacement √(k_BT/k) of the mode (equipartition); not defined without T_K and k_N_per_m' },
|
|
108
108
|
{
|
|
109
109
|
key: 'envelope_rms_m',
|
|
110
110
|
symbol: '√⟨A²⟩',
|
|
111
111
|
unit: 'm',
|
|
112
|
-
meaning: 'RMS envelope with the thermal motion added: √(A² + 2k_BT/k), the Rice second moment;
|
|
112
|
+
meaning: 'RMS envelope with the thermal motion added: √(A² + 2k_BT/k), the Rice second moment; not defined without T_K and k_N_per_m',
|
|
113
113
|
},
|
|
114
114
|
],
|
|
115
115
|
conditions: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"damped-resonator.js","sourceRoot":"","sources":["../../src/cases/damped-resonator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"damped-resonator.js","sourceRoot":"","sources":["../../src/cases/damped-resonator.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Applied case: the free ring-down of a damped resonator, read out over a\n * finite record — the envelope and displacement at a chosen time, the\n * linewidth, and what a record of length t_obs can resolve of it.\n *\n * The atlas holds the damped spring (`model-damped-spring`), its exact RLC\n * equivalent (`ab-damped-rlc`) and its overdamped reduction\n * (`ab-damped-massless`). This case evaluates the underdamped solution for a\n * given f0 and Q, refuses it when the resonator is not underdamped, and checks\n * the record length against the linewidth it is meant to resolve. The\n * rectangular-window spectrum of the truncated ring-down is computed in\n * closed form, near resonance, for comparison. Given the temperature and the\n * mode's stiffness, it checks the envelope against the thermal motion.\n *\n * @module cases/damped-resonator\n */\nimport { K_B_SI } from '../core/constants.js';\nimport { check, requirePositive, type AppliedCase } from './types.js';\n\nconst ID = 'case-damped-resonator';\n\n/** Q floor for the single-Lorentzian (near-resonance) form of the spectrum. @internal */\nexport const MIN_Q_LORENTZIAN = 10;\n\n/** (1/t_obs)/linewidth ceiling: the record resolves the line. @internal */\nexport const MAX_RESOLUTION_RATIO = 0.1;\n\n/**\n * √(k_BT/k)/A ceiling. Thermal motion of one mode is x = X cos ω_d t + Y sin ω_d t\n * with ⟨X²⟩ = ⟨Y²⟩ = k_BT/k (equipartition), so the envelope of the ring-down\n * plus it is Rician with ⟨A_obs²⟩ = A² + 2k_BT/k (Rice 1944); at the ceiling\n * √(1 + 2·0.01) − 1 ≈ 0.0100.\n * @internal\n */\nexport const MAX_THERMAL_RATIO = 0.1;\n\n/**\n * FWHM in Hz of |∫₀ᵀ e^{−(α + iΔω)t} dt|², the near-resonance power spectrum of\n * a ring-down x0 e^{−αt} cos(ω_d t) recorded for T. The negative-frequency\n * pole is dropped, which is the Q ≫ 1 approximation. The peak is at Δω = 0:\n * the integrand is positive, so |X(Δω)| ≤ X(0).\n * @internal\n */\nexport function windowedLinewidthHz(alpha: number, T: number): number {\n const oneMinusE = -Math.expm1(-alpha * T);\n const E = 1 - oneMinusE;\n // (1 − E)² + 4E sin²(ΔωT/2) is 1 − 2E cos(ΔωT) + E² without its cancellation near Δω = 0.\n const power = (dw: number) => (oneMinusE ** 2 + 4 * E * Math.sin((dw * T) / 2) ** 2) / (alpha * alpha + dw * dw);\n const half = power(0) / 2;\n const h = (alpha + 1 / T) / 200;\n let lo = 0;\n let hi = h;\n for (let k = 1; power(hi) > half; k++) {\n if (k > 1e6) throw new Error(`${ID}: no half-power point found (α = ${alpha}, T = ${T})`);\n lo = hi;\n hi += h;\n }\n for (let k = 0; k < 80; k++) {\n const mid = (lo + hi) / 2;\n if (power(mid) > half) lo = mid;\n else hi = mid;\n }\n return (lo + hi) / 2 / Math.PI;\n}\n\nexport const DAMPED_RESONATOR_CASE: AppliedCase = {\n id: ID,\n title: 'Damped resonator ring-down (damping, finite observation time)',\n parameters: [\n { key: 'f0_Hz', quantity: 'natural frequency', symbol: 'f0', unit: 'Hz', meaning: 'undamped natural frequency ω0/2π = √(k/m)/2π, > 0' },\n { key: 'Q', quantity: 'quality factor', symbol: 'Q', unit: '', meaning: 'Q = ω0 m/b (for an RLC: √(L/C)/R), > 0' },\n { key: 'x0_m', quantity: 'initial displacement', symbol: 'x0', unit: 'm', meaning: 'displacement at release, from rest' },\n { key: 't_s', quantity: 'read-out time', symbol: 't', unit: 's', meaning: 'time after release at which x and the envelope are read, ≥ 0' },\n { key: 't_obs_s', quantity: 'record length', symbol: 't_obs', unit: 's', meaning: 'length of the recorded ring-down, starting at release, > 0' },\n { key: 'T_K', quantity: 'temperature', symbol: 'T', unit: 'K', meaning: 'temperature of the damping bath, > 0 K; give with k_N_per_m for the thermal floor', temperature: 'absolute', optional: true },\n {\n key: 'k_N_per_m',\n quantity: 'mode stiffness',\n symbol: 'k',\n unit: 'N/m',\n meaning: 'effective stiffness of the mode at the read-out point, > 0 (for an RLC read as charge: 1/C in 1/F, not N/m); give with T_K',\n optional: true,\n },\n ],\n governing: {\n parent: [\n 'ρA ∂²w/∂t² + c ∂w/∂t + EI ∂⁴w/∂z⁴ = 0 with the structure\\'s boundary conditions (e.g. a cantilever: a field w(z, t) with many modes)',\n 'one mode, w = φ(z) x(t), read at one point: m x″ + b x′ + k x = 0 (model-damped-spring; for a circuit L q″ + R q′ + q/C = 0, ab-damped-rlc)',\n ],\n scalar: [\n 'x(t) = x0 e^{−αt} [cos ω_d t + (α/ω_d) sin ω_d t], α = ω0/(2Q), ω_d = ω0 √(1 − 1/(4Q²)) (Q > 1/2)',\n 'envelope x0 e^{−αt}/√(1 − 1/(4Q²)); linewidth Δf = f0/Q; resolution of a record 1/t_obs',\n ],\n distinction:\n 'The parent is a field w(z, t) with infinitely many modes and a mode shape; the scalar keeps one mode\\'s amplitude ' +\n 'x(t) at the read-out point, with all loss lumped into a viscous (velocity-proportional) Q. Dropped: the other modes ' +\n 'and their coupling, the mode shape, and any frequency or amplitude dependence of the damping (structural damping ' +\n 'gives a different Q(f)).',\n },\n observable: 'envelope_m',\n outputs: [\n { key: 'alpha_per_s', symbol: 'α', unit: 's^-1', meaning: 'amplitude decay rate ω0/(2Q) = b/(2m)' },\n { key: 'tau_s', symbol: 'τ', unit: 's', meaning: 'amplitude ring-down time 1/α = Q/(πf0)' },\n { key: 'linewidth_Hz', symbol: 'Δf', unit: 'Hz', meaning: 'f0/Q: FWHM of the velocity (absorbed-power) response, exact at any Q; the displacement response approaches it for Q ≫ 1' },\n { key: 'f_d_Hz', symbol: 'f_d', unit: 'Hz', meaning: 'damped oscillation frequency f0 √(1 − 1/(4Q²))' },\n { key: 'x_m', symbol: 'x(t)', unit: 'm', meaning: 'displacement at t, released from rest at x0' },\n { key: 'envelope_m', symbol: 'A(t)', unit: 'm', meaning: 'ring-down envelope at t: the amplitude a peak-detecting read-out sees' },\n { key: 'resolution_Hz', symbol: '1/t_obs', unit: 'Hz', meaning: 'frequency resolution of the record' },\n { key: 'linewidth_windowed_Hz', symbol: 'Δf_T', unit: 'Hz', meaning: 'FWHM of the power spectrum of the truncated ring-down (rectangular window, near resonance)' },\n { key: 'windowed_excess', symbol: 'Δf_T/Δf − 1', unit: '', meaning: 'how much the finite record broadens the measured line' },\n { key: 'x_th_rms_m', symbol: '√⟨x²⟩_th', unit: 'm', meaning: 'thermal RMS displacement √(k_BT/k) of the mode (equipartition); not defined without T_K and k_N_per_m' },\n {\n key: 'envelope_rms_m',\n symbol: '√⟨A²⟩',\n unit: 'm',\n meaning: 'RMS envelope with the thermal motion added: √(A² + 2k_BT/k), the Rice second moment; not defined without T_K and k_N_per_m',\n },\n ],\n conditions: [\n 'released from rest: x(0) = x0, x′(0) = 0; free ring-down, no drive after release',\n 'linear restoring force: the amplitude is small enough that f0 does not depend on it (ax-cubic-spring-lc records why a hardening spring is not this model)',\n 'the record starts at release and lasts t_obs; its spectrum is that of a rectangular window',\n ],\n comparison: {\n reference: 'the linewidth an infinitely long record would show, f0/Q',\n valueKey: 'linewidth_windowed_Hz',\n referenceKey: 'linewidth_Hz',\n deviationKey: 'windowed_excess',\n method: 'closed-form transform of the truncated ring-down, half-power point by bisection',\n },\n notIncluded: [\n 'the detector noise floor; and the thermal drive of the resonator unless T_K and k_N_per_m are given (its equilibrium amplitude √(k_BT/k) is the fluctuation–dissipation partner of its damping; compare case-resistor-noise)',\n 'frequency drift of f0 over the record',\n 'window shapes other than rectangular, and the negative-frequency image of the line (the Q ≫ 1 approximation)',\n 'the other modes of the structure',\n ],\n measurement: [\n 'ring-down: fit ln A(t) against t; the slope −α gives Q = πf0/α; compare the measured envelope at t with envelope_m',\n 'spectrum: the FWHM of the recorded line is linewidth_windowed_Hz, which approaches linewidth_Hz only when the record resolves it',\n 'for an RLC circuit read the capacitor voltage: f0 = 1/(2π√(LC)), Q = √(L/C)/R (ab-damped-rlc)',\n ],\n links: [\n { id: 'model-damped-spring', role: 'm x″ + b x′ + k x = 0, the single-mode equation evaluated here' },\n { id: 'ab-damped-rlc', role: 'the same equation for an RLC circuit, an exact equivalence' },\n { id: 'ab-damped-massless', role: 'the overdamped reduction, for the regime where this case refuses (Q ≤ 1/2)' },\n { id: 'ax-cubic-spring-lc', role: 'the refuted claim that a nonlinear (cubic) spring maps onto the linear circuit' },\n ],\n examples: {\n valid: {\n args: ['f0_Hz=1kHz', 'Q=1000', 'x0_m=1um', 't_s=0.1', 't_obs_s=20', 'T_K=300', 'k_N_per_m=1'],\n note: 'a 1 kHz, Q = 1000 resonator (1 Hz line), 1 N/m at 300 K, read 0.1 s after release, recorded for 20 s',\n fails: [],\n },\n failures: [\n {\n args: ['f0_Hz=1kHz', 'Q=1000', 'x0_m=1um', 't_s=0.1', 't_obs_s=1'],\n note: 'the same resonator recorded for 1 s: the 1 Hz resolution cannot resolve the 1 Hz line',\n fails: ['resolved'],\n },\n {\n args: ['f0_Hz=1kHz', 'Q=0.3', 'x0_m=1um', 't_s=0.1', 't_obs_s=20'],\n note: 'Q = 0.3 is overdamped: there is no ring-down, and the underdamped formulas are refused',\n fails: ['underdamped', 'single-lorentzian'],\n },\n {\n args: ['f0_Hz=1kHz', 'Q=1000', 'x0_m=100pm', 't_s=1', 't_obs_s=20', 'T_K=300', 'k_N_per_m=1'],\n note: 'released from 100 pm and read after 1 s (≈ 3 ring-down times): the envelope, ≈ 4 pm, sits below the 64 pm thermal motion',\n fails: ['above-thermal'],\n },\n ],\n },\n /** Evaluate the underdamped ring-down outputs and checks for the supplied resonator inputs. */\n run(i) {\n requirePositive(ID, i, ['f0_Hz', 'Q', 't_obs_s']);\n const { f0_Hz: f0, Q, x0_m: x0, t_s: t, t_obs_s: tObs } = i as Record<string, number>;\n if (!Number.isFinite(x0)) throw new Error(`${ID}: x0_m must be finite (got ${x0})`);\n if (!Number.isFinite(t) || t < 0) throw new Error(`${ID}: t_s must be a finite number ≥ 0 (got ${t})`);\n const w0 = 2 * Math.PI * f0;\n const alpha = w0 / (2 * Q);\n const linewidth = f0 / Q;\n const underdamped = Q > 0.5;\n const root = underdamped ? Math.sqrt(1 - 1 / (4 * Q * Q)) : NaN;\n const wd = w0 * root;\n const decay = Math.exp(-alpha * t);\n const windowed = underdamped ? windowedLinewidthHz(alpha, tObs) : null;\n const envelope = underdamped ? (Math.abs(x0) * decay) / root : null;\n const checks = [\n check('underdamped', 'underdamped: the solution rings (Q > 1/2)', 'Q', Q, '>', 0.5,\n 'exact: at Q ≤ 1/2 the solution is a sum of real exponentials, with no ring-down, f_d or envelope'),\n check('single-lorentzian', 'high Q: the line near f0 is one Lorentzian', 'Q', Q, '>=', MIN_Q_LORENTZIAN,\n 'chosen threshold for Q ≫ 1: the windowed spectrum drops the negative-frequency pole'),\n check('resolved', 'the record resolves the line: 1/t_obs ≪ f0/Q', '(1/t_obs)/(f0/Q)', 1 / tObs / linewidth, '<=', MAX_RESOLUTION_RATIO,\n 'chosen threshold for ≪ 1; see windowed_excess for the broadening it allows'),\n check('in-record', 'the read-out time lies inside the record', 't/t_obs', t / tObs, '<=', 1,\n 'exact: an envelope read after the record ends was not measured'),\n ];\n const unchecked = underdamped\n ? ['the damping is viscous (velocity-proportional) and the same over the whole ring-down']\n : ['for Q ≤ 1/2 the displacement is x0 (r₂e^{r₁t} − r₁e^{r₂t})/(r₂ − r₁) with real r₁, r₂; this case does not evaluate it'];\n if ((i.T_K === undefined) !== (i.k_N_per_m === undefined)) throw new Error(`${ID}: give T_K and k_N_per_m together, or neither`);\n let xTh: number | null = null;\n if (i.T_K !== undefined) {\n requirePositive(ID, i, ['T_K', 'k_N_per_m']);\n xTh = Math.sqrt((K_B_SI * i.T_K) / i.k_N_per_m!);\n if (envelope !== null) {\n checks.push(\n check('above-thermal', 'the ring-down stands above the thermal motion at t', '√(k_BT/k)/A(t)', xTh / envelope, '<=', MAX_THERMAL_RATIO,\n 'chosen threshold: the RMS envelope √(A² + 2k_BT/k) then exceeds A by ≤ 1%'),\n );\n }\n unchecked.push('the thermal motion is in equilibrium with the damping bath at T and uncorrelated with the release; the read-out adds no noise of its own');\n }\n return {\n outputs: {\n alpha_per_s: alpha,\n tau_s: 1 / alpha,\n linewidth_Hz: linewidth,\n f_d_Hz: underdamped ? f0 * root : null,\n x_m: underdamped ? x0 * decay * (Math.cos(wd * t) + (alpha / wd) * Math.sin(wd * t)) : null,\n envelope_m: envelope,\n resolution_Hz: 1 / tObs,\n linewidth_windowed_Hz: windowed,\n windowed_excess: windowed === null ? null : windowed / linewidth - 1,\n x_th_rms_m: xTh,\n envelope_rms_m: xTh === null || envelope === null ? null : Math.sqrt(envelope * envelope + 2 * xTh * xTh),\n },\n checks,\n unchecked,\n };\n },\n};\n"]}
|
package/dist/cases/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAsB,MAAM,8BAA8B,CAAC;AAI9F,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAqC,IAAI,GAAG,CACpE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAC/I,CAAC;AAEF;;;GAGG;AACH,SAAS,YAAY,CAAC,CAAc;IAClC,OAAO,aAAa,CAClB,CAAC,CAAC,EAAE,EACJ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClB,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;QAC7B,MAAM,EAAE,OAAgB;QACxB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,MAAM,cAAc,GAAuC,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtI;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,MAAwC;IACjF,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAsB,MAAM,8BAA8B,CAAC;AAI9F,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAqC,IAAI,GAAG,CACpE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAC/I,CAAC;AAEF;;;GAGG;AACH,SAAS,YAAY,CAAC,CAAc;IAClC,OAAO,aAAa,CAClB,CAAC,CAAC,EAAE,EACJ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClB,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;QAC7B,MAAM,EAAE,OAAgB;QACxB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,MAAM,cAAc,GAAuC,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtI;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,MAAwC;IACjF,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC","sourcesContent":["/**\n * The applied-case registry behind `upt evaluate case-<id>`.\n *\n * @module cases\n */\nimport { BROWNIAN_SPHERE_CASE } from './brownian-sphere.js';\nimport { DAMPED_RESONATOR_CASE } from './damped-resonator.js';\nimport { KEPLER_RV_CASE } from './kepler-rv.js';\nimport { LUMPED_COOLING_CASE } from './lumped-cooling.js';\nimport { RESISTOR_NOISE_CASE } from './resistor-noise.js';\nimport { SKIN_DEPTH_CASE } from './skin-depth.js';\nimport type { AppliedCase, CaseResult } from './types.js';\nimport { checkInputs, inputContract, type InputContract } from '../bridges/input-contract.js';\n\nexport type { AppliedCase, CaseCheck, CaseComparison, CaseExample, CaseOutput, CaseResult } from './types.js';\n\n/** Case id → case. @internal */\nexport const APPLIED_CASES: ReadonlyMap<string, AppliedCase> = new Map(\n [RESISTOR_NOISE_CASE, BROWNIAN_SPHERE_CASE, DAMPED_RESONATOR_CASE, SKIN_DEPTH_CASE, LUMPED_COOLING_CASE, KEPLER_RV_CASE].map((c) => [c.id, c]),\n);\n\n/**\n * The declared inputs of a case: one listed slot per parameter, spelled by its\n * key and converted from its alternates, required unless the parameter is optional.\n */\nfunction caseContract(c: AppliedCase): InputContract {\n return inputContract(\n c.id,\n c.parameters.map((p) => ({\n key: p.key,\n spellings: [p.key],\n alternates: (p.alternates ?? []).map((alt) => ({ key: alt.key, toKey: alt.toKey })),\n optional: p.optional === true,\n readBy: 'value' as const,\n listed: true,\n })),\n );\n}\n\n/** Case id → its input contract, built once at load (a contract that spells one key twice fails here). @internal */\nexport const CASE_CONTRACTS: ReadonlyMap<string, InputContract> = new Map([...APPLIED_CASES].map(([id, c]) => [id, caseContract(c)]));\n\n/**\n * Run a case with a numeric input record. The inputs go through the same\n * {@link checkInputs} contract as a catalog evaluator before the case's model runs.\n * @throws Error on an unknown id.\n * @throws UnknownInputError, InputTypeError, NonFiniteInputError, DuplicateInputError or\n * MissingInputError on an input the contract refuses.\n * @throws Error from the case's model on an input outside its domain.\n * @internal\n */\nexport function runAppliedCase(id: string, inputs: Readonly<Record<string, number>>): CaseResult {\n const c = APPLIED_CASES.get(id);\n const contract = CASE_CONTRACTS.get(id);\n if (c === undefined || contract === undefined) {\n throw new Error(`runAppliedCase: no case '${id}' (cases: ${[...APPLIED_CASES.keys()].join(', ')})`);\n }\n return c.run(checkInputs(contract, inputs));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kepler-rv.js","sourceRoot":"","sources":["../../src/cases/kepler-rv.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kepler-rv.js","sourceRoot":"","sources":["../../src/cases/kepler-rv.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Applied case: the radial-velocity semi-amplitude of a star orbited by a\n * companion — what a spectrograph reads as the star's reflex motion, from the\n * two masses, the period, the eccentricity and the inclination.\n *\n * The scalar is the test-mass form of the Keplerian RV curve used to infer\n * m_p sin i (Lovis & Fischer, \"Radial Velocity Techniques for Exoplanets\", in\n * Seager (ed.), Exoplanets, 2010, eq. 1; Murray & Dermott, Solar System\n * Dynamics, 1999, §2.7). The parent is the two-body problem of two extended\n * bodies in general relativity. The case compares the test-mass K with the\n * exact Newtonian two-body K, and checks the three premises that make a fixed\n * Keplerian ellipse the right curve: a companion light beside the star, point\n * masses (no tides), and a weak field whose apsidal advance (BE-52, with the\n * total mass; Robertson 1938) does not reshape the curve over the record.\n *\n * @module cases/kepler-rv\n */\nimport { C_SI, G_SI } from '../core/constants.js';\nimport { catalogRelations } from '../bridges/catalog-load.js';\nimport { evaluateCatalogRelation } from '../bridges/relation-eval.js';\nimport { check, requirePositive, type AppliedCase } from './types.js';\n\nconst ID = 'case-kepler-rv';\n\n/** The Julian year, the year BE-52 takes (s). @internal */\nexport const JULIAN_YEAR_S = 365.25 * 86400;\n\n/** m_p/M_* ceiling: the test-mass K then exceeds the two-body K by (1 + q)^{2/3} − 1 ≤ 0.67%. @internal */\nexport const MAX_MASS_RATIO = 0.01;\n\n/** Ceiling on the stellar radius over the periastron separation, for point masses. @internal */\nexport const MAX_RADIUS_RATIO = 0.1;\n\n/** G(M_* + m_p)/(c² a) ceiling for Newtonian gravity. @internal */\nexport const MAX_WEAK_FIELD = 1e-4;\n\n/** e·Δω accumulated over the record (rad) ceiling for a fixed ellipse. @internal */\nexport const MAX_APSIDAL_MISFIT = 0.01;\n\nexport const KEPLER_RV_CASE: AppliedCase = {\n id: ID,\n title: 'Radial-velocity semi-amplitude of a star with a companion (mass ratio, tides, GR apsidal advance)',\n parameters: [\n { key: 'M_star_kg', quantity: 'stellar mass', symbol: 'M_*', unit: 'kg', meaning: 'mass of the star whose radial velocity is measured (1Msun = 1.989e30 kg), > 0' },\n { key: 'm_p_kg', quantity: 'companion mass', symbol: 'm_p', unit: 'kg', meaning: 'true mass of the companion (Jupiter ≈ 1.898e27 kg), > 0' },\n { key: 'P_s', quantity: 'orbital period', symbol: 'P', unit: 's', meaning: 'the orbital period the RV curve repeats with, > 0' },\n { key: 'eccentricity', quantity: 'eccentricity', symbol: 'e', unit: '', meaning: 'orbital eccentricity e, 0 ≤ e < 1 (a bare e is the elementary charge, so the key is spelled out)' },\n { key: 'sin_i', quantity: 'sine of the inclination', symbol: 'sin i', unit: '', meaning: 'sin of the angle between the orbit normal and the line of sight, 0 < sin i ≤ 1 (1 is edge-on)' },\n { key: 'R_star_m', quantity: 'stellar radius', symbol: 'R_*', unit: 'm', meaning: 'radius of the star (the Sun ≈ 6.957e8 m), > 0' },\n { key: 'T_obs_s', quantity: 'observing baseline', symbol: 'T_obs', unit: 's', meaning: 'time span of the RV record fitted with one fixed ellipse, > 0' },\n ],\n governing: {\n parent: [\n 'r̈ = −G(M_* + m_p) r/r³ + O(G(M_* + m_p)/(c² r)) · (G(M_* + m_p)/r²) (relative orbit, Newtonian term plus the 1PN Einstein–Infeld–Hoffmann terms)',\n 'M_* r_* + m_p r_p = 0 about the barycentre; the measured v_r is the line-of-sight component of ṙ_*',\n 'extended bodies: each is a point mass only if spherical and undeformed; tides and spin add quadrupole terms ∝ (R/r)²',\n ],\n scalar: [\n 'K = (2πG/P)^{1/3} m_p sin i / M_*^{2/3} / √(1 − e²) (test-mass form, m_p ≪ M_*)',\n 'v_r(t) = K [cos(ν(t) + ω) + e cos ω], ω fixed over the record',\n 'a³ = G(M_* + m_p) P²/(4π²) (Kepler III for the relative orbit; CE-kepler-third)',\n ],\n distinction:\n 'The parent is a coupled vector problem for two finite, deformable bodies in curved spacetime; the scalar keeps one ' +\n 'number K for a fixed Keplerian ellipse of the star about the barycentre and puts the whole mass in the star. Dropped: ' +\n 'the companion\\'s share of the total mass (O(q)), the apsidal advance and the other 1PN terms (O(GM/(c²a))), and ' +\n 'the tidal and rotational quadrupoles (O((R_*/r)²)).',\n },\n observable: 'K_m_per_s',\n outputs: [\n { key: 'q', symbol: 'q', unit: '', meaning: 'mass ratio m_p/M_*' },\n { key: 'a_m', symbol: 'a', unit: 'm', meaning: 'semi-major axis of the relative orbit, from Kepler III with the total mass' },\n { key: 'a_star_m', symbol: 'a_*', unit: 'm', meaning: 'semi-major axis of the star\\'s own orbit about the barycentre, a m_p/(M_* + m_p)' },\n { key: 'K_m_per_s', symbol: 'K', unit: 'm/s', meaning: 'RV semi-amplitude of the star, test-mass form (the scalar result)' },\n { key: 'K_two_body_m_per_s', symbol: 'K_2b', unit: 'm/s', meaning: 'the exact Newtonian two-body semi-amplitude (2πG/P)^{1/3} m_p sin i/(M_* + m_p)^{2/3}/√(1 − e²)' },\n { key: 'two_body_deviation', symbol: 'K/K_2b − 1', unit: '', meaning: 'relative excess of the test-mass K over the two-body K: (1 + q)^{2/3} − 1' },\n { key: 'r_peri_m', symbol: 'r_p', unit: 'm', meaning: 'periastron separation a(1 − e)' },\n { key: 'weak_field', symbol: 'G(M_* + m_p)/(c²a)', unit: '', meaning: 'the 1PN expansion parameter (half the Schwarzschild radius of the total mass, over a)' },\n { key: 'dphi_rad_per_orbit', symbol: 'Δω', unit: 'rad', meaning: 'GR apsidal advance per orbit 6πG(M_* + m_p)/(c²a(1 − e²)) (BE-52 with the total mass)' },\n { key: 'omega_dot_deg_per_yr', symbol: 'ω̇', unit: 'deg/yr', meaning: 'the same advance as a rate, degrees per Julian year' },\n { key: 'apsidal_misfit', symbol: 'e Δω T_obs/P', unit: '', meaning: 'eccentricity times the apsidal advance accumulated over the record (rad)' },\n ],\n conditions: [\n 'an isolated binary: no third body within the record, the systemic velocity constant (it is fitted out as an offset)',\n 'initial condition: the orbital elements (P, e, ω, time of periastron) are those at the start of the record',\n 'the line of sight is fixed; the star\\'s light traces its centre of mass (no spots, no convective blueshift variation)',\n ],\n comparison: {\n reference: 'the parent\\'s Newtonian limit: the exact two-body semi-amplitude with the companion\\'s mass in the total',\n valueKey: 'K_m_per_s',\n referenceKey: 'K_two_body_m_per_s',\n deviationKey: 'two_body_deviation',\n method: 'closed form of the two-body Keplerian semi-amplitude',\n },\n notIncluded: [\n 'stellar activity (jitter), instrumental drift and the gravitational redshift and light-travel-time terms of the RV itself',\n 'the other 1PN terms beside the apsidal advance (O(GM/(c²a)) in the P–a relation and in K), bounded by the weak-field check but not applied',\n 'tidal orbital decay (dP/dt) and the tidal and rotational quadrupole precession, which the point-mass check bounds only by R_*/r_p',\n 'the inclination itself: RV alone gives m_p sin i; sin i must come from a transit or astrometry',\n ],\n measurement: [\n 'fit a Keplerian (P, K, e, ω, time of periastron, systemic offset) to the RV time series and compare the fitted K with K_m_per_s; ' +\n 'with P and e fixed, the fitted K inverts to the minimum mass m_p sin i through the same relation',\n 'where the two-body check fails, compare with K_two_body_m_per_s, which is the Newtonian parent',\n '`upt confront --bridge=be-52`: Mercury\\'s anomalous perihelion advance, which tests the Δω formula the apsidal check uses',\n ],\n links: [\n { id: 'CE-kepler-third', role: 'T² = 4π²a³/(GM), with the assumptions two-body and M ≫ m; here with M → M_* + m_p' },\n { id: `be-${52}`, role: 'the GR perihelion advance Δφ = 6πGM/(c²a(1 − e²)), evaluated with the total mass (`upt evaluate be-52`)' },\n { id: 'CE-perihelion-precession', role: 'the canonical entry restating BE-52' },\n { id: 'CE-schwarzschild-radius', role: 'r_s = 2GM/c², whose ratio to a (halved) is the weak-field check\\'s quantity' },\n ],\n examples: {\n valid: {\n args: ['M_star_kg=1Msun', 'm_p_kg=1.898e27', 'P_s=4332.59d', 'eccentricity=0.0489', 'sin_i=1', 'R_star_m=6.957e8', 'T_obs_s=12yr'],\n note: 'the Sun\\'s reflex motion from Jupiter, seen edge-on over one orbit: K ≈ 12.5 m/s',\n fails: [],\n },\n failures: [\n {\n args: ['M_star_kg=1.434Msun', 'm_p_kg=2.79e27', 'P_s=1.09142d', 'eccentricity=0', 'sin_i=0.993', 'R_star_m=1.153e9', 'T_obs_s=10yr'],\n note: 'WASP-12 b, a 1.47 M_J planet on a 1.09 d orbit: the star\\'s radius is a third of the separation, and the orbit is observed to decay by tides',\n fails: ['point-mass'],\n },\n {\n args: ['M_star_kg=1.3381Msun', 'm_p_kg=1.2489Msun', 'P_s=0.10225156248d', 'eccentricity=0.0877775', 'sin_i=0.99974', 'R_star_m=12km', 'T_obs_s=1yr'],\n note: 'the double pulsar PSR J0737−3039A/B timed for a year: equal masses, and a GR apsidal advance of ≈ 17°/yr',\n fails: ['test-mass', 'apsidal'],\n },\n ],\n },\n /** Evaluate the test-mass radial-velocity amplitude and checks for the supplied binary inputs. */\n run(i) {\n requirePositive(ID, i, ['M_star_kg', 'm_p_kg', 'P_s', 'sin_i', 'R_star_m', 'T_obs_s']);\n const { M_star_kg: M, m_p_kg: m, P_s: P, eccentricity: e, sin_i: sinI, R_star_m: R, T_obs_s: tObs } = i as Record<string, number>;\n if (!Number.isFinite(e) || e < 0 || e >= 1) throw new Error(`${ID}: eccentricity must be in [0, 1) (got ${e})`);\n if (sinI > 1) throw new Error(`${ID}: sin_i must be in (0, 1] (got ${sinI})`);\n const total = M + m;\n const a = Math.cbrt((G_SI * total * P * P) / (4 * Math.PI * Math.PI));\n const root = Math.sqrt(1 - e * e);\n const n13 = Math.cbrt((2 * Math.PI * G_SI) / P);\n const K = (n13 * m * sinI) / Math.cbrt(M * M) / root;\n const K2b = (n13 * m * sinI) / Math.cbrt(total * total) / root;\n const rPeri = a * (1 - e);\n const weak = (G_SI * total) / (C_SI * C_SI * a);\n const advance = catalogRelations().find((row) => row.target === 'perihelion-advance');\n if (advance === undefined) throw new Error(`${ID}: the perihelion relation is not in the catalog`);\n const dphi = evaluateCatalogRelation(advance, { mass: total, 'semi-major-axis': a, eccentricity: e });\n const misfit = (e * dphi * tObs) / P;\n return {\n outputs: {\n q: m / M,\n a_m: a,\n a_star_m: (a * m) / total,\n K_m_per_s: K,\n K_two_body_m_per_s: K2b,\n two_body_deviation: K / K2b - 1,\n r_peri_m: rPeri,\n weak_field: weak,\n dphi_rad_per_orbit: dphi,\n omega_dot_deg_per_yr: ((dphi / P) * JULIAN_YEAR_S * 180) / Math.PI,\n apsidal_misfit: misfit,\n },\n checks: [\n check('test-mass', 'the companion is light beside the star, m_p ≪ M_*', 'm_p/M_*', m / M, '<=', MAX_MASS_RATIO,\n 'chosen threshold: the test-mass K then exceeds the two-body K by (1 + q)^{2/3} − 1 ≤ 0.67%'),\n check('point-mass', 'point masses: the star is small beside the closest approach, R_* ≪ r_p', 'R_*/(a(1 − e))', R / rPeri, '<=', MAX_RADIUS_RATIO,\n 'chosen threshold: tidal and rotational quadrupole terms scale as (R_*/r)² times a Love number or J2 (each < 1), kept ≤ 1%'),\n check('weak-field', 'Newtonian gravity: G(M_* + m_p)/(c²a) ≪ 1', 'G(M_* + m_p)/(c² a)', weak, '<=', MAX_WEAK_FIELD,\n 'chosen threshold: the 1PN corrections to the P–a relation and to the orbital velocity are of this relative order'),\n check('apsidal', 'a fixed ellipse over the record: the GR apsidal advance does not reshape the RV curve', 'e Δω T_obs/P', misfit, '<=', MAX_APSIDAL_MISFIT,\n 'chosen threshold: beyond the mean longitude (absorbed by the fitted phase), v_r depends on ω only at O(e), so the misfit is of order e Δω K; its coefficient (order one) is not encoded'),\n ],\n unchecked: [\n 'no third body: an outer companion adds its own reflex signal and perturbs P and ω',\n 'the companion\\'s radius is also small beside r_p (only the star\\'s is checked)',\n ],\n };\n },\n};\n"]}
|
|
@@ -157,7 +157,7 @@ export const LUMPED_COOLING_CASE = {
|
|
|
157
157
|
{ key: 'T_surface_K', symbol: 'T(a, t)', unit: 'K', meaning: 'temperature at the surface from the series solution' },
|
|
158
158
|
{ key: 'h_rad_max_W_per_m2_K', symbol: 'h_rad', unit: 'W/(m^2*K)', meaning: 'εσ_SB(T_s + T∞)(T_s² + T∞²) at the hotter of T0 and T∞: the largest linearized radiative coefficient over the run' },
|
|
159
159
|
{ key: 'Bi_radiating', symbol: 'Bi_r', unit: '', meaning: '(h + h_rad)(a/3)/k: the Biot number with the largest radiative conductance added' },
|
|
160
|
-
{ key: 'T_radiating_K', symbol: 'T_r(t)', unit: 'K', meaning: 'the lumped temperature with the T⁴ loss kept (RK4). The linear-loss check does not apply to it; its premise is Bi_radiating ≤ 0.1, and it is
|
|
160
|
+
{ key: 'T_radiating_K', symbol: 'T_r(t)', unit: 'K', meaning: 'the lumped temperature with the T⁴ loss kept (RK4). The linear-loss check does not apply to it; its premise is Bi_radiating ≤ 0.1, and it is not defined otherwise' },
|
|
161
161
|
],
|
|
162
162
|
conditions: [
|
|
163
163
|
'initial condition: the sphere is at the uniform temperature T0 when it is immersed at t = 0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lumped-cooling.js","sourceRoot":"","sources":["../../src/cases/lumped-cooling.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lumped-cooling.js","sourceRoot":"","sources":["../../src/cases/lumped-cooling.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Applied case: a solid sphere cooling (or warming) in a fluid — its\n * temperature after a time t by Newton's law of cooling, with the Biot-number\n * check that makes one uniform temperature a fair stand-in for the field\n * inside it.\n *\n * The parent is the heat equation in the sphere (`model-heat` in radial\n * form, diffusivity `CE-thermal-diffusivity`) with a convective boundary. The\n * lumped-capacitance simplification T(t) = T∞ + (T0 − T∞) e^{−t/τ},\n * τ = ρcV/(hA), holds for Bi = h L_c/k ≤ 0.1 with L_c = V/A (Incropera,\n * DeWitt, Bergman & Lavine, Fundamentals of Heat and Mass Transfer, 6th ed.,\n * §5.1–5.2). The parent's exact series (Carslaw & Jaeger, Conduction of Heat\n * in Solids, 2nd ed., §9.4; Incropera §5.6.2) is summed here for the volume\n * mean, the centre and the surface. A second check keeps radiation, which is\n * not linear in T − T∞, small beside convection. Where it is not small, the\n * lumped equation is also integrated with the T⁴ loss kept (Incropera §5.3,\n * general lumped capacitance analysis), provided the Biot number with the\n * radiative conductance added still allows one temperature.\n *\n * @module cases/lumped-cooling\n */\nimport { C_SI, H_SI, K_B_SI } from '../core/constants.js';\nimport { check, requirePositive, signedRelativeDifference, type AppliedCase } from './types.js';\n\nconst ID = 'case-lumped-cooling';\n\n/** Stefan–Boltzmann constant 2π⁵k_B⁴/(15h³c²), from the exact SI constants (W m⁻² K⁻⁴). @internal */\nexport const SIGMA_SB_SI = (2 * Math.PI ** 5 * K_B_SI ** 4) / (15 * H_SI ** 3 * C_SI ** 2);\n\n/** Bi = h L_c/k ceiling, L_c = V/A (Incropera §5.2, eq. 5.10). @internal */\nexport const MAX_BIOT = 0.1;\n\n/** h_rad,max/h ceiling for a loss linear in T − T∞. @internal */\nexport const MAX_RADIATION_RATIO = 0.1;\n\n/** Parameters of the lumped equation with the radiative loss kept, in SI units. @internal */\nexport interface LumpedRadiating {\n readonly a: number;\n readonly rho: number;\n readonly c: number;\n /** ≥ 0; 0 is pure radiation. */\n readonly h: number;\n readonly eps: number;\n readonly T0: number;\n readonly Tinf: number;\n readonly t: number;\n}\n\n/**\n * T(t) of ρcV dT/dt = −A[h(T − T∞) + εσ_SB(T⁴ − T∞⁴)] for a sphere (V/A =\n * a/3), by RK4 with each step 1/100 of the local relaxation time\n * ρca/(3(h + 4εσ_SB T³)). Stops early once |T − T∞| is below 1e-15 |T0 − T∞|.\n * @internal\n */\nexport function lumpedRadiatingTemperature(p: LumpedRadiating): number {\n const k = 3 / (p.rho * p.c * p.a);\n const f = (T: number) => -k * (p.h * (T - p.Tinf) + p.eps * SIGMA_SB_SI * (T ** 4 - p.Tinf ** 4));\n const floor = 1e-15 * Math.abs(p.T0 - p.Tinf);\n let T = p.T0;\n let s = 0;\n while (s < p.t && Math.abs(T - p.Tinf) > floor) {\n const rate = k * (p.h + 4 * p.eps * SIGMA_SB_SI * Math.max(T, p.Tinf) ** 3);\n const dt = Math.min(p.t - s, 0.01 / rate);\n const k1 = f(T);\n const k2 = f(T + (dt / 2) * k1);\n const k3 = f(T + (dt / 2) * k2);\n const k4 = f(T + dt * k3);\n T += (dt / 6) * (k1 + 2 * k2 + 2 * k3 + k4);\n s += dt;\n }\n return T;\n}\n\n/**\n * The first n roots of 1 − ζ cot ζ = Bi (Bi = h a/k, radius-based): the n-th\n * lies in ((n−1)π, nπ), where the left side runs from −∞ (0 for n = 1) to +∞.\n * @internal\n */\nexport function sphereEigenvalues(biRadius: number, n: number): number[] {\n const f = (z: number) => 1 - z / Math.tan(z) - biRadius;\n const roots: number[] = [];\n for (let k = 1; k <= n; k++) {\n let lo = (k - 1) * Math.PI;\n let hi = k * Math.PI;\n for (let it = 0; it < 200 && hi - lo > 4 * Number.EPSILON * hi; it++) {\n const mid = (lo + hi) / 2;\n if (mid === lo || mid === hi) break;\n if (f(mid) < 0) lo = mid;\n else hi = mid;\n }\n roots.push((lo + hi) / 2);\n }\n return roots;\n}\n\n/**\n * θ/θ0 = (T − T∞)/(T0 − T∞) from the series solution of the sphere with a\n * convective surface, at Fourier number Fo = αt/a², for the volume mean, the\n * centre and the surface. Terms are summed until e^{−ζ²Fo} < 1e-18.\n * @throws Error when Fo is so small that the series would need over 1e5 terms.\n * @internal\n */\nexport function sphereSeries(biRadius: number, fo: number): { mean: number; centre: number; surface: number } {\n if (fo === 0) return { mean: 1, centre: 1, surface: 1 };\n const terms = Math.ceil(Math.sqrt(42 / fo) / Math.PI) + 2;\n if (terms > 1e5) throw new Error(`${ID}: Fo = ${fo} is too small for the series (needs ${terms} terms)`);\n let mean = 0;\n let centre = 0;\n let surface = 0;\n for (const z of sphereEigenvalues(biRadius, terms)) {\n const s = Math.sin(z);\n const c = Math.cos(z);\n const cn = (4 * (s - z * c)) / (2 * z - Math.sin(2 * z));\n const decay = Math.exp(-z * z * fo);\n centre += cn * decay;\n surface += (cn * decay * s) / z;\n mean += (cn * decay * 3 * (s - z * c)) / z ** 3;\n }\n return { mean, centre, surface };\n}\n\nexport const LUMPED_COOLING_CASE: AppliedCase = {\n id: ID,\n title: 'Lumped-capacitance cooling of a sphere (Biot number, radiation linearity)',\n parameters: [\n {\n key: 'a_m',\n quantity: 'sphere radius',\n symbol: 'a',\n unit: 'm',\n meaning: 'radius of the solid sphere, > 0',\n geometry: 'radius',\n alternates: [{ key: 'diameter_m', meaning: 'the diameter 2a of the sphere', toKey: 0.5 }],\n },\n { key: 'rho_kg_per_m3', quantity: 'density', symbol: 'ρ', unit: 'kg/m^3', meaning: 'mass density of the solid (copper ≈ 8933), > 0' },\n { key: 'c_J_per_kg_K', quantity: 'specific heat', symbol: 'c', unit: 'J/(kg*K)', meaning: 'specific heat capacity of the solid (copper ≈ 385), > 0' },\n { key: 'k_W_per_m_K', quantity: 'thermal conductivity', symbol: 'k', unit: 'W/(m*K)', meaning: 'thermal conductivity of the solid (copper ≈ 401), > 0' },\n { key: 'h_W_per_m2_K', quantity: 'heat-transfer coefficient', symbol: 'h', unit: 'W/(m^2*K)', meaning: 'convective coefficient at the surface, uniform and constant (still air ≈ 5–25, stirred water ≈ 500–10000), > 0' },\n { key: 'emissivity', quantity: 'surface emissivity', symbol: 'ε', unit: '', meaning: 'total hemispherical emissivity of the surface, 0 ≤ ε ≤ 1 (polished copper ≈ 0.03–0.05)' },\n { key: 'T0_K', quantity: 'initial temperature', symbol: 'T0', unit: 'K', meaning: 'uniform temperature of the sphere at t = 0, > 0 K', temperature: 'absolute' },\n { key: 'T_inf_K', quantity: 'fluid temperature', symbol: 'T∞', unit: 'K', meaning: 'temperature of the fluid far from the sphere, and of the radiating surroundings, > 0 K', temperature: 'absolute' },\n { key: 't_s', quantity: 'elapsed time', symbol: 't', unit: 's', meaning: 'time since immersion, ≥ 0' },\n ],\n governing: {\n parent: [\n 'ρc ∂T/∂t = k (1/r²) ∂/∂r (r² ∂T/∂r), 0 ≤ r < a (the heat equation of model-heat, radially symmetric)',\n '−k ∂T/∂r = h (T − T∞) + εσ_SB (T⁴ − T∞⁴) at r = a; T(r, 0) = T0',\n 'without the radiation term: θ/θ0 = Σ C_n e^{−ζ_n² Fo} sin(ζ_n r/a)/(ζ_n r/a), 1 − ζ_n cot ζ_n = h a/k, C_n = 4(sin ζ_n − ζ_n cos ζ_n)/(2ζ_n − sin 2ζ_n), Fo = αt/a²',\n ],\n scalar: [\n 'ρcV dT/dt = −hA (T − T∞) (lumped capacitance: one temperature for the whole sphere)',\n 'T(t) = T∞ + (T0 − T∞) e^{−t/τ}, τ = ρcV/(hA) = ρca/(3h) (Newton\\'s law of cooling)',\n 'Bi = h L_c/k, L_c = V/A = a/3',\n ],\n distinction:\n 'The parent is a temperature field T(r, t) with a boundary condition that is nonlinear once radiation is kept; the ' +\n 'scalar replaces the field by one number and the surface loss by a linear conductance hA. Dropped: the internal ' +\n 'gradient (of relative size ~Bi), every eigenmode but the slowest (and that one\\'s rate shifted by O(Bi)), and the ' +\n 'T⁴ dependence of radiation.',\n },\n observable: 'T_K',\n outputs: [\n { key: 'tau_s', symbol: 'τ', unit: 's', meaning: 'lumped time constant ρcV/(hA) = ρca/(3h)' },\n { key: 'Bi', symbol: 'Bi', unit: '', meaning: 'Biot number h L_c/k with L_c = V/A = a/3 (the lumped criterion\\'s form)' },\n { key: 'Bi_radius', symbol: 'Bi_a', unit: '', meaning: 'h a/k: the radius-based Biot number of the series solution (3 Bi)' },\n { key: 'alpha_m2_per_s', symbol: 'α', unit: 'm^2/s', meaning: 'thermal diffusivity k/(ρc)' },\n { key: 'Fo', symbol: 'Fo', unit: '', meaning: 'Fourier number αt/a²' },\n { key: 'theta', symbol: 'θ/θ0', unit: '', meaning: 'lumped excess-temperature ratio e^{−t/τ}' },\n { key: 'T_K', symbol: 'T(t)', unit: 'K', meaning: 'the lumped temperature at t: what a thermometer in or on the sphere reads' },\n { key: 'Q_J', symbol: 'Q', unit: 'J', meaning: 'heat released to the fluid by t, ρcV(T0 − T(t)) (negative when the sphere warms)' },\n { key: 'theta_parent_mean', symbol: 'θ̄/θ0', unit: '', meaning: 'volume-mean excess-temperature ratio of the series solution (convection only)' },\n { key: 'parent_deviation', symbol: 'θ/θ̄ − 1', unit: '', meaning: signedRelativeDifference('lumped ratio', \"parent's volume mean\") },\n { key: 'T_centre_K', symbol: 'T(0, t)', unit: 'K', meaning: 'temperature at the centre from the series solution' },\n { key: 'T_surface_K', symbol: 'T(a, t)', unit: 'K', meaning: 'temperature at the surface from the series solution' },\n { key: 'h_rad_max_W_per_m2_K', symbol: 'h_rad', unit: 'W/(m^2*K)', meaning: 'εσ_SB(T_s + T∞)(T_s² + T∞²) at the hotter of T0 and T∞: the largest linearized radiative coefficient over the run' },\n { key: 'Bi_radiating', symbol: 'Bi_r', unit: '', meaning: '(h + h_rad)(a/3)/k: the Biot number with the largest radiative conductance added' },\n { key: 'T_radiating_K', symbol: 'T_r(t)', unit: 'K', meaning: 'the lumped temperature with the T⁴ loss kept (RK4). The linear-loss check does not apply to it; its premise is Bi_radiating ≤ 0.1, and it is not defined otherwise' },\n ],\n conditions: [\n 'initial condition: the sphere is at the uniform temperature T0 when it is immersed at t = 0',\n 'boundary: a uniform, constant coefficient h over the whole surface into fluid at T∞; the surroundings it radiates to are also at T∞',\n 'constant ρ, c and k over the temperature range; no internal heat source; the sphere is solid and homogeneous',\n ],\n comparison: {\n reference: 'the parent: the series solution of the sphere\\'s heat equation with the convective boundary, volume mean',\n valueKey: 'theta',\n referenceKey: 'theta_parent_mean',\n deviationKey: 'parent_deviation',\n method: 'eigenfunction series, roots of 1 − ζ cot ζ = Bi_a by bisection, summed until e^{−ζ²Fo} < 1e-18',\n },\n notIncluded: [\n 'radiation in T_K and in the series: the linear-loss check bounds it; T_radiating_K keeps it, in the lumped model only',\n 'the temperature dependence of h (natural convection has h ∝ ΔT^{1/4}) and of ρ, c, k',\n 'the thermometer\\'s own heat capacity and contact resistance, and conduction along its leads',\n 'phase change at the surface (boiling in a quench), which makes h neither uniform nor constant',\n ],\n measurement: [\n 'record T(t) with a thermocouple embedded at the centre; plot ln((T − T∞)/(T0 − T∞)) against t — a straight line of slope ' +\n '−1/τ tests the lumped premise directly, and T_centre_K is the parent\\'s prediction for that sensor',\n 'compare the measured τ with tau_s; the difference between T_centre_K and T_surface_K is the internal gradient the lumped model drops',\n 'to use this as a calorimetric measurement of h, invert τ = ρca/(3h), valid only where both checks hold',\n ],\n links: [\n { id: 'model-heat', role: 'ρc_p ∂T/∂t = κ ∂²T/∂x², the heat equation; here in its radial form for a sphere' },\n { id: 'CE-thermal-diffusivity', role: 'α = k/(ρc_p), the diffusivity in the Fourier number' },\n { id: 'CE-heat-capacity', role: 'Q = mcΔT, the heat released as the sphere cools' },\n { id: 'CE-stefan-boltzmann', role: 'j = σT⁴, the radiative loss the linear-loss check bounds' },\n ],\n examples: {\n valid: {\n args: ['a_m=5mm', 'rho_kg_per_m3=8933', 'c_J_per_kg_K=385', 'k_W_per_m_K=401', 'h_W_per_m2_K=20', 'emissivity=0.05', 'T0_K=100degC', 'T_inf_K=20degC', 't_s=300'],\n note: 'a 1 cm polished copper ball cooling from 100 °C in still air at 20 °C, read after 5 minutes',\n fails: [],\n },\n failures: [\n {\n args: ['a_m=5cm', 'rho_kg_per_m3=7854', 'c_J_per_kg_K=434', 'k_W_per_m_K=60.5', 'h_W_per_m2_K=1000', 'emissivity=0', 'T0_K=90degC', 'T_inf_K=20degC', 't_s=600'],\n note: 'a 10 cm steel ball from 90 °C into stirred water: Bi ≈ 0.28, the centre lags the surface and one temperature does not describe it',\n fails: ['lumped'],\n },\n {\n args: ['a_m=5mm', 'rho_kg_per_m3=7854', 'c_J_per_kg_K=434', 'k_W_per_m_K=60.5', 'h_W_per_m2_K=10', 'emissivity=0.8', 'T0_K=1000', 'T_inf_K=300', 't_s=60'],\n note: 'a 1 cm oxidized steel ball at 1000 K in still air: radiation (h_rad ≈ 64 W/m²K) outweighs convection and the loss is not linear',\n fails: ['linear-loss'],\n },\n ],\n },\n /** Evaluate the lumped sphere temperature, parent-series comparison and heat-transfer checks for the supplied inputs. */\n run(i) {\n requirePositive(ID, i, ['a_m', 'rho_kg_per_m3', 'c_J_per_kg_K', 'k_W_per_m_K', 'h_W_per_m2_K', 'T0_K', 'T_inf_K']);\n const {\n a_m: a, rho_kg_per_m3: rho, c_J_per_kg_K: c, k_W_per_m_K: k, h_W_per_m2_K: h,\n emissivity: eps, T0_K: T0, T_inf_K: Tinf, t_s: t,\n } = i as Record<string, number>;\n if (!Number.isFinite(eps) || eps < 0 || eps > 1) throw new Error(`${ID}: emissivity must be in [0, 1] (got ${eps})`);\n if (!Number.isFinite(t) || t < 0) throw new Error(`${ID}: t_s must be a finite number ≥ 0 (got ${t})`);\n const tau = (rho * c * a) / (3 * h);\n const bi = (h * (a / 3)) / k;\n const biRadius = (h * a) / k;\n const alpha = k / (rho * c);\n const fo = (alpha * t) / (a * a);\n const theta = Math.exp(-t / tau);\n const series = sphereSeries(biRadius, fo);\n const dT0 = T0 - Tinf;\n const Tmax = Math.max(T0, Tinf);\n const hRad = eps * SIGMA_SB_SI * (Tmax + Tinf) * (Tmax * Tmax + Tinf * Tinf);\n const volume = (4 / 3) * Math.PI * a ** 3;\n const biRadiating = ((h + hRad) * (a / 3)) / k;\n const tRadiating = biRadiating <= MAX_BIOT ? lumpedRadiatingTemperature({ a, rho, c, h, eps, T0, Tinf, t }) : null;\n return {\n outputs: {\n tau_s: tau,\n Bi: bi,\n Bi_radius: biRadius,\n alpha_m2_per_s: alpha,\n Fo: fo,\n theta,\n T_K: Tinf + dT0 * theta,\n Q_J: rho * c * volume * dT0 * -Math.expm1(-t / tau),\n theta_parent_mean: series.mean,\n parent_deviation: theta / series.mean - 1,\n T_centre_K: Tinf + dT0 * series.centre,\n T_surface_K: Tinf + dT0 * series.surface,\n h_rad_max_W_per_m2_K: hRad,\n Bi_radiating: biRadiating,\n T_radiating_K: tRadiating,\n },\n checks: [\n check('lumped', 'one temperature for the sphere: internal conduction fast beside surface loss, Bi ≪ 1', 'h (a/3)/k', bi, '<=', MAX_BIOT,\n 'the conventional criterion Bi ≤ 0.1 with L_c = V/A (Incropera §5.2); parent_deviation shows the error it leaves at t'),\n check('linear-loss', 'the loss is linear in T − T∞: radiation small beside convection', 'εσ_SB(T_max + T∞)(T_max² + T∞²)/h', hRad / h, '<=', MAX_RADIATION_RATIO,\n 'chosen threshold: the neglected radiative conductance is ≤ 10% of h at the hottest point of the run (Incropera eq. 1.9 linearization)'),\n ],\n unchecked: [\n 'h is uniform over the sphere and constant in time; for natural convection it falls as the sphere approaches T∞',\n 'ρ, c and k are constant over [min(T0, T∞), max(T0, T∞)]',\n ],\n };\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quadrature.js","sourceRoot":"","sources":["../../src/cases/quadrature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quadrature.js","sourceRoot":"","sources":["../../src/cases/quadrature.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Adaptive Simpson quadrature for the parent-model comparisons of the applied\n * cases. The integrands there are smooth and monotone over bands that can span\n * many decades, which a fixed grid resolves badly at the low end.\n *\n * @module cases/quadrature\n */\n\n/**\n * ∫ₐᵇ f by adaptive Simpson with Richardson correction.\n * @throws Error if the recursion hits `maxDepth` without meeting `relTol`.\n * @internal\n */\nexport function adaptiveSimpson(f: (x: number) => number, a: number, b: number, relTol = 1e-10, maxDepth = 60): number {\n const fa = f(a);\n const fb = f(b);\n const m = (a + b) / 2;\n const fm = f(m);\n const whole = ((b - a) / 6) * (fa + 4 * fm + fb);\n // The tolerance is relative to the whole integral, estimated from a coarse pass.\n let scale = Math.abs(whole);\n for (let i = 1; i < 64; i++) scale = Math.max(scale, Math.abs(f(a + ((b - a) * i) / 64)) * (b - a));\n const eps = relTol * (scale > 0 ? scale : 1);\n const step = (lo: number, hi: number, flo: number, fmid: number, fhi: number, s: number, tol: number, depth: number): number => {\n const mid = (lo + hi) / 2;\n const lm = (lo + mid) / 2;\n const rm = (mid + hi) / 2;\n const flm = f(lm);\n const frm = f(rm);\n const left = ((mid - lo) / 6) * (flo + 4 * flm + fmid);\n const right = ((hi - mid) / 6) * (fmid + 4 * frm + fhi);\n const diff = left + right - s;\n if (Math.abs(diff) <= 15 * tol) return left + right + diff / 15;\n if (depth >= maxDepth) throw new Error(`adaptiveSimpson: no convergence on [${lo}, ${hi}] at depth ${depth}`);\n return step(lo, mid, flo, flm, fmid, left, tol / 2, depth + 1) + step(mid, hi, fmid, frm, fhi, right, tol / 2, depth + 1);\n };\n return step(a, b, fa, fm, fb, whole, eps, 0);\n}\n"]}
|
|
@@ -91,9 +91,9 @@ export const RESISTOR_NOISE_CASE = {
|
|
|
91
91
|
{ key: 'V_rms_parent_V', symbol: 'V_rms,parent', unit: 'V', meaning: 'the parent spectrum integrated over the band (adaptive Simpson)' },
|
|
92
92
|
{ key: 'parent_deviation', symbol: 'V_rms/V_rms,parent − 1', unit: '', meaning: signedRelativeDifference('scalar result', 'parent') },
|
|
93
93
|
{ key: 'V_rms_rel_sigma', symbol: 'σ(V_rms)/V_rms', unit: '', meaning: 'statistical scatter of an RMS averaged over t_avg: 1/(2√(B t_avg)) (Dicke radiometer relation)' },
|
|
94
|
-
{ key: 'V_rms_total_V', symbol: 'V_rms,total', unit: 'V', meaning: 'what the instrument reads with its amplifier noise added in quadrature;
|
|
95
|
-
{ key: 'resistor_fraction', symbol: 'φ', unit: '', meaning: "the thermal share of the read noise power, 4k_BTR_eff/(4k_BTR_eff + e_n² + i_n²R_eff²);
|
|
96
|
-
{ key: 'T_n_K', symbol: 'T_n', unit: 'K', meaning: "the amplifier's noise temperature for the source R_eff, (e_n² + i_n²R_eff²)/(4k_B R_eff);
|
|
94
|
+
{ key: 'V_rms_total_V', symbol: 'V_rms,total', unit: 'V', meaning: 'what the instrument reads with its amplifier noise added in quadrature; not defined without e_n2/i_n2' },
|
|
95
|
+
{ key: 'resistor_fraction', symbol: 'φ', unit: '', meaning: "the thermal share of the read noise power, 4k_BTR_eff/(4k_BTR_eff + e_n² + i_n²R_eff²); not defined without e_n2/i_n2" },
|
|
96
|
+
{ key: 'T_n_K', symbol: 'T_n', unit: 'K', meaning: "the amplifier's noise temperature for the source R_eff, (e_n² + i_n²R_eff²)/(4k_B R_eff); not defined without e_n2/i_n2" },
|
|
97
97
|
],
|
|
98
98
|
conditions: [
|
|
99
99
|
'thermal equilibrium: R and the instrument input at one temperature T, no DC current through R',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resistor-noise.js","sourceRoot":"","sources":["../../src/cases/resistor-noise.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resistor-noise.js","sourceRoot":"","sources":["../../src/cases/resistor-noise.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Applied case: the thermal (Johnson–Nyquist) noise voltage of a resistor as an\n * instrument reads it — over a finite band, loaded by the instrument's input\n * resistance and capacitance.\n *\n * The catalog's BE-58 gives the flat spectral density S_V = 4 k_B T R. A\n * measurement reads an RMS voltage over a band, through an input network, so\n * this case adds the band, the loading, and the two premises that make the\n * spectrum flat (hf ≪ k_BT, and the input RC pole above the band), and checks\n * both. The parent spectrum is integrated numerically for comparison. Given\n * the amplifier's e_n and i_n, it adds them to the reading and checks that the\n * resistor's share can still be resolved in the averaging time.\n *\n * @module cases/resistor-noise\n */\nimport { H_SI, K_B_SI } from '../core/constants.js';\nimport { catalogRelations } from '../bridges/catalog-load.js';\nimport { evaluateCatalogRelation } from '../bridges/relation-eval.js';\nimport { adaptiveSimpson } from './quadrature.js';\nimport { check, requirePositive, signedRelativeDifference, type AppliedCase } from './types.js';\n\nconst ID = 'case-resistor-noise';\n\n/** h f_hi/(k_B T) ceiling: the Planck factor x/(eˣ−1) is then within x/2 ≤ 0.5% of 1. @internal */\nexport const CLASSICAL_MAX_X = 0.01;\n\n/** 2π f_hi R_eff C_in ceiling: the input RC pole then passes 1/(1+w²) ≥ 99% at f_hi. @internal */\nexport const FLAT_BAND_MAX_WRC = 0.1;\n\n/**\n * Ceiling on σ(S_R)/S_R = 1/(φ√(B t_avg)): the resistor's noise power, left after\n * subtracting an exactly known amplifier power, scatters by ≤ 1%. The total\n * power scatters by 1/√(B t_avg) (Dicke 1946); φ is the resistor's share of it.\n * @internal\n */\nexport const AMPLIFIER_MAX_REL_SIGMA = 0.01;\n\n/** Nyquist's thermal spectral density at f, shaped by the input RC; `x/expm1(x)` → 1 as x → 0. */\nfunction parentDensity(f: number, T: number, rEff: number, c: number): number {\n const x = (H_SI * f) / (K_B_SI * T);\n const planck = x === 0 ? 1 : x / Math.expm1(x);\n const w = 2 * Math.PI * f * rEff * c;\n return (4 * K_B_SI * T * rEff * planck) / (1 + w * w);\n}\n\nexport const RESISTOR_NOISE_CASE: AppliedCase = {\n id: ID,\n title: 'Resistor thermal-noise measurement (bandwidth, instrument loading)',\n parameters: [\n { key: 'T_K', quantity: 'temperature', symbol: 'T', unit: 'K', meaning: 'absolute temperature of the resistor and of the instrument input, > 0 K', temperature: 'absolute' },\n { key: 'R_ohm', quantity: 'resistance under test', symbol: 'R', unit: 'ohm', meaning: 'the resistor whose noise is measured, > 0' },\n { key: 'R_in_ohm', quantity: 'instrument input resistance', symbol: 'R_in', unit: 'ohm', meaning: 'the input resistance in parallel with R, > 0 (a physical resistor at T)' },\n { key: 'C_in_F', quantity: 'input capacitance', symbol: 'C_in', unit: 'F', meaning: 'instrument input plus cable capacitance in parallel with R, ≥ 0' },\n { key: 'f_lo_Hz', quantity: 'lower band edge', symbol: 'f_lo', unit: 'Hz', meaning: 'lower edge of the ideal (brick-wall) measurement band, ≥ 0' },\n { key: 'f_hi_Hz', quantity: 'upper band edge', symbol: 'f_hi', unit: 'Hz', meaning: 'upper edge of the band, > f_lo; B = f_hi − f_lo is the noise-equivalent bandwidth' },\n { key: 't_avg_s', quantity: 'averaging time', symbol: 't_avg', unit: 's', meaning: 'how long the RMS is averaged, > 0' },\n {\n key: 'e_n2_V2_per_Hz',\n quantity: 'amplifier voltage-noise power density',\n symbol: 'e_n²',\n unit: 'V^2/Hz',\n meaning: \"the square of the amplifier's input voltage noise e_n, white over the band (4 nV/√Hz → 1.6e-17), ≥ 0\",\n optional: true,\n },\n {\n key: 'i_n2_A2_per_Hz',\n quantity: 'amplifier current-noise power density',\n symbol: 'i_n²',\n unit: 'A^2/Hz',\n meaning: \"the square of the amplifier's input current noise i_n, white over the band (1 pA/√Hz → 1e-24), ≥ 0\",\n optional: true,\n },\n ],\n governing: {\n parent: [\n 'S_V(f) = 4 R_eff · hf/(e^{hf/k_BT} − 1) · 1/(1 + (2πf R_eff C_in)²) (Nyquist 1928, thermal part; seen through the input RC)',\n 'V_rms² = ∫_{f_lo}^{f_hi} S_V(f) df',\n ],\n scalar: [\n 'S_V = 4 k_B T R_eff, R_eff = R R_in/(R + R_in) (BE-58 with the loaded resistance)',\n 'V_rms = √(4 k_B T R_eff B), B = f_hi − f_lo',\n 'through an amplifier: V_rms,total² = (4 k_B T R_eff + e_n² + i_n² R_eff²) B, e_n and i_n uncorrelated (the e_n–i_n model; Motchenbacher & Connelly 1993)',\n ],\n distinction:\n 'S_V(f) is a spectral density — a function of frequency fixed by the fluctuation–dissipation theorem and shaped by ' +\n 'the input network; 4k_BTR_eff is its flat, classical value, and √(4k_BT R_eff B) integrates that constant over an ' +\n 'ideal band. Nyquist derived it from the thermal modes of a transmission line (a 1-D field); the lumped circuit keeps ' +\n 'only the port voltage.',\n },\n observable: 'V_rms_V',\n outputs: [\n { key: 'B_Hz', symbol: 'B', unit: 'Hz', meaning: 'noise-equivalent bandwidth f_hi − f_lo' },\n { key: 'R_eff_ohm', symbol: 'R_eff', unit: 'ohm', meaning: 'R in parallel with R_in: the resistance the instrument sees' },\n { key: 'S_V_V2_per_Hz', symbol: 'S_V', unit: 'V^2/Hz', meaning: 'flat one-sided spectral density 4k_BT R_eff' },\n { key: 'V_rms_unloaded_V', symbol: 'V_rms,0', unit: 'V', meaning: 'open-circuit value √(4k_BTRB), with no instrument attached' },\n { key: 'V_rms_V', symbol: 'V_rms', unit: 'V', meaning: 'the RMS noise voltage the instrument reads (scalar model)' },\n { key: 'loading_ratio', symbol: 'V_rms/V_rms,0', unit: '', meaning: '√(R_in/(R + R_in)): what the input resistance removes' },\n { key: 'V_rms_parent_V', symbol: 'V_rms,parent', unit: 'V', meaning: 'the parent spectrum integrated over the band (adaptive Simpson)' },\n { key: 'parent_deviation', symbol: 'V_rms/V_rms,parent − 1', unit: '', meaning: signedRelativeDifference('scalar result', 'parent') },\n { key: 'V_rms_rel_sigma', symbol: 'σ(V_rms)/V_rms', unit: '', meaning: 'statistical scatter of an RMS averaged over t_avg: 1/(2√(B t_avg)) (Dicke radiometer relation)' },\n { key: 'V_rms_total_V', symbol: 'V_rms,total', unit: 'V', meaning: 'what the instrument reads with its amplifier noise added in quadrature; not defined without e_n2/i_n2' },\n { key: 'resistor_fraction', symbol: 'φ', unit: '', meaning: \"the thermal share of the read noise power, 4k_BTR_eff/(4k_BTR_eff + e_n² + i_n²R_eff²); not defined without e_n2/i_n2\" },\n { key: 'T_n_K', symbol: 'T_n', unit: 'K', meaning: \"the amplifier's noise temperature for the source R_eff, (e_n² + i_n²R_eff²)/(4k_B R_eff); not defined without e_n2/i_n2\" },\n ],\n conditions: [\n 'thermal equilibrium: R and the instrument input at one temperature T, no DC current through R',\n 'the instrument reads the voltage across R ∥ R_in ∥ C_in (open-circuit source, no other load)',\n 'stationary Gaussian noise; the band is an ideal brick wall of width B (the real filter enters only through its noise-equivalent bandwidth)',\n ],\n comparison: {\n reference: \"the parent: Nyquist's thermal spectrum through the input RC, integrated over [f_lo, f_hi]\",\n valueKey: 'V_rms_V',\n referenceKey: 'V_rms_parent_V',\n deviationKey: 'parent_deviation',\n method: 'adaptive Simpson quadrature, relative tolerance 1e-10',\n },\n notIncluded: [\n \"the amplifier's noise when e_n2 and i_n2 are left out; when given, their 1/f corners and their correlation (taken white and uncorrelated)\",\n '1/f (excess) noise, which needs a current through R',\n 'the zero-point term hf/2 of the quantum fluctuation–dissipation theorem (the parent here is the thermal part)',\n 'frequency dependence of R and R_in over the band',\n ],\n measurement: [\n 'digitize the voltage across R through a band-pass of noise-equivalent bandwidth B and average the RMS over t_avg; ' +\n 'compare with V_rms_V ± V_rms_rel_sigma·V_rms_V (statistical scatter only)',\n \"measure the amplifier's own noise with its input shorted and subtract it in quadrature before comparing\",\n '`upt confront --bridge=be-58`: the NIST Johnson-noise-thermometry k_B, which tests S_V = 4k_BTR with R traceable to the quantum Hall effect',\n ],\n links: [\n { id: `be-${58}`, role: 'the flat spectral density S_V = 4k_BTR (catalog evaluator: `upt evaluate be-58`)' },\n { id: `be-${55}`, role: 'quantum Hall resistance standard to which R is traceable in the JNT comparison' },\n ],\n examples: {\n valid: {\n args: ['T_K=300', 'R_ohm=1kohm', 'R_in_ohm=1Mohm', 'C_in_F=20pF', 'f_lo_Hz=0', 'f_hi_Hz=10kHz', 't_avg_s=10', 'e_n2_V2_per_Hz=1e-18', 'i_n2_A2_per_Hz=1e-24'],\n note: 'a 1 kΩ resistor at 300 K, a 1 MΩ ∥ 20 pF input with 1 nV/√Hz and 1 pA/√Hz of amplifier noise, a 10 kHz band, 10 s of averaging',\n fails: [],\n },\n failures: [\n {\n args: ['T_K=20mK', 'R_ohm=50', 'R_in_ohm=1Mohm', 'C_in_F=0', 'f_lo_Hz=1GHz', 'f_hi_Hz=2GHz', 't_avg_s=1'],\n note: 'a 50 Ω load at 20 mK read at 1–2 GHz: hf/k_BT ≈ 4.8, the spectrum is not flat and 4k_BTR overstates it',\n fails: ['classical'],\n },\n {\n args: ['T_K=300', 'R_ohm=1Mohm', 'R_in_ohm=10Mohm', 'C_in_F=100pF', 'f_lo_Hz=0', 'f_hi_Hz=100kHz', 't_avg_s=1'],\n note: 'a 1 MΩ resistor through 100 pF: the RC pole sits near 1.7 Hz, far below the 100 kHz band edge',\n fails: ['flat-band'],\n },\n {\n args: ['T_K=300', 'R_ohm=10', 'R_in_ohm=1Mohm', 'C_in_F=20pF', 'f_lo_Hz=0', 'f_hi_Hz=10kHz', 't_avg_s=10', 'e_n2_V2_per_Hz=1.6e-17', 'i_n2_A2_per_Hz=1e-24'],\n note: 'a 10 Ω resistor through a 4 nV/√Hz amplifier: the amplifier adds ~100× the resistor\\'s noise power, which 10 s cannot resolve to 1%',\n fails: ['amplifier'],\n },\n ],\n },\n /** Evaluate the measured Johnson-Nyquist RMS voltage and instrument-regime checks for the supplied inputs. */\n run(i) {\n requirePositive(ID, i, ['T_K', 'R_ohm', 'R_in_ohm', 'f_hi_Hz', 't_avg_s']);\n const { T_K: T, R_ohm: R, R_in_ohm: Rin, C_in_F: C, f_lo_Hz: fLo, f_hi_Hz: fHi, t_avg_s: tAvg } = i as Record<string, number>;\n if (!Number.isFinite(C) || C < 0) throw new Error(`${ID}: C_in_F must be a finite number ≥ 0 (got ${C})`);\n if (!Number.isFinite(fLo) || fLo < 0 || fLo >= fHi) throw new Error(`${ID}: need 0 ≤ f_lo_Hz < f_hi_Hz (got ${fLo}, ${fHi})`);\n const B = fHi - fLo;\n const rEff = (R * Rin) / (R + Rin);\n const noise = catalogRelations().find((row) => row.target === 'voltage-noise-density');\n if (noise === undefined) throw new Error(`${ID}: the resistor-noise relation is not in the catalog`);\n const spectral = (temperature: number, ohms: number): number =>\n evaluateCatalogRelation(noise, { 'johnson-temperature': temperature, resistance: ohms });\n const S = spectral(T, rEff);\n const S0 = spectral(T, R);\n const vRms = Math.sqrt(S * B);\n const vParent = Math.sqrt(adaptiveSimpson((f) => parentDensity(f, T, rEff, C), fLo, fHi));\n const x = (H_SI * fHi) / (K_B_SI * T);\n const wrc = 2 * Math.PI * fHi * rEff * C;\n const checks = [\n check('classical', 'flat, classical spectrum: hf ≪ k_BT across the band', 'h f_hi/(k_B T)', x, '<=', CLASSICAL_MAX_X,\n 'chosen threshold for ≪ 1: the Planck factor at f_hi is then within x/2 ≤ 0.5% of 1'),\n check('flat-band', 'the input RC pole lies above the band', '2π f_hi R_eff C_in', wrc, '<=', FLAT_BAND_MAX_WRC,\n 'chosen threshold for ≪ 1: the RC low-pass then passes ≥ 99% of the density at f_hi'),\n ];\n const unchecked = [\n 'R_in is a physical resistance at T; an actively synthesized or cold input adds less noise than its resistance would, ' +\n 'down to the resistor alone divided by the input: V_rms,0 · R_in/(R + R_in)',\n 'no DC current through R, so no 1/f excess noise',\n ];\n const withAmplifier = i.e_n2_V2_per_Hz !== undefined || i.i_n2_A2_per_Hz !== undefined;\n let amp: { total: number; fraction: number; tN: number } | null = null;\n if (withAmplifier) {\n const en2 = i.e_n2_V2_per_Hz ?? 0;\n const in2 = i.i_n2_A2_per_Hz ?? 0;\n for (const [k, v] of [['e_n2_V2_per_Hz', en2], ['i_n2_A2_per_Hz', in2]] as const) {\n if (!Number.isFinite(v) || v < 0) throw new Error(`${ID}: ${k} must be a finite number ≥ 0 (got ${v})`);\n }\n const excess = en2 + in2 * rEff * rEff;\n const fraction = S / (S + excess);\n amp = { total: Math.sqrt((S + excess) * B), fraction, tN: excess / (4 * K_B_SI * rEff) };\n checks.push(\n check('amplifier', \"the resistor's noise is resolved above the amplifier's in t_avg\", '1/(φ √(B t_avg))', 1 / (fraction * Math.sqrt(B * tAvg)), '<=',\n AMPLIFIER_MAX_REL_SIGMA,\n \"chosen threshold: after subtracting the amplifier's power (known exactly, e.g. from a long shorted-input run) the resistor's power scatters by ≤ 1%\"),\n );\n unchecked.push(\n `e_n and i_n are white over the band and uncorrelated${i.e_n2_V2_per_Hz === undefined ? '; e_n was not given and is taken as 0' : ''}` +\n `${i.i_n2_A2_per_Hz === undefined ? '; i_n was not given and is taken as 0' : ''}`,\n );\n }\n return {\n outputs: {\n B_Hz: B,\n R_eff_ohm: rEff,\n S_V_V2_per_Hz: S,\n V_rms_unloaded_V: Math.sqrt(S0 * B),\n V_rms_V: vRms,\n loading_ratio: Math.sqrt(S / S0),\n V_rms_parent_V: vParent,\n parent_deviation: vRms / vParent - 1,\n V_rms_rel_sigma: 1 / (2 * Math.sqrt(B * tAvg)),\n V_rms_total_V: amp?.total ?? null,\n resistor_fraction: amp?.fraction ?? null,\n T_n_K: amp?.tN ?? null,\n },\n checks,\n unchecked,\n };\n },\n};\n"]}
|