/// <summary> /// Setup behavior /// </summary> /// <param name="provider">Data provider</param> public override void Setup(SetupDataProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } // Get parameters _bp = provider.GetParameterSet <BaseParameters>("entity"); var bp1 = provider.GetParameterSet <InductorBehaviors.BaseParameters>("inductor1"); var bp2 = provider.GetParameterSet <InductorBehaviors.BaseParameters>("inductor2"); // Get behaviors _load1 = provider.GetBehavior <LoadBehavior>("inductor1"); _load2 = provider.GetBehavior <LoadBehavior>("inductor2"); _tran1 = provider.GetBehavior <InductorBehaviors.TransientBehavior>("inductor1"); _tran2 = provider.GetBehavior <InductorBehaviors.TransientBehavior>("inductor2"); // Calculate coupling factor Factor = _bp.Coupling * Math.Sqrt(bp1.Inductance * bp2.Inductance); // Register events for modifying the flux through the inductors _tran1.UpdateFlux += UpdateFlux1; _tran2.UpdateFlux += UpdateFlux2; }
/// <summary> /// Setup behavior /// </summary> /// <param name="provider">Data provider</param> public override void Setup(SetupDataProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } // Get parameters _bp = provider.GetParameterSet <BaseParameters>("entity"); // Get behaviors _load = provider.GetBehavior <LoadBehavior>("entity"); }
/// <summary> /// Setup behavior /// </summary> /// <param name="provider">Data provider</param> public override void Setup(SetupDataProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } // Get parameters _bp = provider.GetParameterSet <BaseParameters>("entity"); // Get behaviors _load = provider.GetBehavior <LoadBehavior>("entity"); // Clear all events if (UpdateFlux != null) { foreach (var inv in UpdateFlux.GetInvocationList()) { UpdateFlux -= (EventHandler <UpdateFluxEventArgs>)inv; } } }