コード例 #1
0
    /**
     * Readies the given item. Sets it up to be launched upon the next call to
     * Throw() and to render upon updates.
     *
     * Finds the first Transient object in the hierarchy and use it to represent
     * the readied item.
     */
    private void ReadyItem(GameObject item)
    {
        readiedItem = item;

        // Note that we can't use GetComponentInChildren() here because the
        // children components are inactive.
        foreach (Transform child in item.transform) {
            if (transientItem = child.GetComponent<Transient>()) {
                transientItem.Activate();
                transientItem.gameObject.SetActiveRecursively(true);

                break;
            }
        }
    }
コード例 #2
0
 /**
  * Resets the readied item and its acquirable.
  */
 private void ResetReadiedItem()
 {
     readiedItem = default(GameObject);
     transientItem = default(Transient);
 }
コード例 #3
0
        public void When_SimpleSwitchTransient_Expect_Spice3f5Reference()
        {
            // Build the switch
            var ckt = new Circuit(
                CreateCurrentSwitch("S1", "0", "OUT", "V1", "MYSW"),
                CreateCurrentSwitchModel("MYSW", "Ron=1 Roff=1e6 It=0.5 Ih=-0.4"),
                new CurrentSource("I1", "0", "IN", new Pulse(0, 1, 0.0, 0.4e-3, 0.4e-3, 0.1e-3, 1e-3)),
                new VoltageSource("V1", "IN", "0", 0),
                new VoltageSource("V2", "N001", "0", 3.3),
                new Resistor("R1", "N001", "OUT", 1e3)
                );

            // Build simulation, exports and references
            var tran = new Transient("Tran 1", 0.1e-3, 3e-3);

            IExport <double>[] exports    = { new GenericExport <double>(tran, () => tran.GetState <IIntegrationMethod>().Time), new RealVoltageExport(tran, "OUT") };
            double[][]         references =
            {
                new[]
                {
                    0.000000000000000e+00, 6.000000000000000e-07, 1.200000000000000e-06, 2.400000000000000e-06,
                    4.800000000000000e-06, 9.600000000000000e-06, 1.920000000000000e-05, 3.840000000000000e-05,
                    7.680000000000000e-05, 1.368000000000000e-04, 1.968000000000000e-04, 2.568000000000000e-04,
                    3.168000000000000e-04, 3.768000000000000e-04, 4.000000000000000e-04, 4.060000000000000e-04,
                    4.180000000000000e-04, 4.420000000000000e-04, 4.900000000000000e-04, 5.000000000000000e-04,
                    5.060000000000000e-04, 5.180000000000000e-04, 5.420000000000001e-04, 5.900000000000000e-04,
                    6.500000000000001e-04, 7.100000000000001e-04, 7.700000000000002e-04, 8.300000000000002e-04,
                    8.900000000000003e-04, 9.000000000000000e-04, 9.060000000000000e-04, 9.180000000000000e-04,
                    9.420000000000000e-04, 9.900000000000000e-04, 1.000000000000000e-03, 1.006000000000000e-03,
                    1.018000000000000e-03, 1.042000000000000e-03, 1.090000000000000e-03, 1.150000000000000e-03,
                    1.210000000000000e-03, 1.270000000000000e-03, 1.330000000000000e-03, 1.390000000000000e-03,
                    1.400000000000000e-03, 1.406000000000000e-03, 1.418000000000000e-03, 1.442000000000000e-03,
                    1.490000000000000e-03, 1.500000000000000e-03, 1.506000000000000e-03, 1.518000000000000e-03,
                    1.542000000000000e-03, 1.590000000000000e-03, 1.650000000000000e-03, 1.710000000000000e-03,
                    1.770000000000000e-03, 1.830000000000000e-03, 1.890000000000000e-03, 1.900000000000000e-03,
                    1.906000000000000e-03, 1.918000000000000e-03, 1.942000000000000e-03, 1.990000000000000e-03,
                    2.000000000000000e-03, 2.006000000000000e-03, 2.018000000000000e-03, 2.042000000000000e-03,
                    2.090000000000000e-03, 2.150000000000000e-03, 2.210000000000000e-03, 2.270000000000000e-03,
                    2.330000000000000e-03, 2.390000000000001e-03, 2.400000000000000e-03, 2.406000000000000e-03,
                    2.418000000000000e-03, 2.442000000000000e-03, 2.490000000000000e-03, 2.500000000000000e-03,
                    2.506000000000000e-03, 2.518000000000000e-03, 2.542000000000000e-03, 2.590000000000000e-03,
                    2.650000000000000e-03, 2.710000000000000e-03, 2.770000000000000e-03, 2.830000000000000e-03,
                    2.890000000000001e-03, 2.900000000000000e-03, 2.906000000000000e-03, 2.918000000000000e-03,
                    2.942000000000000e-03, 2.990000000000000e-03, 3.000000000000000e-03
                },
                new[]
                {
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03, 3.296703296703298e-03,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00,
                    3.296703296703297e+00, 3.296703296703297e+00, 3.296703296703297e+00
                }
            };
            AnalyzeTransient(tran, ckt, exports, references);
            DestroyExports(exports);
        }
コード例 #4
0
 public Wide(A a1, A a2, B b, Transient t) { _a1 = a1; _a2 = a2; _b = b; _t = t; }
