pub struct TwoWayShapeMemory {
pub model: BrinsonModel,
pub two_way_fraction: f64,
pub training_cycles: u32,
pub max_two_way_fraction: f64,
pub saturation_rate: f64,
}Expand description
Two-way shape memory effect: the material spontaneously deforms during both cooling and heating without external load, after training.
The trained material has internal residual stresses from dislocation arrays that bias the variant selection during cooling.
Fields§
§model: BrinsonModelBrinson model for constitutive relations.
two_way_fraction: f64Two-way recoverable strain (fraction of h_max, typically 0.2-0.5).
training_cycles: u32Number of training cycles completed.
max_two_way_fraction: f64Maximum two-way fraction after saturation.
saturation_rate: f64Training saturation rate constant.
Implementations§
Source§impl TwoWayShapeMemory
impl TwoWayShapeMemory
Sourcepub fn new(model: BrinsonModel) -> Self
pub fn new(model: BrinsonModel) -> Self
Create a new two-way shape memory model.
Sourcepub fn train_cycle(&mut self)
pub fn train_cycle(&mut self)
Apply one training cycle (loading + unloading + thermal cycle).
Sourcepub fn cooling_strain(&self, temp: f64) -> f64
pub fn cooling_strain(&self, temp: f64) -> f64
Spontaneous strain on cooling to T < Mf (no external load).
Sourcepub fn heating_strain(&self, temp: f64) -> f64
pub fn heating_strain(&self, temp: f64) -> f64
Spontaneous strain on heating to T > Af (recovery).
Trait Implementations§
Source§impl Clone for TwoWayShapeMemory
impl Clone for TwoWayShapeMemory
Source§fn clone(&self) -> TwoWayShapeMemory
fn clone(&self) -> TwoWayShapeMemory
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 TwoWayShapeMemory
impl RefUnwindSafe for TwoWayShapeMemory
impl Send for TwoWayShapeMemory
impl Sync for TwoWayShapeMemory
impl Unpin for TwoWayShapeMemory
impl UnsafeUnpin for TwoWayShapeMemory
impl UnwindSafe for TwoWayShapeMemory
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