pub struct ElectrochemicalMaterial {
pub exchange_current_density: f64,
pub alpha: f64,
pub diffusion_coefficient: f64,
pub partial_molar_volume: f64,
pub youngs_modulus: f64,
pub poisson_ratio: f64,
pub faraday: f64,
}Expand description
Electrochemical material model for battery electrodes.
Butler-Volmer kinetics, diffusion, and intercalation stress.
Fields§
§exchange_current_density: f64Exchange current density i0 (A/m²).
alpha: f64Charge transfer coefficient α (0 to 1).
diffusion_coefficient: f64Diffusion coefficient D (m²/s).
partial_molar_volume: f64Partial molar volume Ω (m³/mol).
youngs_modulus: f64Young’s modulus (Pa).
poisson_ratio: f64Poisson’s ratio.
faraday: f64Faraday constant.
Implementations§
Source§impl ElectrochemicalMaterial
impl ElectrochemicalMaterial
Sourcepub fn lithium_graphite() -> Self
pub fn lithium_graphite() -> Self
Creates a lithium graphite anode model.
Sourcepub fn butler_volmer(&self, overpotential: f64, temperature: f64) -> f64
pub fn butler_volmer(&self, overpotential: f64, temperature: f64) -> f64
Butler-Volmer current density: j = i0 * [exp(αFη/RT) - exp(-(1-α)Fη/RT)].
Sourcepub fn diffusion_flux(&self, concentration_gradient: f64) -> f64
pub fn diffusion_flux(&self, concentration_gradient: f64) -> f64
Linear diffusion flux (1D, Fick’s first law): J = -D * dc/dx.
Sourcepub fn intercalation_stress(&self, concentration: f64, c_avg: f64) -> f64
pub fn intercalation_stress(&self, concentration: f64, c_avg: f64) -> f64
Intercalation stress (hydrostatic): σ_h = -Ω * E / (3 * (1-ν)) * (c - c_avg).
Sourcepub fn nernst_shift(&self, c_norm: f64, temperature: f64) -> f64
pub fn nernst_shift(&self, c_norm: f64, temperature: f64) -> f64
Open-circuit potential shift due to concentration (Nernst-like).
Trait Implementations§
Source§impl Clone for ElectrochemicalMaterial
impl Clone for ElectrochemicalMaterial
Source§fn clone(&self) -> ElectrochemicalMaterial
fn clone(&self) -> ElectrochemicalMaterial
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ElectrochemicalMaterial
impl RefUnwindSafe for ElectrochemicalMaterial
impl Send for ElectrochemicalMaterial
impl Sync for ElectrochemicalMaterial
impl Unpin for ElectrochemicalMaterial
impl UnsafeUnpin for ElectrochemicalMaterial
impl UnwindSafe for ElectrochemicalMaterial
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more