pub struct PassivationModel {
pub flade_potential: f64,
pub i_passivation: f64,
pub i_passive: f64,
pub e_transpassive: f64,
pub active_bv: ButlerVolmer,
}Expand description
Passivation model for active–passive metals.
Describes the three regimes on the anodic polarisation curve: active dissolution → active-passive transition → passive plateau → transpassive.
Fields§
§flade_potential: f64Flade potential (active/passive boundary) [V vs SHE].
i_passivation: f64Passivation current density (peak active) [A/m²].
i_passive: f64Passive current density (maintained in passive regime) [A/m²].
e_transpassive: f64Transpassive potential (onset of transpassive dissolution) [V vs SHE].
active_bv: ButlerVolmerButler-Volmer parameters for the active regime.
Implementations§
Source§impl PassivationModel
impl PassivationModel
Sourcepub fn new(
flade_potential: f64,
i_passivation: f64,
i_passive: f64,
e_transpassive: f64,
active_bv: ButlerVolmer,
) -> Self
pub fn new( flade_potential: f64, i_passivation: f64, i_passive: f64, e_transpassive: f64, active_bv: ButlerVolmer, ) -> Self
Create a new passivation model.
Sourcepub fn current_density(&self, e: f64) -> f64
pub fn current_density(&self, e: f64) -> f64
Anodic current density [A/m²] at potential e [V vs SHE].
Regime selection:
- e < Flade potential → active Butler-Volmer dissolution
- Flade ≤ e < transpassive → passive plateau (
i_passive) - e ≥ transpassive → transpassive (linear rise above passive)
Sourcepub fn is_passive(&self, e: f64) -> bool
pub fn is_passive(&self, e: f64) -> bool
Check whether the metal is in the passive state at potential e.
Sourcepub fn passive_range(&self) -> f64
pub fn passive_range(&self) -> f64
Passive range width [V].
Trait Implementations§
Source§impl Clone for PassivationModel
impl Clone for PassivationModel
Source§fn clone(&self) -> PassivationModel
fn clone(&self) -> PassivationModel
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 PassivationModel
impl RefUnwindSafe for PassivationModel
impl Send for PassivationModel
impl Sync for PassivationModel
impl Unpin for PassivationModel
impl UnsafeUnpin for PassivationModel
impl UnwindSafe for PassivationModel
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