pub struct TransformerConfig {Show 24 fields
pub model: Option<String>,
pub turns_ratio: f64,
pub primary_inductance: f64,
pub primary_type: WindingType,
pub secondary_type: WindingType,
pub primary_dcr: f64,
pub secondary_dcr: f64,
pub capacitance: f64,
pub coupling: f64,
pub primary_leakage: Option<f64>,
pub secondary_leakage: Option<f64>,
pub magnetizing_inductance: Option<f64>,
pub core_loss_resistance: Option<f64>,
pub core_primary_turns: Option<f64>,
pub core_area: Option<f64>,
pub core_path_length: Option<f64>,
pub core_gap: Option<f64>,
pub dc_bias_current: Option<f64>,
pub ja_ms: Option<f64>,
pub ja_a: Option<f64>,
pub ja_alpha: Option<f64>,
pub ja_k: Option<f64>,
pub ja_c: Option<f64>,
pub tertiary_turns_ratio: Option<f64>,
}Expand description
Audio transformer configuration.
Transformers are modeled with:
- Turns ratio (affects impedance transformation by n²)
- Primary inductance (determines low-frequency response)
- Optional center taps for push-pull configurations
- Parasitic elements (DCR, capacitance) for accurate HF response
Fields§
§model: Option<String>Optional model-library name. When present, library values seed the electrical/core fields and explicit DSL fields override them.
turns_ratio: f64Turns ratio (primary:secondary). 1.0 = 1:1, 10.0 = 10:1 step-down
primary_inductance: f64Primary winding inductance in Henries
primary_type: WindingTypePrimary winding configuration
secondary_type: WindingTypeSecondary winding configuration
primary_dcr: f64DC resistance of primary winding (Ω), default 0
secondary_dcr: f64DC resistance of secondary winding (Ω), default 0
capacitance: f64Parasitic capacitance (F), default 0
coupling: f64Coupling coefficient (0-1), default 0.99 for audio transformers
primary_leakage: Option<f64>Optional explicit primary leakage inductance in Henries.
secondary_leakage: Option<f64>Optional explicit secondary leakage inductance in Henries.
magnetizing_inductance: Option<f64>Optional explicit magnetizing inductance in Henries.
core_loss_resistance: Option<f64>Optional core-loss resistance in Ohms.
core_primary_turns: Option<f64>Optional primary turns for a nonlinear magnetizing core model.
core_area: Option<f64>Optional core cross-sectional area in square meters.
core_path_length: Option<f64>Optional magnetic path length in meters.
core_gap: Option<f64>Optional air gap length in meters.
dc_bias_current: Option<f64>Optional standing primary DC bias current in Amps.
ja_ms: Option<f64>Optional Jiles-Atherton saturation magnetization in A/m.
ja_a: Option<f64>Optional Jiles-Atherton anhysteretic shape parameter in A/m.
ja_alpha: Option<f64>Optional Jiles-Atherton inter-domain coupling.
ja_k: Option<f64>Optional Jiles-Atherton domain-wall pinning parameter in A/m.
ja_c: Option<f64>Optional Jiles-Atherton reversible magnetization fraction.
tertiary_turns_ratio: Option<f64>Optional tertiary winding turns ratio (primary:tertiary). When present, the transformer is modeled as a 3-winding R-type adaptor. Used for transformers with NFB windings (e.g., Fairchild 670 sidechain output).
Implementations§
Source§impl TransformerConfig
impl TransformerConfig
Sourcepub fn new(turns_ratio: f64, primary_inductance: f64) -> Self
pub fn new(turns_ratio: f64, primary_inductance: f64) -> Self
Create a simple transformer with turns ratio and inductance.
Sourcepub fn with_model(turns_ratio: f64, model: String) -> Self
pub fn with_model(turns_ratio: f64, model: String) -> Self
Create a transformer backed by an embedded model-library entry.
Sourcepub fn with_center_tap(self) -> Self
pub fn with_center_tap(self) -> Self
Create a center-tapped secondary transformer.
Sourcepub fn with_push_pull_primary(self) -> Self
pub fn with_push_pull_primary(self) -> Self
Create a push-pull primary transformer.
Sourcepub fn with_capacitance(self, cap: f64) -> Self
pub fn with_capacitance(self, cap: f64) -> Self
Add parasitic capacitance.
Sourcepub fn with_tertiary(self, tertiary_turns_ratio: f64) -> Self
pub fn with_tertiary(self, tertiary_turns_ratio: f64) -> Self
Add a tertiary winding with the given primary:tertiary turns ratio.
Sourcepub fn has_tertiary(&self) -> bool
pub fn has_tertiary(&self) -> bool
Returns true if this transformer has a tertiary (third) winding.
Trait Implementations§
Source§impl Clone for TransformerConfig
impl Clone for TransformerConfig
Source§fn clone(&self) -> TransformerConfig
fn clone(&self) -> TransformerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransformerConfig
impl Debug for TransformerConfig
Source§impl Default for TransformerConfig
impl Default for TransformerConfig
Source§impl PartialEq for TransformerConfig
impl PartialEq for TransformerConfig
Source§fn eq(&self, other: &TransformerConfig) -> bool
fn eq(&self, other: &TransformerConfig) -> bool
self and other values to be equal, and is used by ==.