Skip to main content

CreviceModel

Struct CreviceModel 

Source
pub struct CreviceModel {
    pub gap: f64,
    pub depth: f64,
    pub resistivity: f64,
    pub e_crevice_critical: f64,
    pub i_passive: f64,
}
Expand description

Crevice corrosion model based on critical geometry criterion.

Crevice attack initiates when the IR drop within the crevice is large enough to shift the local potential below the critical crevice potential.

Fields§

§gap: f64

Crevice gap width [m].

§depth: f64

Crevice depth [m].

§resistivity: f64

Electrolyte resistivity [Ω·m].

§e_crevice_critical: f64

Critical crevice potential (below which active dissolution occurs) [V].

§i_passive: f64

Passive current density [A/m²].

Implementations§

Source§

impl CreviceModel

Source

pub fn new( gap: f64, depth: f64, resistivity: f64, e_crevice_critical: f64, i_passive: f64, ) -> Self

Create a new crevice model.

Source

pub fn ir_drop(&self) -> f64

IR drop along the crevice [V] using 1-D ohmic model.

ΔV = i_passive · ρ · L² / (2 · g) where L = depth, g = gap, ρ = resistivity.

Source

pub fn critical_depth(&self, e_external: f64) -> Option<f64>

Critical depth [m] at which crevice attack initiates for a given external potential.

L_crit = sqrt(2 · g · ΔV_crit / (i_passive · ρ))

Source

pub fn geometry_factor(&self, e_external: f64) -> f64

Geometry factor x = i_passive · ρ · depth² / (2 · gap · ΔV).

Crevice attack expected when x > 1.

Trait Implementations§

Source§

impl Clone for CreviceModel

Source§

fn clone(&self) -> CreviceModel

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CreviceModel

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.