コード例 #5
0
ファイル: MOS2Tests.cs プロジェクト: saugkim/aaa_SpiceSharp
        public void When_SwitchTransient_Expect_Spice3f5Reference()
        {
            /*
             * Simple MOS switch
             * The output voltage is expected to match the reference. Reference as simulated by Spice 3f5.
             */
            // Build circuit
            var ckt = new Circuit(
                new VoltageSource("V1", "in", "0", new Pulse(1, 5, 1e-6, 1e-9, 0.5e-6, 2e-6, 6e-6)),
                new VoltageSource("Vsupply", "vdd", "0", 3.3),
                new Resistor("R1", "out", "vdd", 100e3),
                CreateMOS2("M1", "out", "in", "0", "0", "NFET")
                .SetParameter("w", 1e-6)
                .SetParameter("l", 6e-6),
                CreateMOS2Model("NFET", "VTO = -1.44 KP = 8.64E-6 NSUB = 1e17 TOX = 20e-9")
                );

            // Create simulation
            var tran = new Transient("tran", 1e-9, 10e-6);

            // Create exports
            IExport <double>[] exports = { new GenericExport <double>(tran, () => tran.GetState <IIntegrationMethod>().Time), new RealVoltageExport(tran, "out") };

            // Create references
            var references = new double[2][];

            references[0] = new[]
            {
                0.000000000000000e+00, 1.000000000000000e-11, 2.000000000000000e-11, 4.000000000000000e-11,
                8.000000000000001e-11, 1.600000000000000e-10, 3.200000000000000e-10, 6.400000000000001e-10,
                1.280000000000000e-09, 2.560000000000000e-09, 5.120000000000001e-09, 1.024000000000000e-08,
                2.048000000000000e-08, 4.096000000000000e-08, 8.192000000000001e-08, 1.638400000000000e-07,
                3.276800000000000e-07, 5.276800000000000e-07, 7.276800000000000e-07, 9.276800000000000e-07,
                1.000000000000000e-06, 1.000100000000000e-06, 1.000125000000000e-06, 1.000175000000000e-06,
                1.000275000000000e-06, 1.000278125000000e-06, 1.000284375000000e-06, 1.000296875000000e-06,
                1.000300000000000e-06, 1.000306250000000e-06, 1.000318750000000e-06, 1.000343750000000e-06,
                1.000393750000000e-06, 1.000493750000000e-06, 1.000693750000000e-06, 1.001000000000000e-06,
                1.001040000000000e-06, 1.001120000000000e-06, 1.001280000000000e-06, 1.001600000000000e-06,
                1.002040869607452e-06, 1.002630387377420e-06, 1.003503894605074e-06, 1.005250909060382e-06,
                1.008744937970999e-06, 1.015732995792233e-06, 1.029709111434701e-06, 1.057661342719636e-06,
                1.113565805289506e-06, 1.225374730429247e-06, 1.425374730429247e-06, 1.625374730429247e-06,
                1.825374730429247e-06, 2.025374730429247e-06, 2.225374730429247e-06, 2.425374730429247e-06,
                2.625374730429247e-06, 2.825374730429246e-06, 3.001000000000000e-06, 3.021000000000000e-06,
                3.061000000000000e-06, 3.141000000000000e-06, 3.301000000000000e-06, 3.501000000000000e-06,
                3.520999999999999e-06, 3.560999999999999e-06, 3.641000000000000e-06, 3.801000000000000e-06,
                4.000999999999999e-06, 4.200999999999999e-06, 4.400999999999999e-06, 4.600999999999999e-06,
                4.800999999999999e-06, 5.000999999999998e-06, 5.200999999999998e-06, 5.400999999999998e-06,
                5.600999999999998e-06, 5.800999999999997e-06, 6.000999999999997e-06, 6.200999999999997e-06,
                6.400999999999997e-06, 6.600999999999997e-06, 6.800999999999996e-06, 7.000000000000000e-06,
                7.000100000000000e-06, 7.000125000000000e-06, 7.000175000000000e-06, 7.000275000000000e-06,
                7.000278125000001e-06, 7.000284375000000e-06, 7.000296875000000e-06, 7.000300000000001e-06,
                7.000306250000000e-06, 7.000318750000000e-06, 7.000343750000000e-06, 7.000393750000000e-06,
                7.000493750000001e-06, 7.000693750000000e-06, 7.001000000000000e-06, 7.001040000000000e-06,
                7.001119999999999e-06, 7.001280000000000e-06, 7.001599999999999e-06, 7.002040869607450e-06,
                7.002630387377417e-06, 7.003503894605071e-06, 7.005250909060378e-06, 7.008744937970990e-06,
                7.015732995792216e-06, 7.029709111434669e-06, 7.057661342719574e-06, 7.113565805289383e-06,
                7.225374730429002e-06, 7.425374730429002e-06, 7.625374730429001e-06, 7.825374730429001e-06,
                8.025374730429001e-06, 8.225374730429001e-06, 8.425374730429000e-06, 8.625374730429000e-06,
                8.825374730429000e-06, 9.000999999999999e-06, 9.020999999999999e-06, 9.060999999999998e-06,
                9.140999999999998e-06, 9.300999999999998e-06, 9.500999999999998e-06, 9.520999999999997e-06,
                9.560999999999997e-06, 9.640999999999996e-06, 9.800999999999996e-06, 9.999999999999999e-06
            };
            references[1] = new[]
            {
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 2.890995883050182e+00, 2.860889788871183e+00, 2.797358759613117e+00,
                2.656952623694448e+00, 2.652277000742125e+00, 2.642873246891359e+00, 2.623855584042447e+00,
                2.625531810664886e+00, 2.634981266431170e+00, 2.650057650004957e+00, 2.677324477875249e+00,
                2.727679218653770e+00, 2.807709256115712e+00, 2.895453785010935e+00, 2.890386972407389e+00,
                2.747482253586531e+00, 2.511507415947686e+00, 2.222521734973983e+00, 1.980842807129200e+00,
                1.907033664434709e+00, 1.897814592838963e+00, 1.898216736456195e+00, 1.898102476804415e+00,
                1.898170304423054e+00, 1.898117262851848e+00, 1.898164305207494e+00, 1.898119974323293e+00,
                1.898163015226234e+00, 1.898120603598022e+00, 1.898162692291108e+00, 1.898120833431374e+00,
                1.898162463711884e+00, 1.898121060761244e+00, 1.898162237622255e+00, 1.898121285615139e+00,
                1.898162013995106e+00, 1.898121508020025e+00, 1.898161777543783e+00, 1.924482579560164e+00,
                1.985322321439621e+00, 2.121613755164430e+00, 2.474985118851241e+00, 3.000536619998078e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00,
                2.890995883049932e+00, 2.860889788870923e+00, 2.797358759612839e+00, 2.656952623693816e+00,
                2.652277000741173e+00, 2.642873246891039e+00, 2.623855584042123e+00, 2.625531810665268e+00,
                2.634981266430673e+00, 2.650057650004801e+00, 2.677324477875317e+00, 2.727679218654353e+00,
                2.807709256116441e+00, 2.895453785010313e+00, 2.890386972407629e+00, 2.747482253587951e+00,
                2.511507415948750e+00, 2.222521734974616e+00, 1.980842807129419e+00, 1.907033664434766e+00,
                1.897814592838963e+00, 1.898216736456194e+00, 1.898102476804415e+00, 1.898170304423053e+00,
                1.898117262851849e+00, 1.898164305207493e+00, 1.898119974323294e+00, 1.898163015226234e+00,
                1.898120603598022e+00, 1.898162692291108e+00, 1.898120833431375e+00, 1.898162463711884e+00,
                1.898121060761244e+00, 1.898162237622255e+00, 1.898121285615139e+00, 1.898162013995105e+00,
                1.898121508020025e+00, 1.898161777543783e+00, 1.924482579560162e+00, 1.985322321439618e+00,
                2.121613755164425e+00, 2.474985118851233e+00, 3.000536619998073e+00, 3.000419418896398e+00,
                3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00, 3.000419418896398e+00
            };

            // Run test
            AnalyzeTransient(tran, ckt, exports, references);
            DestroyExports(exports);
        }
