1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Transport properties: diffusion, ionic conductivity, and dipolar
//! relaxation — the raw [`Compute`](crate::compute::Compute) observables the
//! [`fit`](crate::compute::fit) layer turns into D, σ, and τ_D.
//!
//! Every method here returns **only a raw curve + scalar metadata**; the fit
//! step (slope, integral, Debye τ) is the analyst's explicit, parameterized
//! choice:
//!
//! | Method | Raw output | Downstream fit |
//! |--------|-----------|----------------|
//! | [`VACF`] / [`GreenKuboDiffusion`] | velocity ACF | [`PowerSpectrum`](crate::compute::spectroscopy::PowerSpectrum) (VDOS) / [`RunningIntegral`](crate::compute::fit::RunningIntegral) (D) |
//! | [`EinsteinDiffusion`] | self-MSD curve | [`LinearFit`](crate::compute::fit::LinearFit) (D = slope/2d) |
//! | [`EinsteinConductivity`] | collective charge-dipole MSD | [`LinearFit`](crate::compute::fit::LinearFit) (σ) |
//! | [`GreenKuboConductivity`] | current ACF | [`RunningIntegral`](crate::compute::fit::RunningIntegral) (σ) |
//! | [`DebyeRelaxation`] | dipole ACF + ⟨M²⟩ + V/T/BC | [`DebyeFit`](crate::compute::fit::DebyeFit) (τ_D, amplitude) |
//! | [`OnsagerCorrelation`] | Onsager L_ij displacement correlations | [`LinearFit`](crate::compute::fit::LinearFit) per pair |
//!
//! [`VACFAccumulator`] is the streaming (frame-by-frame, bounded-memory)
//! counterpart of [`VACF`] for on-the-fly MD analysis. Units follow the MD
//! convention of the caller (time in the `dt` unit, velocities/dipoles as
//! supplied); the fits document the MD→SI prefactors.
//!
//! ```ignore
//! let raw = VACF.compute(&[] as &[&Frame], (&velocities, dt, resolution))?;
//! let d = RunningIntegral.fit((&raw.acf, dt, None))?; // D = integral/3 in MD units
//! ```
pub use ;
pub use ;
pub use ;
pub use ;
pub use GreenKuboDiffusion;
pub use ;
pub use ;
pub use VACFAccumulator;