universal-physics-tensor 3.1.0 → 5.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 +6 -6
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +2 -0
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +10 -4
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +270 -4
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/bridges/be100-lyddane-sachs-teller.d.ts +41 -0
- package/dist/bridges/be100-lyddane-sachs-teller.d.ts.map +1 -0
- package/dist/bridges/be100-lyddane-sachs-teller.js +30 -0
- package/dist/bridges/be100-lyddane-sachs-teller.js.map +1 -0
- package/dist/bridges/be101-bkt-jump.d.ts +24 -0
- package/dist/bridges/be101-bkt-jump.d.ts.map +1 -0
- package/dist/bridges/be101-bkt-jump.js +29 -0
- package/dist/bridges/be101-bkt-jump.js.map +1 -0
- package/dist/bridges/be102-landauer-conductance.d.ts +24 -0
- package/dist/bridges/be102-landauer-conductance.d.ts.map +1 -0
- package/dist/bridges/be102-landauer-conductance.js +28 -0
- package/dist/bridges/be102-landauer-conductance.js.map +1 -0
- package/dist/bridges/be70-einstein-relation.d.ts +1 -1
- package/dist/bridges/be70-einstein-relation.d.ts.map +1 -1
- package/dist/bridges/be70-einstein-relation.js +4 -1
- package/dist/bridges/be70-einstein-relation.js.map +1 -1
- package/dist/bridges/be77-hagen-poiseuille.d.ts +50 -0
- package/dist/bridges/be77-hagen-poiseuille.d.ts.map +1 -0
- package/dist/bridges/be77-hagen-poiseuille.js +39 -0
- package/dist/bridges/be77-hagen-poiseuille.js.map +1 -0
- package/dist/bridges/be78-euler-buckling.d.ts +44 -0
- package/dist/bridges/be78-euler-buckling.d.ts.map +1 -0
- package/dist/bridges/be78-euler-buckling.js +33 -0
- package/dist/bridges/be78-euler-buckling.js.map +1 -0
- package/dist/bridges/be79-pull-in.d.ts +33 -0
- package/dist/bridges/be79-pull-in.d.ts.map +1 -0
- package/dist/bridges/be79-pull-in.js +35 -0
- package/dist/bridges/be79-pull-in.js.map +1 -0
- package/dist/bridges/be80-mott-gurney.d.ts +52 -0
- package/dist/bridges/be80-mott-gurney.d.ts.map +1 -0
- package/dist/bridges/be80-mott-gurney.js +38 -0
- package/dist/bridges/be80-mott-gurney.js.map +1 -0
- package/dist/bridges/be81-child-langmuir.d.ts +33 -0
- package/dist/bridges/be81-child-langmuir.d.ts.map +1 -0
- package/dist/bridges/be81-child-langmuir.js +38 -0
- package/dist/bridges/be81-child-langmuir.js.map +1 -0
- package/dist/bridges/be82-shockley-diode.d.ts +32 -0
- package/dist/bridges/be82-shockley-diode.d.ts.map +1 -0
- package/dist/bridges/be82-shockley-diode.js +37 -0
- package/dist/bridges/be82-shockley-diode.js.map +1 -0
- package/dist/bridges/be83-thomson.d.ts +46 -0
- package/dist/bridges/be83-thomson.d.ts.map +1 -0
- package/dist/bridges/be83-thomson.js +32 -0
- package/dist/bridges/be83-thomson.js.map +1 -0
- package/dist/bridges/be84-four-point.d.ts +45 -0
- package/dist/bridges/be84-four-point.d.ts.map +1 -0
- package/dist/bridges/be84-four-point.js +34 -0
- package/dist/bridges/be84-four-point.js.map +1 -0
- package/dist/bridges/be85-shot-noise.d.ts +30 -0
- package/dist/bridges/be85-shot-noise.d.ts.map +1 -0
- package/dist/bridges/be85-shot-noise.js +32 -0
- package/dist/bridges/be85-shot-noise.js.map +1 -0
- package/dist/bridges/be86-reynolds-analogy.d.ts +45 -0
- package/dist/bridges/be86-reynolds-analogy.d.ts.map +1 -0
- package/dist/bridges/be86-reynolds-analogy.js +30 -0
- package/dist/bridges/be86-reynolds-analogy.js.map +1 -0
- package/dist/bridges/be87-capacitor-noise.d.ts +27 -0
- package/dist/bridges/be87-capacitor-noise.d.ts.map +1 -0
- package/dist/bridges/be87-capacitor-noise.js +32 -0
- package/dist/bridges/be87-capacitor-noise.js.map +1 -0
- package/dist/bridges/be88-fermi-sea.d.ts +31 -0
- package/dist/bridges/be88-fermi-sea.d.ts.map +1 -0
- package/dist/bridges/be88-fermi-sea.js +35 -0
- package/dist/bridges/be88-fermi-sea.js.map +1 -0
- package/dist/bridges/be89-debye-cutoff.d.ts +39 -0
- package/dist/bridges/be89-debye-cutoff.d.ts.map +1 -0
- package/dist/bridges/be89-debye-cutoff.js +28 -0
- package/dist/bridges/be89-debye-cutoff.js.map +1 -0
- package/dist/bridges/be90-debye-heat.d.ts +30 -0
- package/dist/bridges/be90-debye-heat.d.ts.map +1 -0
- package/dist/bridges/be90-debye-heat.js +35 -0
- package/dist/bridges/be90-debye-heat.js.map +1 -0
- package/dist/bridges/be91-einstein-solid.d.ts +30 -0
- package/dist/bridges/be91-einstein-solid.d.ts.map +1 -0
- package/dist/bridges/be91-einstein-solid.js +37 -0
- package/dist/bridges/be91-einstein-solid.js.map +1 -0
- package/dist/bridges/be92-sommerfeld-heat.d.ts +30 -0
- package/dist/bridges/be92-sommerfeld-heat.d.ts.map +1 -0
- package/dist/bridges/be92-sommerfeld-heat.js +34 -0
- package/dist/bridges/be92-sommerfeld-heat.js.map +1 -0
- package/dist/bridges/be93-curie-weiss.d.ts +41 -0
- package/dist/bridges/be93-curie-weiss.d.ts.map +1 -0
- package/dist/bridges/be93-curie-weiss.js +45 -0
- package/dist/bridges/be93-curie-weiss.js.map +1 -0
- package/dist/bridges/be94-pauli-paramagnetism.d.ts +30 -0
- package/dist/bridges/be94-pauli-paramagnetism.d.ts.map +1 -0
- package/dist/bridges/be94-pauli-paramagnetism.js +33 -0
- package/dist/bridges/be94-pauli-paramagnetism.js.map +1 -0
- package/dist/bridges/be95-ginzburg-landau.d.ts +46 -0
- package/dist/bridges/be95-ginzburg-landau.d.ts.map +1 -0
- package/dist/bridges/be95-ginzburg-landau.js +32 -0
- package/dist/bridges/be95-ginzburg-landau.js.map +1 -0
- package/dist/bridges/be96-upper-critical.d.ts +24 -0
- package/dist/bridges/be96-upper-critical.d.ts.map +1 -0
- package/dist/bridges/be96-upper-critical.js +27 -0
- package/dist/bridges/be96-upper-critical.js.map +1 -0
- package/dist/bridges/be97-ambegaokar-baratoff.d.ts +24 -0
- package/dist/bridges/be97-ambegaokar-baratoff.d.ts.map +1 -0
- package/dist/bridges/be97-ambegaokar-baratoff.js +30 -0
- package/dist/bridges/be97-ambegaokar-baratoff.js.map +1 -0
- package/dist/bridges/be98-bcs-jump.d.ts +40 -0
- package/dist/bridges/be98-bcs-jump.d.ts.map +1 -0
- package/dist/bridges/be98-bcs-jump.js +29 -0
- package/dist/bridges/be98-bcs-jump.js.map +1 -0
- package/dist/bridges/be99-mass-action.d.ts +33 -0
- package/dist/bridges/be99-mass-action.d.ts.map +1 -0
- package/dist/bridges/be99-mass-action.js +37 -0
- package/dist/bridges/be99-mass-action.js.map +1 -0
- package/dist/bridges/bridge-equations.d.ts +52 -0
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +52 -0
- package/dist/bridges/bridge-equations.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts +33 -0
- package/dist/bridges/carrier-sign.d.ts.map +1 -0
- package/dist/bridges/carrier-sign.js +57 -0
- package/dist/bridges/carrier-sign.js.map +1 -0
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +138 -2
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/index.d.ts +57 -3
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +577 -3
- package/dist/bridges/index.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts +5 -5
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +6 -2
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/cases/brownian-sphere.d.ts.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/lumped-cooling.d.ts.map +1 -1
- package/dist/cases/lumped-cooling.js +2 -2
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/resistor-noise.d.ts.map +1 -1
- package/dist/cases/resistor-noise.js +2 -2
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.d.ts.map +1 -1
- package/dist/cases/skin-depth.js +2 -2
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.d.ts +11 -1
- package/dist/cases/types.d.ts.map +1 -1
- package/dist/cases/types.js +9 -0
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/closed-form-range.d.ts +1 -1
- package/dist/cli/closed-form-range.js +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +24 -5
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +28 -7
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +10 -1
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +10 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/search-index.d.ts +8 -1
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +75 -14
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +7 -0
- package/dist/cli/statuses.js.map +1 -1
- package/dist/composition/aliases.d.ts +9 -0
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +30 -0
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +9 -1
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +39 -6
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +7 -6
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +18 -9
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +4 -2
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +46 -2
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts +6 -4
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +8 -4
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/edge.d.ts +17 -2
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +62 -2
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/applied-physicist.d.ts +73 -1
- package/dist/composition/edges/applied-physicist.d.ts.map +1 -1
- package/dist/composition/edges/applied-physicist.js +427 -25
- package/dist/composition/edges/applied-physicist.js.map +1 -1
- package/dist/composition/edges/condensed-r5.d.ts +105 -0
- package/dist/composition/edges/condensed-r5.d.ts.map +1 -0
- package/dist/composition/edges/condensed-r5.js +505 -0
- package/dist/composition/edges/condensed-r5.js.map +1 -0
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +30 -3
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/index.d.ts +3 -1
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +3 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/quantities/applied-physicist.d.ts +78 -0
- package/dist/composition/quantities/applied-physicist.d.ts.map +1 -1
- package/dist/composition/quantities/applied-physicist.js +303 -0
- package/dist/composition/quantities/applied-physicist.js.map +1 -1
- package/dist/composition/quantities/condensed-r5.d.ts +110 -0
- package/dist/composition/quantities/condensed-r5.d.ts.map +1 -0
- package/dist/composition/quantities/condensed-r5.js +359 -0
- package/dist/composition/quantities/condensed-r5.js.map +1 -0
- package/dist/composition/quantities.d.ts +1 -0
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +1 -0
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +6 -1
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +27 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +39 -7
- package/dist/dimensional/units.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateShockleyDiode}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface ShockleyDiodeInputs {
|
|
6
|
+
/** Saturation current, amperes. */
|
|
7
|
+
readonly I_s_A: number;
|
|
8
|
+
/** Bias voltage, volts. */
|
|
9
|
+
readonly V_volts: number;
|
|
10
|
+
/** Absolute temperature, kelvin. Nonzero. */
|
|
11
|
+
readonly T_K: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link evaluateShockleyDiode}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface ShockleyDiodeResult {
|
|
18
|
+
readonly I_s_A: number;
|
|
19
|
+
readonly V_volts: number;
|
|
20
|
+
readonly T_K: number;
|
|
21
|
+
/** Diode current, amperes. */
|
|
22
|
+
readonly I_A: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate `I = I_s (exp(e V / (k_B T)) − 1)` with ideality 1.
|
|
26
|
+
*
|
|
27
|
+
* `e` is the elementary charge. Euler's number is `exp`, not a bare `e`.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare function evaluateShockleyDiode({ I_s_A, V_volts, T_K }: ShockleyDiodeInputs): ShockleyDiodeResult;
|
|
32
|
+
//# sourceMappingURL=be82-shockley-diode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be82-shockley-diode.d.ts","sourceRoot":"","sources":["../../src/bridges/be82-shockley-diode.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,mBAAmB,GAAG,mBAAmB,CAYvG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-82 — Shockley diode equation at ideality 1,
|
|
3
|
+
* I = I_s (exp(e V / (k_B T)) − 1).
|
|
4
|
+
*
|
|
5
|
+
* Quasi-equilibrium multiplies the equilibrium flux by
|
|
6
|
+
* exp(e V / (η k_B T)). Ideality 1 sets η = 1. Detailed balance sets
|
|
7
|
+
* the reverse flux equal to the forward flux at V = 0, and low
|
|
8
|
+
* injection keeps that reverse flux under bias. Zero bias carries zero
|
|
9
|
+
* current. Ideality 2 is not this current when e V ≠ 0. Not a
|
|
10
|
+
* diffusion-length ODE. `e` is the elementary charge.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.ShockleyDiode.shockley_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be82-shockley-diode
|
|
15
|
+
*/
|
|
16
|
+
import { E_SI, K_B_SI } from '../core/constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate `I = I_s (exp(e V / (k_B T)) − 1)` with ideality 1.
|
|
19
|
+
*
|
|
20
|
+
* `e` is the elementary charge. Euler's number is `exp`, not a bare `e`.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function evaluateShockleyDiode({ I_s_A, V_volts, T_K }) {
|
|
25
|
+
if (!Number.isFinite(I_s_A)) {
|
|
26
|
+
throw new Error('evaluateShockleyDiode: I_s_A must be finite');
|
|
27
|
+
}
|
|
28
|
+
if (!Number.isFinite(V_volts)) {
|
|
29
|
+
throw new Error('evaluateShockleyDiode: V_volts must be finite');
|
|
30
|
+
}
|
|
31
|
+
if (!Number.isFinite(T_K) || T_K === 0) {
|
|
32
|
+
throw new Error('evaluateShockleyDiode: T_K must be finite and nonzero');
|
|
33
|
+
}
|
|
34
|
+
const I_A = I_s_A * (Math.exp((E_SI * V_volts) / (K_B_SI * T_K)) - 1);
|
|
35
|
+
return { I_s_A, V_volts, T_K, I_A };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=be82-shockley-diode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be82-shockley-diode.js","sourceRoot":"","sources":["../../src/bridges/be82-shockley-diode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2BpD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAuB;IAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-83 — first Thomson relation,
|
|
3
|
+
* μ_T = T dS/dT.
|
|
4
|
+
*
|
|
5
|
+
* The Kelvin relation Π(t) = S(t) t, which is
|
|
6
|
+
* `PhysJS.KelvinRelation.peltier_eq` read along temperature, and the
|
|
7
|
+
* Thomson split μ = dΠ/dT − S, give μ = T dS/dT by the product rule.
|
|
8
|
+
* dΠ/dT is not μ when S T ≠ 0. Not a second copy of Π = S T.
|
|
9
|
+
*
|
|
10
|
+
* The overlay formalRef is `PhysJS.Thomson.thomson_eq`.
|
|
11
|
+
*
|
|
12
|
+
* @module bridges/be83-thomson
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Inputs for {@link evaluateThomsonCoefficient}.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export interface ThomsonCoefficientInputs {
|
|
19
|
+
/** Absolute temperature, kelvin. */
|
|
20
|
+
readonly T_K: number;
|
|
21
|
+
/**
|
|
22
|
+
* Temperature derivative of the Seebeck coefficient, volts per
|
|
23
|
+
* kelvin squared. This is S', not a sampled difference of S.
|
|
24
|
+
*/
|
|
25
|
+
readonly dS_dT_V_per_K2: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of {@link evaluateThomsonCoefficient}.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export interface ThomsonCoefficientResult {
|
|
32
|
+
readonly T_K: number;
|
|
33
|
+
readonly dS_dT_V_per_K2: number;
|
|
34
|
+
/** Thomson coefficient, volts per kelvin. */
|
|
35
|
+
readonly mu_V_per_K: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Evaluate `μ_T = T dS/dT`.
|
|
39
|
+
*
|
|
40
|
+
* The functional Kelvin relation and the Thomson split are hypotheses.
|
|
41
|
+
* This is not Π = S T.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare function evaluateThomsonCoefficient({ T_K, dS_dT_V_per_K2, }: ThomsonCoefficientInputs): ThomsonCoefficientResult;
|
|
46
|
+
//# sourceMappingURL=be83-thomson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be83-thomson.d.ts","sourceRoot":"","sources":["../../src/bridges/be83-thomson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,cAAc,GACf,EAAE,wBAAwB,GAAG,wBAAwB,CASrD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-83 — first Thomson relation,
|
|
3
|
+
* μ_T = T dS/dT.
|
|
4
|
+
*
|
|
5
|
+
* The Kelvin relation Π(t) = S(t) t, which is
|
|
6
|
+
* `PhysJS.KelvinRelation.peltier_eq` read along temperature, and the
|
|
7
|
+
* Thomson split μ = dΠ/dT − S, give μ = T dS/dT by the product rule.
|
|
8
|
+
* dΠ/dT is not μ when S T ≠ 0. Not a second copy of Π = S T.
|
|
9
|
+
*
|
|
10
|
+
* The overlay formalRef is `PhysJS.Thomson.thomson_eq`.
|
|
11
|
+
*
|
|
12
|
+
* @module bridges/be83-thomson
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Evaluate `μ_T = T dS/dT`.
|
|
16
|
+
*
|
|
17
|
+
* The functional Kelvin relation and the Thomson split are hypotheses.
|
|
18
|
+
* This is not Π = S T.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export function evaluateThomsonCoefficient({ T_K, dS_dT_V_per_K2, }) {
|
|
23
|
+
if (!Number.isFinite(T_K)) {
|
|
24
|
+
throw new Error('evaluateThomsonCoefficient: T_K must be finite');
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isFinite(dS_dT_V_per_K2)) {
|
|
27
|
+
throw new Error('evaluateThomsonCoefficient: dS_dT_V_per_K2 must be finite');
|
|
28
|
+
}
|
|
29
|
+
const mu_V_per_K = T_K * dS_dT_V_per_K2;
|
|
30
|
+
return { T_K, dS_dT_V_per_K2, mu_V_per_K };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=be83-thomson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be83-thomson.js","sourceRoot":"","sources":["../../src/bridges/be83-thomson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA2BH;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,GAAG,EACH,cAAc,GACW;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,GAAG,cAAc,CAAC;IACxC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-84 — collinear four-point sheet resistance,
|
|
3
|
+
* R_s = (π / ln 2) (V / I).
|
|
4
|
+
*
|
|
5
|
+
* On an infinite sheet the radial field of a point current is
|
|
6
|
+
* (I R_s)/(2 π r), and the potential drop is the integral of 1/r.
|
|
7
|
+
* Probes at 0, s, 2s, and 3s, with current in at 0 and out at 3s,
|
|
8
|
+
* each contribute (I R_s/(2 π)) ln 2 on the inner pair. Superposition
|
|
9
|
+
* gives this factor. A sink at 4s gives 2π/ln 3 instead. Not
|
|
10
|
+
* `PhysJS.Crossing.antisymmetry`.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.FourPoint.sheet_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be84-four-point
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Inputs for {@link evaluateFourPointSheet}.
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export interface FourPointSheetInputs {
|
|
21
|
+
/** Inner-pair voltage, volts. */
|
|
22
|
+
readonly V_volts: number;
|
|
23
|
+
/** Probe current, amperes. Nonzero. */
|
|
24
|
+
readonly I_A: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result of {@link evaluateFourPointSheet}.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export interface FourPointSheetResult {
|
|
31
|
+
readonly V_volts: number;
|
|
32
|
+
readonly I_A: number;
|
|
33
|
+
/** Sheet resistance, ohms per square. */
|
|
34
|
+
readonly R_s_ohm: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Evaluate `R_s = (π / ln 2) (V / I)` for equally spaced collinear probes.
|
|
38
|
+
*
|
|
39
|
+
* The radial 1/r field and linear superposition are hypotheses. The
|
|
40
|
+
* spacing s cancels and is not an input. A sink at 4s is not this factor.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare function evaluateFourPointSheet({ V_volts, I_A }: FourPointSheetInputs): FourPointSheetResult;
|
|
45
|
+
//# sourceMappingURL=be84-four-point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be84-four-point.d.ts","sourceRoot":"","sources":["../../src/bridges/be84-four-point.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,oBAAoB,GAAG,oBAAoB,CASnG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-84 — collinear four-point sheet resistance,
|
|
3
|
+
* R_s = (π / ln 2) (V / I).
|
|
4
|
+
*
|
|
5
|
+
* On an infinite sheet the radial field of a point current is
|
|
6
|
+
* (I R_s)/(2 π r), and the potential drop is the integral of 1/r.
|
|
7
|
+
* Probes at 0, s, 2s, and 3s, with current in at 0 and out at 3s,
|
|
8
|
+
* each contribute (I R_s/(2 π)) ln 2 on the inner pair. Superposition
|
|
9
|
+
* gives this factor. A sink at 4s gives 2π/ln 3 instead. Not
|
|
10
|
+
* `PhysJS.Crossing.antisymmetry`.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.FourPoint.sheet_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be84-four-point
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Evaluate `R_s = (π / ln 2) (V / I)` for equally spaced collinear probes.
|
|
18
|
+
*
|
|
19
|
+
* The radial 1/r field and linear superposition are hypotheses. The
|
|
20
|
+
* spacing s cancels and is not an input. A sink at 4s is not this factor.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function evaluateFourPointSheet({ V_volts, I_A }) {
|
|
25
|
+
if (!Number.isFinite(V_volts)) {
|
|
26
|
+
throw new Error('evaluateFourPointSheet: V_volts must be finite');
|
|
27
|
+
}
|
|
28
|
+
if (!Number.isFinite(I_A) || I_A === 0) {
|
|
29
|
+
throw new Error('evaluateFourPointSheet: I_A must be finite and nonzero');
|
|
30
|
+
}
|
|
31
|
+
const R_s_ohm = (Math.PI / Math.log(2)) * (V_volts / I_A);
|
|
32
|
+
return { V_volts, I_A, R_s_ohm };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=be84-four-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be84-four-point.js","sourceRoot":"","sources":["../../src/bridges/be84-four-point.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAwB;IAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateShotNoise}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface ShotNoiseInputs {
|
|
6
|
+
/**
|
|
7
|
+
* Current in the Poisson mean N = (I/e) T, amperes. The theorem is
|
|
8
|
+
* linear in I. It does not take the absolute value.
|
|
9
|
+
*/
|
|
10
|
+
readonly I_A: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Result of {@link evaluateShotNoise}.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export interface ShotNoiseResult {
|
|
17
|
+
readonly I_A: number;
|
|
18
|
+
/** One-sided current spectral density, amperes squared per hertz. */
|
|
19
|
+
readonly S_I_A2_per_Hz: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Evaluate the one-sided spectrum `S_I = 2 e I`.
|
|
23
|
+
*
|
|
24
|
+
* `e` is the elementary charge. The two-sided convention e I is not
|
|
25
|
+
* this result.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluateShotNoise({ I_A }: ShotNoiseInputs): ShotNoiseResult;
|
|
30
|
+
//# sourceMappingURL=be85-shot-noise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be85-shot-noise.d.ts","sourceRoot":"","sources":["../../src/bridges/be85-shot-noise.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,GAAG,eAAe,CAM3E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-85 — one-sided shot noise,
|
|
3
|
+
* S_I = 2 e I.
|
|
4
|
+
*
|
|
5
|
+
* In a window of length T the count N has mean (I/e) T, and the Poisson
|
|
6
|
+
* premise is Var(N) = mean(N). Charge e scales the variance by e² and
|
|
7
|
+
* the windowed current divides by T, so Var(I) = e I / T. The one-sided
|
|
8
|
+
* bandwidth of that window is Δf = 1/(2 T), and S_I = Var(I)/Δf is
|
|
9
|
+
* 2 e I. The two-sided bandwidth Δf = 1/T gives e I. `e` is the
|
|
10
|
+
* elementary charge. Not a Fourier theorem and not Johnson–Nyquist.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.ShotNoise.shot_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be85-shot-noise
|
|
15
|
+
*/
|
|
16
|
+
import { E_SI } from '../core/constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate the one-sided spectrum `S_I = 2 e I`.
|
|
19
|
+
*
|
|
20
|
+
* `e` is the elementary charge. The two-sided convention e I is not
|
|
21
|
+
* this result.
|
|
22
|
+
*
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export function evaluateShotNoise({ I_A }) {
|
|
26
|
+
if (!Number.isFinite(I_A)) {
|
|
27
|
+
throw new Error('evaluateShotNoise: I_A must be finite');
|
|
28
|
+
}
|
|
29
|
+
const S_I_A2_per_Hz = 2 * E_SI * I_A;
|
|
30
|
+
return { I_A, S_I_A2_per_Hz };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=be85-shot-noise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be85-shot-noise.js","sourceRoot":"","sources":["../../src/bridges/be85-shot-noise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAwB5C;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,GAAG,EAAmB;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;IACrC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-86 — Reynolds analogy at Prandtl number 1,
|
|
3
|
+
* St = C_f / 2.
|
|
4
|
+
*
|
|
5
|
+
* Wall fluxes τ = μ du/dy and q = k dT/dy, with
|
|
6
|
+
* C_f = τ/(ρ U²/2), h = q/ΔT, St = h/(ρ U c_p), and Pr = μ c_p/k,
|
|
7
|
+
* satisfy St Pr = C_f/2 when the normalized wall gradients agree.
|
|
8
|
+
* That common slope is the equal-diffusivity hypothesis. At Pr = 1,
|
|
9
|
+
* St = C_f/2. Pr ≠ 1 with nonzero skin friction is not this equality.
|
|
10
|
+
* Not a Nusselt correlation.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.ReynoldsAnalogy.reynolds_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be86-reynolds-analogy
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Inputs for {@link evaluateReynoldsAnalogy}.
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export interface ReynoldsAnalogyInputs {
|
|
21
|
+
/**
|
|
22
|
+
* Skin-friction coefficient. The 1/2 in the catalog equation is the
|
|
23
|
+
* normalization C_f = τ/(ρ U²/2), already inside this number.
|
|
24
|
+
*/
|
|
25
|
+
readonly C_f: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of {@link evaluateReynoldsAnalogy}.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export interface ReynoldsAnalogyResult {
|
|
32
|
+
readonly C_f: number;
|
|
33
|
+
/** Stanton number at Pr = 1 with matched wall slopes. */
|
|
34
|
+
readonly St: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Evaluate `St = C_f / 2` under the matched-slope hypothesis at Pr = 1.
|
|
38
|
+
*
|
|
39
|
+
* Prandtl number and the wall slopes are hypotheses, not inputs. The
|
|
40
|
+
* function does not accept Pr ≠ 1 and still return this equality.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare function evaluateReynoldsAnalogy({ C_f }: ReynoldsAnalogyInputs): ReynoldsAnalogyResult;
|
|
45
|
+
//# sourceMappingURL=be86-reynolds-analogy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be86-reynolds-analogy.d.ts","sourceRoot":"","sources":["../../src/bridges/be86-reynolds-analogy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,GAAG,qBAAqB,CAK7F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-86 — Reynolds analogy at Prandtl number 1,
|
|
3
|
+
* St = C_f / 2.
|
|
4
|
+
*
|
|
5
|
+
* Wall fluxes τ = μ du/dy and q = k dT/dy, with
|
|
6
|
+
* C_f = τ/(ρ U²/2), h = q/ΔT, St = h/(ρ U c_p), and Pr = μ c_p/k,
|
|
7
|
+
* satisfy St Pr = C_f/2 when the normalized wall gradients agree.
|
|
8
|
+
* That common slope is the equal-diffusivity hypothesis. At Pr = 1,
|
|
9
|
+
* St = C_f/2. Pr ≠ 1 with nonzero skin friction is not this equality.
|
|
10
|
+
* Not a Nusselt correlation.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.ReynoldsAnalogy.reynolds_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be86-reynolds-analogy
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Evaluate `St = C_f / 2` under the matched-slope hypothesis at Pr = 1.
|
|
18
|
+
*
|
|
19
|
+
* Prandtl number and the wall slopes are hypotheses, not inputs. The
|
|
20
|
+
* function does not accept Pr ≠ 1 and still return this equality.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function evaluateReynoldsAnalogy({ C_f }) {
|
|
25
|
+
if (!Number.isFinite(C_f)) {
|
|
26
|
+
throw new Error('evaluateReynoldsAnalogy: C_f must be finite');
|
|
27
|
+
}
|
|
28
|
+
return { C_f, St: C_f / 2 };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=be86-reynolds-analogy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be86-reynolds-analogy.js","sourceRoot":"","sources":["../../src/bridges/be86-reynolds-analogy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAE,GAAG,EAAyB;IACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateCapacitorNoise}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface CapacitorNoiseInputs {
|
|
6
|
+
/** Absolute temperature, kelvin. */
|
|
7
|
+
readonly T_K: number;
|
|
8
|
+
/** Capacitance, farads. */
|
|
9
|
+
readonly C_F: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Result of {@link evaluateCapacitorNoise}.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface CapacitorNoiseResult {
|
|
16
|
+
readonly T_K: number;
|
|
17
|
+
readonly C_F: number;
|
|
18
|
+
/** Mean square voltage, volts squared. */
|
|
19
|
+
readonly v2_V2: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Evaluate `⟨v²⟩ = k_B T / C` for one quadratic capacitor term.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export declare function evaluateCapacitorNoise({ T_K, C_F }: CapacitorNoiseInputs): CapacitorNoiseResult;
|
|
27
|
+
//# sourceMappingURL=be87-capacitor-noise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be87-capacitor-noise.d.ts","sourceRoot":"","sources":["../../src/bridges/be87-capacitor-noise.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,oBAAoB,GAAG,oBAAoB,CAS/F"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-87 — mean-square voltage on one capacitor,
|
|
3
|
+
* ⟨v²⟩ = k_B T / C.
|
|
4
|
+
*
|
|
5
|
+
* dU/dV = C V and U(0) = 0 integrate to U = (C/2) V². The normalized
|
|
6
|
+
* Boltzmann weight of that energy is the Gaussian of mean 0 and
|
|
7
|
+
* variance k_B T/C. The mean square on that law is k_B T/C, and (C/2)
|
|
8
|
+
* of it is (1/2) k_B T. (3/2) k_B T/C is not this variance. Dropping
|
|
9
|
+
* the energy half replaces it by k_B T/(2 C). Not three kinetic
|
|
10
|
+
* degrees of freedom.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.CapacitorNoise.noise_eq`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be87-capacitor-noise
|
|
15
|
+
*/
|
|
16
|
+
import { K_B_SI } from '../core/constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate `⟨v²⟩ = k_B T / C` for one quadratic capacitor term.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export function evaluateCapacitorNoise({ T_K, C_F }) {
|
|
23
|
+
if (!Number.isFinite(T_K)) {
|
|
24
|
+
throw new Error('evaluateCapacitorNoise: T_K must be finite');
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isFinite(C_F) || C_F <= 0) {
|
|
27
|
+
throw new Error('evaluateCapacitorNoise: C_F must be finite and > 0');
|
|
28
|
+
}
|
|
29
|
+
const v2_V2 = (K_B_SI * T_K) / C_F;
|
|
30
|
+
return { T_K, C_F, v2_V2 };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=be87-capacitor-noise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be87-capacitor-noise.js","sourceRoot":"","sources":["../../src/bridges/be87-capacitor-noise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwB9C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAwB;IACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateFermiSea}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface FermiSeaInputs {
|
|
6
|
+
/** Number density of electrons, per cubic metre. */
|
|
7
|
+
readonly n_per_m3: number;
|
|
8
|
+
/** Isotropic effective mass, kilograms. */
|
|
9
|
+
readonly m_kg: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Result of {@link evaluateFermiSea}.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface FermiSeaResult {
|
|
16
|
+
readonly n_per_m3: number;
|
|
17
|
+
readonly m_kg: number;
|
|
18
|
+
/** Fermi wavevector, per metre. */
|
|
19
|
+
readonly k_F_per_m: number;
|
|
20
|
+
/** Fermi energy on the isotropic parabola, joules. */
|
|
21
|
+
readonly E_F_J: number;
|
|
22
|
+
/** Fermi velocity, metres per second. */
|
|
23
|
+
readonly v_F_m_per_s: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Evaluate the two-spin Fermi sphere and the isotropic parabola at k_F.
|
|
27
|
+
*
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export declare function evaluateFermiSea({ n_per_m3, m_kg }: FermiSeaInputs): FermiSeaResult;
|
|
31
|
+
//# sourceMappingURL=be88-fermi-sea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be88-fermi-sea.d.ts","sourceRoot":"","sources":["../../src/bridges/be88-fermi-sea.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,GAAG,cAAc,CAWnF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-88 — two-spin Fermi sphere,
|
|
3
|
+
* k_F = (3 π² n)^{1/3},
|
|
4
|
+
* E_F = ℏ² k_F² / (2 m*),
|
|
5
|
+
* v_F = ℏ k_F / m*.
|
|
6
|
+
*
|
|
7
|
+
* Two spin states times the sphere (4π/3) k_F³/(2π)³ give n, so
|
|
8
|
+
* k_F³ = 3 π² n. One spin is k_F³ = 6 π² n. The isotropic parabola
|
|
9
|
+
* is a hypothesis, and so are the band, the two-spin count, and
|
|
10
|
+
* T = 0. Not a lattice band. ℏ⁻² times the second derivative of
|
|
11
|
+
* that parabola is 1/m*; this evaluator does not return that curvature.
|
|
12
|
+
*
|
|
13
|
+
* The overlay formalRef is `PhysJS.FermiSea.fermi_sea`.
|
|
14
|
+
*
|
|
15
|
+
* @module bridges/be88-fermi-sea
|
|
16
|
+
*/
|
|
17
|
+
import { HBAR_SI } from '../core/constants.js';
|
|
18
|
+
/**
|
|
19
|
+
* Evaluate the two-spin Fermi sphere and the isotropic parabola at k_F.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export function evaluateFermiSea({ n_per_m3, m_kg }) {
|
|
24
|
+
if (!Number.isFinite(n_per_m3) || n_per_m3 <= 0) {
|
|
25
|
+
throw new Error('evaluateFermiSea: n_per_m3 must be finite and > 0');
|
|
26
|
+
}
|
|
27
|
+
if (!Number.isFinite(m_kg) || m_kg <= 0) {
|
|
28
|
+
throw new Error('evaluateFermiSea: m_kg must be finite and > 0');
|
|
29
|
+
}
|
|
30
|
+
const k_F_per_m = (3 * Math.PI ** 2 * n_per_m3) ** (1 / 3);
|
|
31
|
+
const E_F_J = (HBAR_SI ** 2 * k_F_per_m ** 2) / (2 * m_kg);
|
|
32
|
+
const v_F_m_per_s = (HBAR_SI * k_F_per_m) / m_kg;
|
|
33
|
+
return { n_per_m3, m_kg, k_F_per_m, E_F_J, v_F_m_per_s };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=be88-fermi-sea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be88-fermi-sea.js","sourceRoot":"","sources":["../../src/bridges/be88-fermi-sea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA4B/C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAkB;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-89 — Debye cutoff of three acoustic branches,
|
|
3
|
+
* ω_D = v_s (6 π² n)^{1/3}.
|
|
4
|
+
*
|
|
5
|
+
* Three branches filling 3n states, 3·(4π/3) k_D³/(2π)³ = 3n, give
|
|
6
|
+
* k_D³ = 6 π² n. Equating that three-branch sum to n gives
|
|
7
|
+
* k_D³ = 2 π² n. The branch count and the common speed are hypotheses.
|
|
8
|
+
*
|
|
9
|
+
* The overlay formalRef is `PhysJS.DebyeCutoff.debye_cutoff`.
|
|
10
|
+
*
|
|
11
|
+
* @module bridges/be89-debye-cutoff
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Inputs for {@link evaluateDebyeCutoff}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface DebyeCutoffInputs {
|
|
18
|
+
/** Common acoustic speed, metres per second. */
|
|
19
|
+
readonly v_m_per_s: number;
|
|
20
|
+
/** Number density of atoms, per cubic metre. */
|
|
21
|
+
readonly n_per_m3: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Result of {@link evaluateDebyeCutoff}.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export interface DebyeCutoffResult {
|
|
28
|
+
readonly v_m_per_s: number;
|
|
29
|
+
readonly n_per_m3: number;
|
|
30
|
+
/** Debye frequency of one linear branch, radians per second. */
|
|
31
|
+
readonly omega_D_rad_per_s: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Evaluate ω_D = v_s (6 π² n)^{1/3}.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export declare function evaluateDebyeCutoff({ v_m_per_s, n_per_m3 }: DebyeCutoffInputs): DebyeCutoffResult;
|
|
39
|
+
//# sourceMappingURL=be89-debye-cutoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be89-debye-cutoff.d.ts","sourceRoot":"","sources":["../../src/bridges/be89-debye-cutoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,iBAAiB,CASjG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-89 — Debye cutoff of three acoustic branches,
|
|
3
|
+
* ω_D = v_s (6 π² n)^{1/3}.
|
|
4
|
+
*
|
|
5
|
+
* Three branches filling 3n states, 3·(4π/3) k_D³/(2π)³ = 3n, give
|
|
6
|
+
* k_D³ = 6 π² n. Equating that three-branch sum to n gives
|
|
7
|
+
* k_D³ = 2 π² n. The branch count and the common speed are hypotheses.
|
|
8
|
+
*
|
|
9
|
+
* The overlay formalRef is `PhysJS.DebyeCutoff.debye_cutoff`.
|
|
10
|
+
*
|
|
11
|
+
* @module bridges/be89-debye-cutoff
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Evaluate ω_D = v_s (6 π² n)^{1/3}.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export function evaluateDebyeCutoff({ v_m_per_s, n_per_m3 }) {
|
|
19
|
+
if (!Number.isFinite(v_m_per_s) || v_m_per_s <= 0) {
|
|
20
|
+
throw new Error('evaluateDebyeCutoff: v_m_per_s must be finite and > 0');
|
|
21
|
+
}
|
|
22
|
+
if (!Number.isFinite(n_per_m3) || n_per_m3 <= 0) {
|
|
23
|
+
throw new Error('evaluateDebyeCutoff: n_per_m3 must be finite and > 0');
|
|
24
|
+
}
|
|
25
|
+
const omega_D_rad_per_s = v_m_per_s * (6 * Math.PI ** 2 * n_per_m3) ** (1 / 3);
|
|
26
|
+
return { v_m_per_s, n_per_m3, omega_D_rad_per_s };
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=be89-debye-cutoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be89-debye-cutoff.js","sourceRoot":"","sources":["../../src/bridges/be89-debye-cutoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwBH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAqB;IAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACpD,CAAC"}
|