コード例 #6
0
 // Ensure that this lifestyle can only be safely used with transient components/consumers.
 internal override int DependencyLength(Container container) => Transient.DependencyLength(container);
コード例 #7
0
        /// <summary>
        /// Dump transient information in the console (used for debugging).
        /// </summary>
        /// <param name="tran">The transient analysis.</param>
        /// <param name="ckt">The circuit.</param>
        protected static void DumpTransientState(Transient tran, Circuit ckt)
        {
            var state  = tran.GetState <IIntegrationMethod>();
            var rstate = tran.GetState <IBiasingSimulationState>();

            Console.WriteLine("----------- Dumping transient information -------------");
            Console.WriteLine($"Base time: {state.BaseTime}");
            Console.WriteLine($"Target time: {state.Time}");
            Console.Write($"Last timesteps (current first):");
            for (var i = 0; i <= state.MaxOrder; i++)
            {
                Console.Write("{0}{1}", i > 0 ? ", " : "", state.GetPreviousTimestep(i));
            }
            Console.WriteLine();
            Console.WriteLine("Problem variable: {0}", tran.ProblemVariable);
            Console.WriteLine("Problem variable value: {0}", rstate.Solution[rstate.Map[tran.ProblemVariable]]);
            Console.WriteLine();

            // Dump the circuit contents
            Console.WriteLine("- Circuit contents");
            foreach (var entity in ckt)
            {
                Console.Write(entity.Name);
                if (entity is Component c)
                {
                    foreach (var node in c.Nodes)
                    {
                        Console.Write($"{node} ");
                    }
                }
                Console.WriteLine();
            }
            Console.WriteLine();

            // Dump the current iteration solution
            Console.WriteLine("- Solutions");
            Dictionary <int, string> variables = new Dictionary <int, string>();

            foreach (var variable in rstate.Map)
            {
                variables.Add(variable.Value, $"{variable.Value} - {variable.Key.Name} ({variable.Key.Unit}): {rstate.Solution[variable.Value]}");
            }
            for (var i = 0; i <= state.MaxOrder; i++)
            {
                var oldsolution = state.GetPreviousSolution(i);
                for (var k = 1; k <= variables.Count; k++)
                {
                    variables[k] += $", {oldsolution[k]}";
                }
            }
            for (var i = 0; i <= variables.Count; i++)
            {
                if (variables.TryGetValue(i, out var value))
                {
                    Console.WriteLine(value);
                }
                else
                {
                    Console.WriteLine($"Could not find variable for index {i}");
                }
            }
            Console.WriteLine();

            /*
             * // Dump the states used by the transient
             #if DEBUG
             * Console.WriteLine("- States");
             * var intstate = state.GetPreviousStates(0);
             * string[] output = new string[intstate.Length];
             * for (var i = 0; i < intstate.Length; i++)
             *  output[i] = $"{intstate[i]}";
             * for (var k = 1; k <= state.MaxOrder; k++)
             * {
             *  intstate = state.GetPreviousStates(k);
             *  for (var i = 0; i < intstate.Length; i++)
             *      output[i] += $", {intstate[i]}";
             * }
             * for (var i = 0; i < output.Length; i++)
             *  Console.WriteLine(output[i]);
             * Console.WriteLine();
             #endif
             */

            Console.WriteLine("------------------------ End of information ------------------------");
        }
