Exemplo n.º 1
0
        /// <summary>
        /// Read the voltage and write to the output
        /// </summary>
        /// <param name="stream">Stream</param>
        /// <param name="data">Simulation data</param>
        public override double Extract(SimulationData data)
        {
            Voltagesource vsrc = (Voltagesource)data.GetObject(Source);

            if (data.Circuit.State.Domain == Circuits.CircuitState.DomainTypes.Frequency || data.Circuit.State.Domain == Circuits.CircuitState.DomainTypes.Laplace)
            {
                return(vsrc.GetComplexCurrent(data.Circuit).Real);
            }
            else
            {
                return(vsrc.GetCurrent(data.Circuit));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Extract
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public override double Extract(SimulationData data)
        {
            Voltagesource vsrc = (Voltagesource)data.GetObject(Source);

            switch (data.Circuit.State.Domain)
            {
            case CircuitState.DomainTypes.Frequency:
            case CircuitState.DomainTypes.Laplace:
                return(vsrc.GetComplexCurrent(data.Circuit).Magnitude);

            default:
                return(vsrc.GetCurrent(data.Circuit));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Extract
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public override double Extract(SimulationData data)
        {
            Voltagesource vsrc = (Voltagesource)data.GetObject(Source);

            switch (data.Circuit.State.Domain)
            {
            case CircuitState.DomainTypes.Frequency:
            case CircuitState.DomainTypes.Laplace:
                Complex c = vsrc.GetComplexCurrent(data.Circuit);
                return(10.0 * Math.Log10(c.Real * c.Real + c.Imaginary + c.Imaginary));

            default:
                return(20.0 * Math.Log10(vsrc.GetCurrent(data.Circuit)));
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Constructor
        /// </summary>
        public Main()
        {
            InitializeComponent();

            Circuit ckt = new Circuit();
            var     src = new Voltagesource("V1", "A", "0", 0);

            src.VSRCacMag.Set(12);
            ckt.Objects.Add(
                src,
                new Resistor("R1", "A", "B", 10),
                new Inductor("L1", "B", "0", 0.000018));

            ckt.Check();
        }