pub struct Magnetostrictive {
pub lambda_s: f64,
pub m_saturation: f64,
pub youngs_modulus: f64,
pub d_coeff: f64,
pub coercive_field: f64,
}Expand description
Magnetostrictive material model (Joule and Villari effects).
Models Terfenol-D-like materials with magnetization curve and Preisach hysteresis.
Fields§
§lambda_s: f64Saturation magnetostriction λ_s (dimensionless, e.g. 1750e-6 for Terfenol-D).
m_saturation: f64Saturation magnetization M_s (A/m).
youngs_modulus: f64Young’s modulus at H=0 (Pa).
d_coeff: f64Magnetomechanical coupling coefficient d (m/A).
coercive_field: f64Coercive field Hc (A/m) for hysteresis.
Implementations§
Source§impl Magnetostrictive
impl Magnetostrictive
Sourcepub fn terfenol_d() -> Self
pub fn terfenol_d() -> Self
Creates a Terfenol-D model.
Sourcepub fn magnetostriction(&self, magnetization: f64) -> f64
pub fn magnetostriction(&self, magnetization: f64) -> f64
Joule magnetostriction: ε = (3/2) * λ_s * (M/M_s)^2.
Sourcepub fn villari_effect(&self, stress: f64, h_field: f64) -> f64
pub fn villari_effect(&self, stress: f64, h_field: f64) -> f64
Villari effect: change in magnetization due to stress.
dM/dσ ≈ d * H_applied at constant field.
Sourcepub fn preisach_hysteron(
&self,
h: f64,
alpha: f64,
beta: f64,
state: bool,
) -> bool
pub fn preisach_hysteron( &self, h: f64, alpha: f64, beta: f64, state: bool, ) -> bool
Preisach-like hysteresis: simple scalar Preisach model.
Returns the magnetization for a triangular hysteron with thresholds (α, β).
Sourcepub fn magnetization_curve(&self, h_field: f64) -> f64
pub fn magnetization_curve(&self, h_field: f64) -> f64
Magnetization curve (Langevin function approximation).
Trait Implementations§
Source§impl Clone for Magnetostrictive
impl Clone for Magnetostrictive
Source§fn clone(&self) -> Magnetostrictive
fn clone(&self) -> Magnetostrictive
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 Magnetostrictive
impl RefUnwindSafe for Magnetostrictive
impl Send for Magnetostrictive
impl Sync for Magnetostrictive
impl Unpin for Magnetostrictive
impl UnsafeUnpin for Magnetostrictive
impl UnwindSafe for Magnetostrictive
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