コード例 #8
0
        public void When_TerminatedTransient_Expect_Reference()
        {
            // Build the circuit
            var ckt = new Circuit(
                new VoltageSource("V1", "in", "0", new Pulse(1, 5, 2e-6, 1e-9, 1e-9, 5e-6, 10e-6)),
                new Resistor("Rsource", "in", "a", 100),
                new LosslessTransmissionLine("T1", "a", "0", "b", "0", 50.0, 1e-6)
                .SetParameter("reltol", 0.5),
                new Resistor("Rload", "b", "0", 25)
                );

            // Build the simulation
            var tran    = new Transient("tran", 1e-6, 20e-6);
            var exports = new IExport <double>[]
            {
                new GenericExport <double>(tran, () => tran.GetState <IIntegrationMethod>().Time),
                new RealVoltageExport(tran, "a"),
                new RealVoltageExport(tran, "b")
            };

            // Reference inspected 2018-12-05
            var references = new[]
            {
                new[]
                {
                    0, 4E-09, 8E-09, 1.6E-08, 3.2E-08, 6.4E-08, 1.28E-07, 2.56E-07, 5.12E-07, 9.12E-07, 1.312E-06,
                    1.712E-06, 2E-06, 2.0001E-06, 2.0003E-06, 2.0007E-06, 2.001E-06, 2.00108E-06, 2.00124E-06,
                    2.00156E-06, 2.0022E-06, 2.00348E-06, 2.00604E-06, 2.01116E-06, 2.0214E-06, 2.04188E-06,
                    2.08284000000001E-06, 2.16476000000001E-06, 2.32860000000002E-06, 2.65628000000005E-06, 3E-06,
                    3.0001E-06, 3.0003E-06, 3.0007E-06, 3.001E-06, 3.00108E-06, 3.00124E-06, 3.00156E-06, 3.0022E-06,
                    3.00348E-06, 3.00604E-06, 3.01116E-06, 3.02139999999999E-06, 3.04187999999999E-06,
                    3.08283999999997E-06, 3.16475999999994E-06, 3.32859999999989E-06, 3.65627999999977E-06, 4E-06,
                    4.0001E-06, 4.0003E-06, 4.0007E-06, 4.001E-06, 4.00108E-06, 4.00124E-06, 4.00156E-06, 4.0022E-06,
                    4.00348E-06, 4.00604E-06, 4.01116E-06, 4.02139999999999E-06, 4.04187999999999E-06,
                    4.08283999999997E-06, 4.16475999999994E-06, 4.32859999999989E-06, 4.65627999999977E-06, 5E-06,
                    5.0001E-06, 5.0003E-06, 5.0007E-06, 5.001E-06, 5.00108E-06, 5.00124E-06, 5.00156E-06, 5.0022E-06,
                    5.00348E-06, 5.00604E-06, 5.01116E-06, 5.02139999999999E-06, 5.04187999999999E-06,
                    5.08283999999997E-06, 5.16475999999994E-06, 5.32859999999988E-06, 5.65627999999977E-06, 6E-06,
                    6.0001E-06, 6.0003E-06, 6.0007E-06, 6.001E-06, 6.00108E-06, 6.00124E-06, 6.00156E-06, 6.0022E-06,
                    6.00348E-06, 6.00604E-06, 6.01116E-06, 6.02139999999999E-06, 6.04187999999998E-06,
                    6.08283999999997E-06, 6.16475999999994E-06, 6.32859999999988E-06, 6.65627999999977E-06, 7E-06,
                    7.0001E-06, 7.0003E-06, 7.0007E-06, 7.001E-06, 7.0010000008E-06, 7.0010000024E-06, 7.0010000056E-06,
                    7.001000012E-06, 7.0010000248E-06, 7.0010000504E-06, 7.0010001016E-06, 7.001000204E-06,
                    7.0010004088E-06, 7.0010008184E-06, 7.0010016376E-06, 7.001003276E-06, 7.0010065528E-06,
                    7.0010131064E-06, 7.0010262136E-06, 7.001052428E-06, 7.0011048568E-06, 7.0012097144E-06,
                    7.0014194296E-06, 7.00183886E-06, 7.002E-06, 7.00208388608E-06, 7.00225165824E-06,
                    7.00258720256E-06, 7.0032582912E-06, 7.00460046848E-06, 7.00728482304E-06, 7.01265353216E-06,
                    7.0233909504E-06, 7.04486578688E-06, 7.08781545984E-06, 7.17371480576E-06, 7.3455134976E-06,
                    7.68911088128E-06, 8E-06, 8.0001E-06, 8.0003E-06, 8.0007E-06, 8.001E-06, 8.00108E-06, 8.00124E-06,
                    8.00156E-06, 8.002E-06, 8.002064E-06, 8.002192E-06, 8.002448E-06, 8.00296E-06, 8.003984E-06,
                    8.006032E-06, 8.01012799999999E-06, 8.01831999999998E-06, 8.03470399999996E-06,
                    8.06747199999992E-06, 8.13300799999984E-06, 8.26407999999969E-06, 8.52622399999938E-06,
                    8.92622399999937E-06, 9E-06, 9.0001E-06, 9.0003E-06, 9.0007E-06, 9.001E-06, 9.00108E-06,
                    9.00124E-06, 9.00156E-06, 9.002E-06, 9.002064E-06, 9.002192E-06, 9.002448E-06, 9.00296E-06,
                    9.003984E-06, 9.006032E-06, 9.01012799999999E-06, 9.01831999999998E-06, 9.03470399999996E-06,
                    9.06747199999992E-06, 9.13300799999984E-06, 9.26407999999969E-06, 9.52622399999938E-06,
                    9.92622399999938E-06, 1E-05, 1.00001E-05, 1.00003E-05, 1.00007E-05, 1.0001E-05, 1.000108E-05,
                    1.000124E-05, 1.000156E-05, 1.0002E-05, 1.0002064E-05, 1.0002192E-05, 1.0002448E-05, 1.000296E-05,
                    1.0003984E-05, 1.0006032E-05, 1.0010128E-05, 1.001832E-05, 1.0034704E-05, 1.00674719999999E-05,
                    1.01330079999998E-05, 1.02640799999997E-05, 1.05262239999994E-05, 1.09262239999994E-05, 1.1E-05,
                    1.10001E-05, 1.10003E-05, 1.10007E-05, 1.1001E-05, 1.100108E-05, 1.100124E-05, 1.100156E-05,
                    1.1002E-05, 1.1002064E-05, 1.1002192E-05, 1.1002448E-05, 1.100296E-05, 1.1003984E-05, 1.1006032E-05,
                    1.1010128E-05, 1.101832E-05, 1.1034704E-05, 1.10674719999999E-05, 1.11330079999998E-05,
                    1.12640799999997E-05, 1.15262239999994E-05, 1.19262239999994E-05, 1.2E-05, 1.20000000008E-05,
                    1.20000000024E-05, 1.20000000056E-05, 1.2000000012E-05, 1.20000000248E-05, 1.20000000504E-05,
                    1.20000001016E-05, 1.2000000204E-05, 1.20000004088E-05, 1.20000008184E-05, 1.20000016376E-05,
                    1.2000003276E-05, 1.20000065528E-05, 1.20000131064E-05, 1.20000262136E-05, 1.2000052428E-05,
                    1.20001048568E-05, 1.20002097144E-05, 1.20004194296E-05, 1.200083886E-05, 1.2001E-05,
                    1.200108388608E-05, 1.200125165824E-05, 1.200158720256E-05, 1.2002E-05, 1.2002067108864E-05,
                    1.2002201326592E-05, 1.2002469762048E-05, 1.200300663296E-05, 1.2004080374784E-05,
                    1.2006227858432E-05, 1.2010522825728E-05, 1.201911276032E-05, 1.2036292629504E-05,
                    1.2070652367872E-05, 1.2139371844608E-05, 1.227681079808E-05, 1.2551688705024E-05,
                    1.2951688705024E-05, 1.3E-05, 1.30001E-05, 1.30003E-05, 1.30007E-05, 1.3001E-05, 1.300108E-05,
                    1.300124E-05, 1.300156E-05, 1.3002E-05, 1.3002064E-05, 1.3002192E-05, 1.3002448E-05, 1.300296E-05,
                    1.3003984E-05, 1.3006032E-05, 1.3010128E-05, 1.301832E-05, 1.3034704E-05, 1.3067472E-05,
                    1.31330080000001E-05, 1.32640800000001E-05, 1.35262240000003E-05, 1.39262240000003E-05, 1.4E-05,
                    1.40001E-05, 1.40003E-05, 1.40007E-05, 1.4001E-05, 1.400108E-05, 1.400124E-05, 1.400156E-05,
                    1.4002E-05, 1.4002064E-05, 1.4002192E-05, 1.4002448E-05, 1.400296E-05, 1.4003984E-05, 1.4006032E-05,
                    1.4010128E-05, 1.401832E-05, 1.4034704E-05, 1.4067472E-05, 1.41330080000001E-05,
                    1.42640800000001E-05, 1.45262240000003E-05, 1.49262240000003E-05, 1.5E-05, 1.50001E-05, 1.50003E-05,
                    1.50007E-05, 1.5001E-05, 1.500108E-05, 1.500124E-05, 1.500156E-05, 1.5002E-05, 1.5002064E-05,
                    1.5002192E-05, 1.5002448E-05, 1.500296E-05, 1.5003984E-05, 1.5006032E-05, 1.5010128E-05,
                    1.501832E-05, 1.5034704E-05, 1.5067472E-05, 1.51330080000001E-05, 1.52640800000001E-05,
                    1.55262240000003E-05, 1.59262240000003E-05, 1.6E-05, 1.60001E-05, 1.60003E-05, 1.60007E-05,
                    1.6001E-05, 1.600108E-05, 1.600124E-05, 1.600156E-05, 1.6002E-05, 1.6002064E-05, 1.6002192E-05,
                    1.6002448E-05, 1.600296E-05, 1.6003984E-05, 1.6006032E-05, 1.6010128E-05, 1.601832E-05,
                    1.6034704E-05, 1.60674719999999E-05, 1.61330079999998E-05, 1.62640799999997E-05,
                    1.65262239999994E-05, 1.69262239999994E-05, 1.7E-05, 1.70001E-05, 1.70003E-05, 1.70007E-05,
                    1.7001E-05, 1.700108E-05, 1.700124E-05, 1.700156E-05, 1.7002E-05, 1.70020000008E-05,
                    1.70020000024E-05, 1.70020000056E-05, 1.7002000012E-05, 1.70020000248E-05, 1.70020000504E-05,
                    1.70020001016E-05, 1.7002000204E-05, 1.70020004088E-05, 1.70020008184E-05, 1.70020016376E-05,
                    1.7002003276E-05, 1.70020065528E-05, 1.70020131064E-05, 1.70020262136E-05, 1.7002052428E-05,
                    1.70021048568E-05, 1.70022097144E-05, 1.70024194296E-05, 1.700283886E-05, 1.70036777208E-05,
                    1.70053554424E-05, 1.70087108856E-05, 1.7015421772E-05, 1.70288435448E-05, 1.70556870904E-05,
                    1.71093741816E-05, 1.7216748364E-05, 1.74314967288E-05, 1.78314967288E-05, 1.8E-05, 1.80001E-05,
                    1.80003E-05, 1.80007E-05, 1.8001E-05, 1.800108E-05, 1.800124E-05, 1.800156E-05, 1.8002E-05,
                    1.8002064E-05, 1.8002192E-05, 1.8002448E-05, 1.800296E-05, 1.8003984E-05, 1.8006032E-05,
                    1.8010128E-05, 1.801832E-05, 1.8034704E-05, 1.80674719999999E-05, 1.81330079999998E-05,
                    1.82640799999997E-05, 1.85262239999994E-05, 1.89262239999994E-05, 1.9E-05, 1.90001E-05, 1.90003E-05,
                    1.90007E-05, 1.9001E-05, 1.900108E-05, 1.900124E-05, 1.900156E-05, 1.9002E-05, 1.9002064E-05,
                    1.9002192E-05, 1.9002448E-05, 1.900296E-05, 1.9003984E-05, 1.9006032E-05, 1.9010128E-05,
                    1.901832E-05, 1.9034704E-05, 1.90674719999999E-05, 1.91330079999998E-05, 1.92640799999997E-05,
                    1.95262239999994E-05, 1.99262239999994E-05, 2E-05
                },
                new[]
                {
                    0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.333333333333061,
                    0.599999999999747, 1.13333333333312, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333,
                    1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333333, 1.53333333333308,
                    1.47407407407394, 1.35555555555542, 1.11851851851836, 0.940740740740741, 0.940740740740741,
                    0.940740740740741, 0.940740740740741, 0.940740740740741, 0.94074074074074, 0.940740740740741,
                    0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741,
                    0.940740740740741, 0.940740740740741, 0.940740740740741, 0.94074074074074, 0.940740740740741,
                    0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741,
                    0.94074074074074, 0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741,
                    0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741, 0.940740740740741,
                    0.940740740740768, 0.947325102880672, 0.960493827160509, 0.986831275720182, 1.00658436213992,
                    1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992,
                    1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992,
                    1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658436213992,
                    1.00658436213992, 1.00658436213992, 1.00658436213992, 1.00658329547472, 1.00658116214205,
                    1.00657689547447, 1.00656836214155, 1.00655129547573, 1.00651716214182, 1.00644889547626,
                    1.00631236214288, 1.00603929547613, 1.00549316214262, 1.00440089547561, 1.00221636214158,
                    0.997847295475777, 0.989109162141918, 0.971632895474197, 0.936680362141015, 0.866775295474653,
                    0.726965162141927, 0.447344895474217, -0.111895637858944, -0.326748971193416, -0.326748971193416,
                    -0.326748971193416, -0.326748971193416, -0.326748971193416, -0.326748971193416, -0.326748971193416,
                    -0.326748971193416, -0.326748971193416, -0.326748971193416, -0.326748971193416, -0.326748971193416,
                    -0.326748971193416, -0.326748971193416, -0.326748971193425, -0.327480566986748, -0.328943758573402,
                    -0.331870141746693, -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658,
                    -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658,
                    -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658,
                    -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658,
                    -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658, -0.334064929126658,
                    -0.286657521719447, -0.19184270690558, -0.00221307727503345, 0.258527663465935, 0.258527663465935,
                    0.258527663465935, 0.258527663465935, 0.258527663465935, 0.258527663465935, 0.258527663465935,
                    0.258527663465935, 0.258527663465935, 0.258527663465935, 0.258527663465935, 0.258527663465935,
                    0.258527663465935, 0.258527663465935, 0.258527663465936, 0.258527663465936, 0.258608951887417,
                    0.258771528730378, 0.259096682416299, 0.25934054768074, 0.25934054768074, 0.25934054768074,
                    0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074,
                    0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074,
                    0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074,
                    0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074, 0.25934054768074,
                    0.25934054768074, 0.254073057968828, 0.243538078545065, 0.222468119697226, 0.193496926281563,
                    0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563,
                    0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563,
                    0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563, 0.193496926281563,
                    0.193497992876768, 0.193500126065211, 0.193504392444163, 0.193512925199807, 0.193529990711094,
                    0.193564121735927, 0.193632383783328, 0.19376890788037, 0.194041956074377, 0.194588052462084,
                    0.195680245236266, 0.197864630779708, 0.202233401844642, 0.210970943898004, 0.228446027689667,
                    0.263396190961211, 0.333296522233804, 0.473097184778992, 0.752698509871626, 1.31190116005464,
                    1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658,
                    1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658,
                    1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658,
                    1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658,
                    1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52673993914658, 1.52732521578124,
                    1.52849576905055, 1.5308368755892, 1.53405589707983, 1.53405589707983, 1.53405589707983,
                    1.53405589707983, 1.53405589707983, 1.53405589707983, 1.53405589707983, 1.53405589707983,
                    1.53405589707983, 1.53405589707983, 1.53405589707983, 1.53405589707983, 1.53405589707983,
                    1.53405589707983, 1.53405589707983, 1.53405589707983, 1.4747976413812, 1.35628112998394,
                    1.11924810718941, 0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824,
                    0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824,
                    0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824,
                    0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824,
                    0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824, 0.941473340094824,
                    0.941408309357639, 0.941278247883273, 0.941018124934534, 0.94066045588002, 0.94066045588002,
                    0.94066045588002, 0.94066045588002, 0.94066045588002, 0.94066045588002, 0.94066045588002,
                    0.94066045588002, 0.94066045588002, 0.94066045588002, 0.94066045588002, 0.94066045588002,
                    0.94066045588002, 0.94066045588002, 0.94066045588002, 0.94066045588002, 0.9472447065132,
                    0.960413207779563, 0.986750210312288, 1.00650296221157, 1.00650296221169, 1.00650296221169,
                    1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169,
                    1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169,
                    1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169,
                    1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169, 1.00650296221169,
                    1.00650296220943, 0.899843521181798, 0.686524639122024, 0.259886875006992, -0.326740050653336,
                    -0.326740050653336, -0.32674005062581, -0.326740050589114, -0.32674005051573, -0.326740050369008,
                    -0.32674005007574, -0.326740049489908, -0.326740048321064, -0.326740045994649, -0.326740041386918,
                    -0.326740032351852, -0.326740015003305, -0.326739983192546, -0.326739931116368, -0.326739873145377,
                    -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336,
                    -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336,
                    -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336, -0.326740050653336,
                    -0.326740050653336, -0.327471634057022, -0.328934800864396, -0.331861134479143, -0.334055884690175,
                    -0.334055884690188, -0.334055884690188, -0.334055884690188, -0.334055884690188, -0.334055884690188,
                    -0.334055884690187, -0.334055884690188, -0.334055884690188, -0.334055884690188, -0.334055884690187,
                    -0.334055884690188, -0.334055884690188, -0.334055884690188, -0.334055884690188, -0.334055884690187,
                    -0.334055884690188, -0.334055884690187, -0.334055884690188, -0.334055884690188, -0.334055884690188,
                    -0.334055884690188, -0.334055884690188, -0.334055884689184, -0.286649280131082, -0.191836071012873,
                    -0.00220965277846058, 0.258526672294815, 0.258526672294815, 0.258526672294815, 0.258526672294815,
                    0.258526672294815, 0.258526672294815, 0.258526672294815, 0.258526672294815, 0.258526672294815,
                    0.258526672294815, 0.258526672294815, 0.258526672294815, 0.258526672294815, 0.258526672294815,
                    0.258526672294815, 0.258526672294815
                },
                new[]
                {
                    0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2,
                    0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.200000000000376, 0.288888888888707,
                    0.466666666666875, 0.822222222222457, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889,
                    1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888889, 1.08888888888885,
                    1.07901234567899, 1.05925925925924, 1.01975308641973, 0.990123456790124, 0.990123456790124,
                    0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790123, 0.990123456790124,
                    0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124,
                    0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790123, 0.990123456790124,
                    0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124,
                    0.990123456790123, 0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124,
                    0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124, 0.990123456790124,
                    0.990123456790128, 0.991220850480112, 0.993415637860085, 0.997805212620031, 1.00109739368999,
                    1.00109739368999, 1.00109739923455, 1.00109740662677, 1.00109742140946, 1.00109745096773,
                    1.00109751005587, 1.00109762811862, 1.00109786378988, 1.0010983333155, 1.00109926509917,
                    1.00110109959617, 1.00110465230883, 1.00111129260883, 1.0011227127075, 1.00113811089958,
                    1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999,
                    1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999,
                    1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999,
                    1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999,
                    1.00109739368999, 1.00109739368999, 1.00109739368999, 1.00109739368999, 0.929986282579171,
                    0.787764060358371, 0.50331961591255, 0.112208504801097, 0.112208504801097, 0.112208504801097,
                    0.112208504801097, 0.112208504801097, 0.112208504801097, 0.112208504801097, 0.112208504801097,
                    0.112208504801097, 0.112208504801097, 0.112208504801097, 0.112208504801097, 0.112208504801097,
                    0.112208504801097, 0.112208504801096, 0.112208504801096, 0.112086572168875, 0.111842706904433,
                    0.111354976375551, 0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889,
                    0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889,
                    0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889,
                    0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889,
                    0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889, 0.11098917847889,
                    0.118890413046759, 0.134692882182403, 0.166297820454161, 0.209754610577656, 0.209754610577656,
                    0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209754610577656,
                    0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209754610577656,
                    0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209754610577656, 0.209768158647903,
                    0.209795254788396, 0.209849447069383, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123, 0.209890091280123,
                    0.209890091280123, 0.209890091280123, 0.209890091280123, 0.208969530731444, 0.207128409634057,
                    0.20344616743925, 0.198916154380261, 0.198916154380261, 0.198916154380261, 0.198916154380261,
                    0.198916154380261, 0.198916154380261, 0.198916154380261, 0.198916154380261, 0.198916154380261,
                    0.198916154380261, 0.198916154380261, 0.198916154380261, 0.198916154380261, 0.198916154380261,
                    0.198916154380261, 0.198916154380261, 0.287803537928206, 0.465578305024096, 0.821127839215878,
                    1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776,
                    1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776,
                    1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776,
                    1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776,
                    1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08778998985776, 1.08788753596354,
                    1.08808262817509, 1.0884728125982, 1.08900931617997, 1.08900931617997, 1.08900931617997,
                    1.08900931617997, 1.08900931617997, 1.08900931617997, 1.08900931617997, 1.08900931617997,
                    1.08900931617997, 1.08900931617997, 1.08900931617997, 1.08900931617997, 1.08900931617997,
                    1.08900931617997, 1.08900931617997, 1.08900931617997, 1.0791329402302, 1.05938018833066,
                    1.01987468453157, 0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471,
                    0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471,
                    0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471,
                    0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471,
                    0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471, 0.990245556682471,
                    0.990234718226274, 0.990213041313879, 0.99016968748909, 0.990110075980004, 0.990110075980003,
                    0.990110075980003, 0.990110075980003, 0.990110075980003, 0.990110075980003, 0.990110075980003,
                    0.990110075980003, 0.990110075980003, 0.990110075980003, 0.990110075980003, 0.990110075980003,
                    0.990110075980003, 0.990110075980003, 0.990110075980003, 0.990110075980003, 0.991207451085534,
                    0.993402201296594, 0.997791701718715, 1.00108382703526, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528, 1.00108382703528,
                    1.00108382703528, 1.00108382703378, 0.929973920196624, 0.787754106519309, 0.503314479167691,
                    0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777,
                    0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777,
                    0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777, 0.112209991557777,
                    0.112209991557777, 0.112088060990496, 0.111844199855934, 0.111356477586809, 0.110990685884971,
                    0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969,
                    0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969,
                    0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969,
                    0.110990685884969, 0.110990685884969, 0.110990685884969, 0.110990685884969
                }
            };

            // Analyze
            AnalyzeTransient(tran, ckt, exports, references);
            DestroyExports(exports);
        }
