pub struct DepinningParams {
pub pinning_strength: f64,
pub saturation_magnetization: f64,
pub domain_wall_width: f64,
}Expand description
Parameters for computing the depinning field of a domain wall.
Fields§
§pinning_strength: f64Pinning potential depth V₀ [J/m²].
saturation_magnetization: f64Saturation magnetization M_s [A/m].
domain_wall_width: f64Domain wall width δ_w [m].
Implementations§
Source§impl DepinningParams
impl DepinningParams
Sourcepub fn new(
pinning_strength: f64,
saturation_magnetization: f64,
domain_wall_width: f64,
) -> Result<Self>
pub fn new( pinning_strength: f64, saturation_magnetization: f64, domain_wall_width: f64, ) -> Result<Self>
Sourcepub fn depinning_field(&self) -> f64
pub fn depinning_field(&self) -> f64
Compute the depinning field H_dep [A/m].
H_dep = V₀ / (2 μ₀ M_s δ_w)
This is the minimum external field required to move a domain wall past the pinning center at zero temperature.
Sourcepub fn depinning_field_thermal(&self, temperature: f64) -> Result<f64>
pub fn depinning_field_thermal(&self, temperature: f64) -> Result<f64>
Depinning field with thermal activation (Arrhenius-Néel model).
At finite temperature the effective depinning field is reduced:
H_dep(T) = H_dep(0) · [1 - (k_B T / E_b)^(1/μ)]
where E_b is the energy barrier and μ ≈ 1 for a simple Gaussian potential. The barrier is E_b = V₀ · δ_w.
§Arguments
temperature- Temperature [K] (must be >= 0)
§Returns
The thermally-reduced depinning field [A/m]. Returns 0 if thermal energy exceeds the barrier.
Trait Implementations§
Source§impl Clone for DepinningParams
impl Clone for DepinningParams
Source§fn clone(&self) -> DepinningParams
fn clone(&self) -> DepinningParams
Returns a duplicate of the value. Read more
1.0.0 · 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 DepinningParams
impl RefUnwindSafe for DepinningParams
impl Send for DepinningParams
impl Sync for DepinningParams
impl Unpin for DepinningParams
impl UnsafeUnpin for DepinningParams
impl UnwindSafe for DepinningParams
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.