From 2f4470c2fe3318dbb5d23dcba70e10967e8794eb Mon Sep 17 00:00:00 2001 From: Colin Date: Sun, 29 Aug 2021 13:50:23 -0700 Subject: [PATCH] Test sr-latch over a longer time-scale (sr-latch-8) --- examples/sr_latch.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/examples/sr_latch.rs b/examples/sr_latch.rs index d839666..279dba4 100644 --- a/examples/sr_latch.rs +++ b/examples/sr_latch.rs @@ -14,8 +14,8 @@ fn main() { let wire_minor = 40e-6; let wire_major = 160e-6; let wire_coupling_major = 280e-6; // (ferro_minor*4 + ferro_buffer)/2 + wire_minor = 190 - let peak_current = 50e7; - let current_duration = 1.0e-9; // half-wavelength of the sine wave + let peak_current = 7.5e7; + let current_duration = 2.0e-9; // half-wavelength of the sine wave // let current_break = 0.2e-9; // time between 'set' pulse and 'clear' pulse let drive_conductivity = 5e6f32; let sense_conductivity = 5e3f32; @@ -23,7 +23,7 @@ fn main() { let m_to_um = |m: f32| (m * 1e6).round() as u32; let half_depth = depth * 0.5; - let base = "sr-latch-7-sr-500MA"; + let base = "sr-latch-8-sr-longer-time-scale"; let boundary_xy = 500e-6; let boundary_z = 300e-6; @@ -76,7 +76,7 @@ fn main() { // dJ/dt = \sigma dE/dT // dE/dt = dJ/dt / \sigma // dE/dt = dI/dt / (A*\sigma) - // if I = k*sin(w t) then dE/dt = k*w sin(w t) / (A*\sigma) + // if I = k*sin(w t) then dE/dt = k*w cos(w t) / (A*\sigma) // i.e. dE/dt is proportional to I/(A*\sigma), multiplied by w (or, divided by wavelength) let peak_stim1 = peak_current/current_duration / (set_region.cross_section() * drive_conductivity); @@ -98,7 +98,11 @@ fn main() { add_drive_pulse(&reset_region, 50.0*current_duration, current_duration, peak_stim1); add_drive_pulse(&set_region, 50.0*current_duration, current_duration, peak_stim1); - let duration = 65.0*current_duration; + // TOGETHER + add_drive_pulse(&reset_region, 55.0*current_duration, current_duration, peak_stim1); + add_drive_pulse(&set_region, 55.0*current_duration, current_duration, peak_stim1); + + let duration = 240.0*current_duration; driver.add_measurement(meas::CurrentLoop::new("coupling", coupling_region.clone())); driver.add_measurement(meas::Current::new("coupling", coupling_region.clone()));