コード例 #9
0
 public TestLifeTimeModel(Transient transient, Scoped scoped, Singleton singleton)
 {
     Transient = transient;
     Scoped    = scoped;
     Singleton = singleton;
 }
コード例 #10
0
 public Wide(A a1, A a2, B b, Transient t)
 {
     _a1 = a1; _a2 = a2; _b = b; _t = t;
 }
コード例 #11
0
        public void When_BJTTransient_Expect_Spice3f5Reference()
        {
            /*
             * Transient analysis of a BJT common emitter amplifier
             * Output voltage should behave like the reference. Reference is from Spice 3f5.
             */
            // Create circuit
            var ckt = new Circuit(
                new VoltageSource("V1", "in", "0", new Pulse(0, 5, 1e-6, 1e-9, 0.5e-6, 2e-6, 6e-6)),
                new VoltageSource("Vsupply", "vdd", "0", 5.0),
                new Resistor("R1", "vdd", "out", 10.0e3),
                new Resistor("R2", "in", "b", 1.0e3),
                CreateBJT("Q1", "out", "b", "0", "0", "mjd44h11"),
                CreateBJTModel("mjd44h11", string.Join(" ",
                                                       "IS = 1.45468e-14 BF = 135.617 NF = 0.85 VAF = 10",
                                                       "IKF = 5.15565 ISE = 2.02483e-13 NE = 3.99964 BR = 13.5617",
                                                       "NR = 0.847424 VAR = 100 IKR = 8.44427 ISC = 1.86663e-13",
                                                       "NC = 1.00046 RB = 1.35729 IRB = 0.1 RBM = 0.1",
                                                       "RE = 0.0001 RC = 0.037687 XTB = 0.90331 XTI = 1",
                                                       "EG = 1.20459 CJE = 3.02297e-09 VJE = 0.649408 MJE = 0.351062",
                                                       "TF = 2.93022e-09 XTF = 1.5 VTF = 1.00001 ITF = 0.999997",
                                                       "CJC = 3.0004e-10 VJC = 0.600008 MJC = 0.409966 XCJC = 0.8",
                                                       "FC = 0.533878 CJS = 0 VJS = 0.75 MJS = 0.5",
                                                       "TR = 2.73328e-08 PTF = 0 KF = 0 AF = 1"))
                );

            // Create simulation
            var tran = new Transient("tran", 1e-9, 10e-6);

            // Create exports
            Export <double>[] exports =
            {
                new GenericExport <double>(tran, () => tran.Method.Time),
                new RealVoltageExport(tran,      "out")
            };

            // Create references
            var references = new[]
            {
                new[]
                {
                    0.000000000000000e+00, 1.000000000000000e-11, 2.000000000000000e-11, 4.000000000000000e-11,
                    8.000000000000001e-11, 1.600000000000000e-10, 3.200000000000000e-10, 6.400000000000001e-10,
                    1.280000000000000e-09, 2.560000000000000e-09, 5.120000000000001e-09, 1.024000000000000e-08,
                    2.048000000000000e-08, 4.096000000000000e-08, 8.192000000000001e-08, 1.638400000000000e-07,
                    3.276800000000000e-07, 5.276800000000000e-07, 7.276800000000000e-07, 9.276800000000000e-07,
                    1.000000000000000e-06, 1.000100000000000e-06, 1.000300000000000e-06, 1.000700000000000e-06,
                    1.001000000000000e-06, 1.001049696459596e-06, 1.001149089378787e-06, 1.001347875217170e-06,
                    1.001745446893937e-06, 1.002540590247469e-06, 1.004130876954533e-06, 1.007311450368662e-06,
                    1.013672597196919e-06, 1.026394890853435e-06, 1.051839478166465e-06, 1.102728652792526e-06,
                    1.204507002044648e-06, 1.404507002044648e-06, 1.604507002044648e-06, 1.795021509131585e-06,
                    1.948987782233362e-06, 2.108098212473162e-06, 2.308098212473162e-06, 2.508098212473162e-06,
                    2.708098212473161e-06, 2.908098212473161e-06, 3.001000000000000e-06, 3.021000000000000e-06,
                    3.061000000000000e-06, 3.141000000000000e-06, 3.301000000000000e-06, 3.501000000000000e-06,
                    3.520999999999999e-06, 3.560999999999999e-06, 3.641000000000000e-06, 3.801000000000000e-06,
                    3.979595922338221e-06, 4.179595922338221e-06, 4.379595922338221e-06, 4.579595922338221e-06,
                    4.779595922338220e-06, 4.979595922338220e-06, 5.179595922338220e-06, 5.379595922338220e-06,
                    5.579595922338220e-06, 5.779595922338219e-06, 5.979595922338219e-06, 6.179595922338219e-06,
                    6.379595922338219e-06, 6.579595922338218e-06, 6.779595922338218e-06, 6.979595922338218e-06,
                    7.000000000000000e-06, 7.000100000000000e-06, 7.000300000000000e-06, 7.000700000000000e-06,
                    7.001000000000000e-06, 7.001079999999999e-06, 7.001239999999999e-06, 7.001559999999999e-06,
                    7.002199999999999e-06, 7.003479999999999e-06, 7.006039999999998e-06, 7.011159999999996e-06,
                    7.021399999999993e-06, 7.041879999999985e-06, 7.082839999999971e-06, 7.164759999999943e-06,
                    7.306390803451833e-06, 7.318457007126392e-06, 7.342589414475512e-06, 7.390854229173751e-06,
                    7.487383858570229e-06, 7.608189185587905e-06, 7.799377569976748e-06, 7.979897663539773e-06,
                    8.179897663539773e-06, 8.379897663539772e-06, 8.579897663539772e-06, 8.779897663539772e-06,
                    8.979897663539772e-06, 9.000999999999999e-06, 9.020999999999999e-06, 9.060999999999998e-06,
                    9.140999999999998e-06, 9.300999999999998e-06, 9.500999999999998e-06, 9.520999999999997e-06,
                    9.560999999999997e-06, 9.640999999999996e-06, 9.800999999999996e-06, 9.979847833014078e-06,
                    9.999999999999999e-06
                },
                new[]
                {
                    4.999999919200253e+00, 4.999999919200253e+00, 4.999999919200256e+00, 4.999999919200265e+00,
                    4.999999919200269e+00, 4.999999919200270e+00, 4.999999919200274e+00, 4.999999919200310e+00,
                    4.999999919200295e+00, 4.999999919200242e+00, 4.999999919200256e+00, 4.999999919200442e+00,
                    4.999999919200887e+00, 4.999999919202219e+00, 4.999999919203312e+00, 4.999999919203345e+00,
                    4.999999919206253e+00, 4.999999919222164e+00, 4.999999919212636e+00, 4.999999919216738e+00,
                    4.999999919222017e+00, 5.000124015022816e+00, 5.000449651951924e+00, 5.001329576247615e+00,
                    5.002151293341414e+00, 5.002257929417378e+00, 5.002438724039524e+00, 5.002759846404913e+00,
                    5.003418712876405e+00, 5.004723224530464e+00, 5.007336318800409e+00, 5.012530149220850e+00,
                    5.022833882134534e+00, 5.042977334556558e+00, 5.081660920713526e+00, 5.152804197265928e+00,
                    5.271902529014626e+00, 5.255961725511093e+00, 1.875617294698409e+00, 1.655361247606981e-02,
                    9.556306793041053e-03, 8.143095659325651e-03, 7.985097494789570e-03, 7.763414179333034e-03,
                    7.883787330306542e-03, 7.763690924611548e-03, 7.859821345931772e-03, 7.719451331631350e-03,
                    7.459392533437188e-03, 7.089071427095065e-03, 6.635610778872991e-03, 6.022467496745492e-03,
                    6.343863966130725e-03, 7.492855234706399e-03, 1.052275592393182e-02, 2.183241153816638e-02,
                    5.191584805748978e-02, 1.338907237316577e-01, 2.754693238928807e-01, 4.714359645347004e-01,
                    7.100201039096334e-01, 9.802510338232866e-01, 1.271772571759655e+00, 1.575010844052070e+00,
                    1.881305068174714e+00, 2.183111109781683e+00, 2.474135133404021e+00, 2.749486790768636e+00,
                    3.005688322429076e+00, 3.240642802699120e+00, 3.453443398605113e+00, 3.644179134223966e+00,
                    3.662399421927875e+00, 3.662585980380271e+00, 3.663068357316088e+00, 3.664214225053304e+00,
                    3.665186716351549e+00, 3.665385093496764e+00, 3.665735976785826e+00, 3.666393731870234e+00,
                    3.667733083761534e+00, 3.670388572950689e+00, 3.675700454677043e+00, 3.686242649710791e+00,
                    3.707066783973132e+00, 3.747384438419909e+00, 3.816652716661827e+00, 3.570754348234623e+00,
                    1.137869825844853e+00, 9.017578147962754e-01, 5.119216821757923e-01, 5.719297855302363e-02,
                    1.040524054037467e-02, 1.031992808124030e-02, 7.390171637647398e-03, 8.473790636603534e-03,
                    7.323373000914274e-03, 8.259971607174201e-03, 7.429929491719251e-03, 8.155605287781932e-03,
                    7.520712383840975e-03, 7.883804956866466e-03, 7.726158297204401e-03, 7.454864159210270e-03,
                    7.091777207495147e-03, 6.631670831021268e-03, 6.030619162773506e-03, 6.347620862065411e-03,
                    7.491968104873916e-03, 1.052291098192216e-02, 2.183098313886757e-02, 5.198925048548046e-02,
                    5.739702363159462e-02
                }
            };

            // Run simulation
            AnalyzeTransient(tran, ckt, exports, references);
            DestroyExports(exports);
        }
コード例 #12
0
 public LifeStyleService(Singelton singelton, Scoped scoped, Transient transient)
 {
     _singelton = singelton;
     _scoped    = scoped;
     _transient = transient;
 }
コード例 #13
0
 public TestDependencyModule(Singleton singleton, Transient transient)
 {
     this.Singleton = singleton;
     this.Transient = transient;
 }