Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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");
        }
Пример #3
0
        /// <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;
                }
            }
        }