Struct SeriesAdaptor
pub struct SeriesAdaptor {
pub port_resistance: f64,
/* private fields */
}Expand description
Series adaptor joining two sub-trees.
Port resistance: Rp = R1 + R2
Scattering coefficient: gamma = R1 / Rp
3-port series junction (port 3 = parent, reflection-free):
scatter_up: b3 = -(b1 + b2)
scatter_down: a1 = b1 - gamma * (b1 + b2 + a3)
a2 = b2 - (1 - gamma) * (b1 + b2 + a3)
Fields§
§port_resistance: f64Implementations§
§impl SeriesAdaptor
impl SeriesAdaptor
pub fn new(r1: f64, r2: f64) -> SeriesAdaptor
pub fn update_ports(&mut self, r1: f64, r2: f64)
pub fn update_ports(&mut self, r1: f64, r2: f64)
Recompute when child port resistances change.
pub fn scatter_up(&mut self, b1: f64, b2: f64) -> f64
pub fn scatter_up(&mut self, b1: f64, b2: f64) -> f64
Bottom-up: accept child reflected waves, produce parent reflected wave.
pub fn scatter_down(&self, a3: f64) -> (f64, f64)
pub fn scatter_down(&self, a3: f64) -> (f64, f64)
Top-down: accept parent incident wave, produce child incident waves.
Returns (a1, a2).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SeriesAdaptor
impl RefUnwindSafe for SeriesAdaptor
impl Send for SeriesAdaptor
impl Sync for SeriesAdaptor
impl Unpin for SeriesAdaptor
impl UnsafeUnpin for SeriesAdaptor
impl UnwindSafe for SeriesAdaptor
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