universal-physics-tensor 4.0.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 +5 -5
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +2 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +7 -4
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +157 -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.map +1 -1
- package/dist/bridges/be70-einstein-relation.js +2 -3
- package/dist/bridges/be70-einstein-relation.js.map +1 -1
- 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 +30 -0
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +30 -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 +81 -2
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/index.d.ts +32 -0
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +332 -0
- 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/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +18 -4
- 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 +8 -2
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/search-index.d.ts +7 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +50 -13
- 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 +1 -1
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +4 -0
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +5 -0
- package/dist/composition/canonical-graph.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 +7 -0
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/applied-physicist.d.ts.map +1 -1
- package/dist/composition/edges/applied-physicist.js +2 -1
- 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 +2 -0
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +2 -0
- package/dist/composition/index.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 +16 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +36 -7
- package/dist/dimensional/units.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be102-landauer-conductance.js","sourceRoot":"","sources":["../../src/bridges/be102-landauer-conductance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAqBlD;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAAE,MAAM,EAA6B;IAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"be70-einstein-relation.d.ts","sourceRoot":"","sources":["../../src/bridges/be70-einstein-relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"be70-einstein-relation.d.ts","sourceRoot":"","sources":["../../src/bridges/be70-einstein-relation.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,GAAG,EACH,GAAG,GACJ,EAAE,sBAAsB,GAAG,sBAAsB,CAajD"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @module bridges/be70-einstein-relation
|
|
14
14
|
*/
|
|
15
15
|
import { K_B_SI } from '../core/constants.js';
|
|
16
|
+
import { assertSameCarrierSign } from './carrier-sign.js';
|
|
16
17
|
/**
|
|
17
18
|
* Evaluate `D = μ k_B T / q`.
|
|
18
19
|
*
|
|
@@ -28,9 +29,7 @@ export function evaluateEinsteinRelation({ mu_m2_per_Vs, T_K, q_C, }) {
|
|
|
28
29
|
if (!Number.isFinite(q_C) || q_C === 0) {
|
|
29
30
|
throw new Error('evaluateEinsteinRelation: q_C must be finite and nonzero');
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
throw new Error('evaluateEinsteinRelation: mu_m2_per_Vs and q_C must have the same sign');
|
|
33
|
-
}
|
|
32
|
+
assertSameCarrierSign(mu_m2_per_Vs, q_C, 'evaluateEinsteinRelation: mu_m2_per_Vs', 'q_C');
|
|
34
33
|
const D_m2_per_s = (mu_m2_per_Vs * K_B_SI * T_K) / q_C;
|
|
35
34
|
return { mu_m2_per_Vs, T_K, q_C, D_m2_per_s };
|
|
36
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"be70-einstein-relation.js","sourceRoot":"","sources":["../../src/bridges/be70-einstein-relation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"be70-einstein-relation.js","sourceRoot":"","sources":["../../src/bridges/be70-einstein-relation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AA2B1D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,YAAY,EACZ,GAAG,EACH,GAAG,GACoB;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAChD,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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateDebyeHeat}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface DebyeHeatInputs {
|
|
6
|
+
/** Number of atoms. */
|
|
7
|
+
readonly N: number;
|
|
8
|
+
/** Absolute temperature, kelvin. */
|
|
9
|
+
readonly T_K: number;
|
|
10
|
+
/** Debye temperature, kelvin. */
|
|
11
|
+
readonly thetaD_K: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link evaluateDebyeHeat}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface DebyeHeatResult {
|
|
18
|
+
readonly N: number;
|
|
19
|
+
readonly T_K: number;
|
|
20
|
+
readonly thetaD_K: number;
|
|
21
|
+
/** Heat capacity, joules per kelvin. */
|
|
22
|
+
readonly C_V_J_per_K: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate the low-temperature Debye heat capacity. π⁴/15 is assumed.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluateDebyeHeat({ N, T_K, thetaD_K }: DebyeHeatInputs): DebyeHeatResult;
|
|
30
|
+
//# sourceMappingURL=be90-debye-heat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be90-debye-heat.d.ts","sourceRoot":"","sources":["../../src/bridges/be90-debye-heat.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,eAAe,CAYxF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-90 — Debye heat capacity at low temperature,
|
|
3
|
+
* C_V = (12 π⁴ / 5) N k_B (T / θ_D)³.
|
|
4
|
+
*
|
|
5
|
+
* The mode integral ∫₀^{ω_D} 9 N ω²/ω_D³ dω = 3 N. The energy with the
|
|
6
|
+
* Bose integral extended to infinity is the hypothesis
|
|
7
|
+
* U = 9 N k_B T (T/θ_D)³ I, and I = π⁴/15 is a hypothesis, not an
|
|
8
|
+
* evaluation of ∫ x³/(exp(x)−1) dx. Nine times π⁴/15 is 3 π⁴/5, and
|
|
9
|
+
* U = A T⁴ differentiates to the heat capacity above. The energy
|
|
10
|
+
* prefactor 3 π⁴/5 is not this heat capacity.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.DebyeHeat.debye_heat`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be90-debye-heat
|
|
15
|
+
*/
|
|
16
|
+
import { K_B_SI } from '../core/constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate the low-temperature Debye heat capacity. π⁴/15 is assumed.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export function evaluateDebyeHeat({ N, T_K, thetaD_K }) {
|
|
23
|
+
if (!Number.isFinite(N) || N <= 0) {
|
|
24
|
+
throw new Error('evaluateDebyeHeat: N must be finite and > 0');
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isFinite(T_K) || T_K <= 0) {
|
|
27
|
+
throw new Error('evaluateDebyeHeat: T_K must be finite and > 0');
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isFinite(thetaD_K) || thetaD_K <= 0) {
|
|
30
|
+
throw new Error('evaluateDebyeHeat: thetaD_K must be finite and > 0');
|
|
31
|
+
}
|
|
32
|
+
const C_V_J_per_K = ((12 * Math.PI ** 4) / 5) * N * K_B_SI * (T_K / thetaD_K) ** 3;
|
|
33
|
+
return { N, T_K, thetaD_K, C_V_J_per_K };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=be90-debye-heat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be90-debye-heat.js","sourceRoot":"","sources":["../../src/bridges/be90-debye-heat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2B9C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAmB;IACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateEinsteinSolid}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface EinsteinSolidInputs {
|
|
6
|
+
/** Number of atoms. */
|
|
7
|
+
readonly N: number;
|
|
8
|
+
/** Absolute temperature, kelvin. */
|
|
9
|
+
readonly T_K: number;
|
|
10
|
+
/** Einstein temperature, kelvin. */
|
|
11
|
+
readonly thetaE_K: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link evaluateEinsteinSolid}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface EinsteinSolidResult {
|
|
18
|
+
readonly N: number;
|
|
19
|
+
readonly T_K: number;
|
|
20
|
+
readonly thetaE_K: number;
|
|
21
|
+
/** Heat capacity, joules per kelvin. */
|
|
22
|
+
readonly C_V_J_per_K: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate the three-oscillator Einstein heat capacity.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluateEinsteinSolid({ N, T_K, thetaE_K }: EinsteinSolidInputs): EinsteinSolidResult;
|
|
30
|
+
//# sourceMappingURL=be91-einstein-solid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be91-einstein-solid.d.ts","sourceRoot":"","sources":["../../src/bridges/be91-einstein-solid.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,mBAAmB,CAcpG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-91 — Einstein solid heat capacity,
|
|
3
|
+
* C_V = 3 N k_B (θ_E/T)² exp(θ_E/T) / (exp(θ_E/T) − 1)².
|
|
4
|
+
*
|
|
5
|
+
* Three Planck oscillators per atom, each of energy
|
|
6
|
+
* k_B θ_E / (exp(θ_E/T) − 1), differentiate to that heat capacity.
|
|
7
|
+
* The zero-point k_B θ_E/2 is constant and is not in C_V. The kernel
|
|
8
|
+
* tends to 1 as θ_E/T → 0⁺, so the high-temperature limit is 3 N k_B.
|
|
9
|
+
* One oscillator tends to N k_B. Three oscillators and the Einstein
|
|
10
|
+
* spectrum are hypotheses.
|
|
11
|
+
*
|
|
12
|
+
* The overlay formalRef is `PhysJS.EinsteinSolid.einstein_heat`.
|
|
13
|
+
*
|
|
14
|
+
* @module bridges/be91-einstein-solid
|
|
15
|
+
*/
|
|
16
|
+
import { K_B_SI } from '../core/constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate the three-oscillator Einstein heat capacity.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export function evaluateEinsteinSolid({ N, T_K, thetaE_K }) {
|
|
23
|
+
if (!Number.isFinite(N) || N <= 0) {
|
|
24
|
+
throw new Error('evaluateEinsteinSolid: N must be finite and > 0');
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isFinite(T_K) || T_K <= 0) {
|
|
27
|
+
throw new Error('evaluateEinsteinSolid: T_K must be finite and > 0');
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isFinite(thetaE_K) || thetaE_K <= 0) {
|
|
30
|
+
throw new Error('evaluateEinsteinSolid: thetaE_K must be finite and > 0');
|
|
31
|
+
}
|
|
32
|
+
const x = thetaE_K / T_K;
|
|
33
|
+
const ex = Math.exp(x);
|
|
34
|
+
const C_V_J_per_K = 3 * N * K_B_SI * (x * x * ex) / (ex - 1) ** 2;
|
|
35
|
+
return { N, T_K, thetaE_K, C_V_J_per_K };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=be91-einstein-solid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be91-einstein-solid.js","sourceRoot":"","sources":["../../src/bridges/be91-einstein-solid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2B9C;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAuB;IAC7E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateSommerfeldHeat}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface SommerfeldHeatInputs {
|
|
6
|
+
/** Electron number density, per cubic metre. */
|
|
7
|
+
readonly n_per_m3: number;
|
|
8
|
+
/** Absolute temperature, kelvin. */
|
|
9
|
+
readonly T_K: number;
|
|
10
|
+
/** Fermi energy, joules. */
|
|
11
|
+
readonly E_F_J: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link evaluateSommerfeldHeat}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface SommerfeldHeatResult {
|
|
18
|
+
readonly n_per_m3: number;
|
|
19
|
+
readonly T_K: number;
|
|
20
|
+
readonly E_F_J: number;
|
|
21
|
+
/** Heat capacity per volume, joules per kelvin per cubic metre. */
|
|
22
|
+
readonly c_V_J_per_K_m3: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate the √E Sommerfeld heat capacity. The flat-density factor is not used.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluateSommerfeldHeat({ n_per_m3, T_K, E_F_J }: SommerfeldHeatInputs): SommerfeldHeatResult;
|
|
30
|
+
//# sourceMappingURL=be92-sommerfeld-heat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be92-sommerfeld-heat.d.ts","sourceRoot":"","sources":["../../src/bridges/be92-sommerfeld-heat.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,oBAAoB,CAY3G"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-92 — electronic heat capacity of a √E density of states,
|
|
3
|
+
* c_V = (π²/2) n k_B² T / E_F.
|
|
4
|
+
*
|
|
5
|
+
* The Sommerfeld energy correction δU = (π²/6) (k_B T)² g(E_F) is a
|
|
6
|
+
* hypothesis. Its temperature derivative is c_V = (π²/3) k_B² T g(E_F).
|
|
7
|
+
* PhysJS.FermiSea.dos_factor supplies g(E_F) = (3/2) n/E_F, which
|
|
8
|
+
* produces the factor π²/2. A flat density g = n/E_F leaves π²/3.
|
|
9
|
+
* Not the Wiedemann–Franz law and not a second proof of be-61.
|
|
10
|
+
*
|
|
11
|
+
* The overlay formalRef is `PhysJS.SommerfeldHeat.electronic_heat`.
|
|
12
|
+
*
|
|
13
|
+
* @module bridges/be92-sommerfeld-heat
|
|
14
|
+
*/
|
|
15
|
+
import { K_B_SI } from '../core/constants.js';
|
|
16
|
+
/**
|
|
17
|
+
* Evaluate the √E Sommerfeld heat capacity. The flat-density factor is not used.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export function evaluateSommerfeldHeat({ n_per_m3, T_K, E_F_J }) {
|
|
22
|
+
if (!Number.isFinite(n_per_m3) || n_per_m3 <= 0) {
|
|
23
|
+
throw new Error('evaluateSommerfeldHeat: n_per_m3 must be finite and > 0');
|
|
24
|
+
}
|
|
25
|
+
if (!Number.isFinite(T_K) || T_K <= 0) {
|
|
26
|
+
throw new Error('evaluateSommerfeldHeat: T_K must be finite and > 0');
|
|
27
|
+
}
|
|
28
|
+
if (!Number.isFinite(E_F_J) || E_F_J <= 0) {
|
|
29
|
+
throw new Error('evaluateSommerfeldHeat: E_F_J must be finite and > 0');
|
|
30
|
+
}
|
|
31
|
+
const c_V_J_per_K_m3 = ((Math.PI ** 2) / 2) * n_per_m3 * K_B_SI ** 2 * T_K / E_F_J;
|
|
32
|
+
return { n_per_m3, T_K, E_F_J, c_V_J_per_K_m3 };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=be92-sommerfeld-heat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be92-sommerfeld-heat.js","sourceRoot":"","sources":["../../src/bridges/be92-sommerfeld-heat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2B9C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAwB;IACnF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,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,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;IACnF,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluateCurieWeiss}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface CurieWeissInputs {
|
|
6
|
+
/** Moment density, per cubic metre. */
|
|
7
|
+
readonly n_per_m3: number;
|
|
8
|
+
/** Landé g-factor. */
|
|
9
|
+
readonly g: number;
|
|
10
|
+
/** Spin. S = 1/2 is the equal-weight check, not a restriction. */
|
|
11
|
+
readonly spin: number;
|
|
12
|
+
/** Bohr magneton, joules per tesla. */
|
|
13
|
+
readonly muB_J_per_T: number;
|
|
14
|
+
/** Absolute temperature, kelvin. */
|
|
15
|
+
readonly T_K: number;
|
|
16
|
+
/** Weiss temperature, kelvin. Zero is the Curie law. */
|
|
17
|
+
readonly theta_K: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Result of {@link evaluateCurieWeiss}.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export interface CurieWeissResult {
|
|
24
|
+
readonly n_per_m3: number;
|
|
25
|
+
readonly g: number;
|
|
26
|
+
readonly spin: number;
|
|
27
|
+
readonly muB_J_per_T: number;
|
|
28
|
+
readonly T_K: number;
|
|
29
|
+
readonly theta_K: number;
|
|
30
|
+
/** Curie constant, kelvin. */
|
|
31
|
+
readonly C_K: number;
|
|
32
|
+
/** Dimensionless susceptibility χ = C/(T−θ). */
|
|
33
|
+
readonly chi: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Evaluate the Curie–Weiss susceptibility. θ is the mean-field hypothesis.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export declare function evaluateCurieWeiss(inputs: CurieWeissInputs): CurieWeissResult;
|
|
41
|
+
//# sourceMappingURL=be93-curie-weiss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be93-curie-weiss.d.ts","sourceRoot":"","sources":["../../src/bridges/be93-curie-weiss.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAoB7E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-93 — Curie–Weiss susceptibility,
|
|
3
|
+
* C = μ₀ n g² μ_B² S(S+1) / (3 k_B),
|
|
4
|
+
* χ = C / (T − θ).
|
|
5
|
+
*
|
|
6
|
+
* Linear response χ k_B T = μ₀ n (g μ_B)² ⟨S_z²⟩ with the
|
|
7
|
+
* high-temperature moment ⟨S_z²⟩ = S(S+1)/3 gives C. Equal weights
|
|
8
|
+
* on m = ±1/2 give 1/4 = S(S+1)/3 at S = 1/2. Mean field
|
|
9
|
+
* B_eff = B + λ M with θ = C λ/μ₀ gives χ = C/(T−θ). θ = 0 is C/T.
|
|
10
|
+
* A classical moment uses μ²/3. The second moment and the mean-field
|
|
11
|
+
* shift are hypotheses. Not an su(2) derivation. μ_B is an input.
|
|
12
|
+
*
|
|
13
|
+
* The overlay formalRef is `PhysJS.CurieWeiss.curie_weiss`.
|
|
14
|
+
*
|
|
15
|
+
* @module bridges/be93-curie-weiss
|
|
16
|
+
*/
|
|
17
|
+
import { K_B_SI } from '../core/constants.js';
|
|
18
|
+
import { MU0_SI } from '../dimensional/formula-names.js';
|
|
19
|
+
/**
|
|
20
|
+
* Evaluate the Curie–Weiss susceptibility. θ is the mean-field hypothesis.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function evaluateCurieWeiss(inputs) {
|
|
25
|
+
const { n_per_m3, g, spin, muB_J_per_T, T_K, theta_K } = inputs;
|
|
26
|
+
if (!Number.isFinite(n_per_m3) || n_per_m3 <= 0) {
|
|
27
|
+
throw new Error('evaluateCurieWeiss: n_per_m3 must be finite and > 0');
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isFinite(g)) {
|
|
30
|
+
throw new Error('evaluateCurieWeiss: g must be finite');
|
|
31
|
+
}
|
|
32
|
+
if (!Number.isFinite(spin) || spin < 0) {
|
|
33
|
+
throw new Error('evaluateCurieWeiss: spin must be finite and ≥ 0');
|
|
34
|
+
}
|
|
35
|
+
if (!Number.isFinite(muB_J_per_T) || muB_J_per_T <= 0) {
|
|
36
|
+
throw new Error('evaluateCurieWeiss: muB_J_per_T must be finite and > 0');
|
|
37
|
+
}
|
|
38
|
+
if (!Number.isFinite(T_K) || !Number.isFinite(theta_K) || T_K === theta_K) {
|
|
39
|
+
throw new Error('evaluateCurieWeiss: T_K and theta_K must be finite and distinct');
|
|
40
|
+
}
|
|
41
|
+
const C_K = (MU0_SI * n_per_m3 * g * g * muB_J_per_T ** 2 * spin * (spin + 1)) / (3 * K_B_SI);
|
|
42
|
+
const chi = C_K / (T_K - theta_K);
|
|
43
|
+
return { ...inputs, C_K, chi };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=be93-curie-weiss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be93-curie-weiss.js","sourceRoot":"","sources":["../../src/bridges/be93-curie-weiss.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAsCzD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAwB;IACzD,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs for {@link evaluatePauliParamagnetism}.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export interface PauliParamagnetismInputs {
|
|
6
|
+
/** Electron number density, per cubic metre. */
|
|
7
|
+
readonly n_per_m3: number;
|
|
8
|
+
/** Fermi energy, joules. */
|
|
9
|
+
readonly E_F_J: number;
|
|
10
|
+
/** Bohr magneton, joules per tesla. */
|
|
11
|
+
readonly muB_J_per_T: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link evaluatePauliParamagnetism}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export interface PauliParamagnetismResult {
|
|
18
|
+
readonly n_per_m3: number;
|
|
19
|
+
readonly E_F_J: number;
|
|
20
|
+
readonly muB_J_per_T: number;
|
|
21
|
+
/** Dimensionless Pauli susceptibility. */
|
|
22
|
+
readonly chi_P: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Evaluate the √E Pauli susceptibility. Not χ_L = −χ_P/3.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluatePauliParamagnetism({ n_per_m3, E_F_J, muB_J_per_T, }: PauliParamagnetismInputs): PauliParamagnetismResult;
|
|
30
|
+
//# sourceMappingURL=be94-pauli-paramagnetism.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be94-pauli-paramagnetism.d.ts","sourceRoot":"","sources":["../../src/bridges/be94-pauli-paramagnetism.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,KAAK,EACL,WAAW,GACZ,EAAE,wBAAwB,GAAG,wBAAwB,CAYrD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-94 — Pauli paramagnetism for a √E density of states,
|
|
3
|
+
* χ_P = μ₀ μ_B² (3 n) / (2 E_F).
|
|
4
|
+
*
|
|
5
|
+
* The Zeeman imbalance M = μ_B² g(E_F) B is a hypothesis, and
|
|
6
|
+
* χ_P = μ₀ M/B is μ₀ μ_B² g(E_F). dos_factor supplies
|
|
7
|
+
* g(E_F) = (3/2) n/E_F. A flat density leaves the factor 1,
|
|
8
|
+
* χ_P = μ₀ μ_B² n/E_F. Not Landau diamagnetism. μ_B is an input.
|
|
9
|
+
*
|
|
10
|
+
* The overlay formalRef is `PhysJS.PauliParamagnetism.pauli`.
|
|
11
|
+
*
|
|
12
|
+
* @module bridges/be94-pauli-paramagnetism
|
|
13
|
+
*/
|
|
14
|
+
import { MU0_SI } from '../dimensional/formula-names.js';
|
|
15
|
+
/**
|
|
16
|
+
* Evaluate the √E Pauli susceptibility. Not χ_L = −χ_P/3.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export function evaluatePauliParamagnetism({ n_per_m3, E_F_J, muB_J_per_T, }) {
|
|
21
|
+
if (!Number.isFinite(n_per_m3) || n_per_m3 <= 0) {
|
|
22
|
+
throw new Error('evaluatePauliParamagnetism: n_per_m3 must be finite and > 0');
|
|
23
|
+
}
|
|
24
|
+
if (!Number.isFinite(E_F_J) || E_F_J <= 0) {
|
|
25
|
+
throw new Error('evaluatePauliParamagnetism: E_F_J must be finite and > 0');
|
|
26
|
+
}
|
|
27
|
+
if (!Number.isFinite(muB_J_per_T) || muB_J_per_T <= 0) {
|
|
28
|
+
throw new Error('evaluatePauliParamagnetism: muB_J_per_T must be finite and > 0');
|
|
29
|
+
}
|
|
30
|
+
const chi_P = (MU0_SI * muB_J_per_T ** 2 * 3 * n_per_m3) / (2 * E_F_J);
|
|
31
|
+
return { n_per_m3, E_F_J, muB_J_per_T, chi_P };
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=be94-pauli-paramagnetism.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be94-pauli-paramagnetism.js","sourceRoot":"","sources":["../../src/bridges/be94-pauli-paramagnetism.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AA2BzD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,QAAQ,EACR,KAAK,EACL,WAAW,GACc;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BE-95 — sign of one Ginzburg–Landau trial wall,
|
|
3
|
+
* (1/κ² − 2) times the gradient integral.
|
|
4
|
+
*
|
|
5
|
+
* In the normalization with gradient coefficient 1/κ², quartic
|
|
6
|
+
* (1/2)(1−f²)², and field B², the density at κ² = 1/2 is
|
|
7
|
+
* (√2 f' − a f)² + (B + (1−f²)/√2)² minus √2 times the derivative
|
|
8
|
+
* of a(1−f²). Vanishing squares and equal endpoints make that wall
|
|
9
|
+
* integral zero. A trial profile with that critical integral has
|
|
10
|
+
* energy (1/κ² − 2) times the gradient integral: negative when
|
|
11
|
+
* κ > 1/√2, zero at κ = 1/√2, and positive when κ < 1/√2. The
|
|
12
|
+
* positive side is this trial, not every minimizer. The GL density
|
|
13
|
+
* and the profile are hypotheses. This evaluator returns the
|
|
14
|
+
* dimensionless factor, not a search over minimizers.
|
|
15
|
+
*
|
|
16
|
+
* The overlay formalRef is `PhysJS.GinzburgLandau.type_boundary`.
|
|
17
|
+
*
|
|
18
|
+
* @module bridges/be95-ginzburg-landau
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Inputs for {@link evaluateGinzburgLandau}.
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface GinzburgLandauInputs {
|
|
25
|
+
/** Ginzburg–Landau parameter κ. */
|
|
26
|
+
readonly kappa: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Result of {@link evaluateGinzburgLandau}.
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export interface GinzburgLandauResult {
|
|
33
|
+
readonly kappa: number;
|
|
34
|
+
/**
|
|
35
|
+
* Factor (1/κ² − 2) in front of the positive gradient integral
|
|
36
|
+
* of the trial wall.
|
|
37
|
+
*/
|
|
38
|
+
readonly trial_factor: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Evaluate the trial-wall factor (1/κ² − 2). Not the energy of every minimizer.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare function evaluateGinzburgLandau({ kappa }: GinzburgLandauInputs): GinzburgLandauResult;
|
|
46
|
+
//# sourceMappingURL=be95-ginzburg-landau.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be95-ginzburg-landau.d.ts","sourceRoot":"","sources":["../../src/bridges/be95-ginzburg-landau.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,oBAAoB,CAM5F"}
|