Beispiel #1
0
        static void Main(string[] args)
        {
            Circuit sim = new Circuit();

            var volt0 = sim.Create <VoltageInput>();
            var g     = sim.Create <Ground>();
            var res0  = sim.Create <Resistor>();

            res0.resistance = 1;

            sim.Connect(volt0.leadPos, res0.leadIn);
            sim.Connect(g.leadIn, res0.leadOut);

            for (int x = 1; x <= 3; x++)
            {
                sim.doTick();
                // Ohm's Law
                Debug.Log(res0.getVoltageDelta(), res0.resistance * res0.getCurrent());   // V = I x R
                Debug.Log(res0.getCurrent(), res0.getVoltageDelta() / res0.resistance);   // I = V / R
                Debug.Log(res0.resistance, res0.getVoltageDelta() / res0.getCurrent());   // R = V / I
                Debug.Log(res0.getLeadVoltage(0), res0.getLeadVoltage(0));                // Leads voltage
            }

            Console.WriteLine("program complete");
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Circuit sim = new Circuit();

            var volt0 = sim.Create <VoltageInput>(Voltage.WaveType.DC);

            volt0.maxVoltage = 10;
            var res0    = sim.Create <Resistor>(6);
            var res1    = sim.Create <Resistor>(2);
            var res2    = sim.Create <Resistor>(6);
            var res3    = sim.Create <Resistor>(2);
            var res4    = sim.Create <Resistor>(6);
            var res5    = sim.Create <Resistor>(1000);
            var ground0 = sim.Create <Ground>();

            sim.Connect(volt0.leadPos, res0.leadIn);
            sim.Connect(res0.leadOut, res1.leadIn);
            sim.Connect(volt0.leadPos, res2.leadIn);
            sim.Connect(res2.leadOut, res3.leadIn);
            sim.Connect(res3.leadOut, ground0.leadIn);
            sim.Connect(res1.leadOut, ground0.leadIn);
            sim.Connect(res3.leadOut, res4.leadIn);
            sim.Connect(res4.leadOut, res1.leadIn);

            for (int x = 1; x <= 1; x++)
            {
                sim.doTick();
                // Ohm's Law
                LogSharp(res0.getVoltageDelta(), res0.resistance * res0.getCurrent());                 // V = I x R
                LogSharp(res0.getCurrent(), res0.getVoltageDelta() / res0.resistance);                 // I = V / R
                LogSharp(res0.resistance, res0.getVoltageDelta() / res0.getCurrent());                 // R = V / I

                LogSharp(volt0.getCurrent());
            }

            Debug.Log("program complete");
        }