Example #1
0
        private void RunSimulation(SpiceNetlistReaderResult model, BaseSimulation simulation, int index)
        {
            var simulationStats = new SimulationStatistics()
            {
                SimulationNo   = index,
                SimulationName = simulation.Name
            };

            simulation.Run(model.Circuit);

            simulationStats.Iterations           = simulation.Statistics.Get <BaseSimulationStatistics>().Iterations;
            simulationStats.SolveTime            = simulation.Statistics.Get <BaseSimulationStatistics>().SolveTime.ElapsedMilliseconds;
            simulationStats.LoadTime             = simulation.Statistics.Get <BaseSimulationStatistics>().LoadTime.ElapsedMilliseconds;
            simulationStats.ReorderTime          = simulation.Statistics.Get <BaseSimulationStatistics>().ReorderTime.ElapsedMilliseconds;
            simulationStats.BehaviorCreationTime = simulation.Statistics
                                                   .Get <SpiceSharp.Simulations.SimulationStatistics>().BehaviorCreationTime.ElapsedMilliseconds;

            if (simulation is TimeSimulation)
            {
                simulationStats.Timepoints          = simulation.Statistics.Get <TimeSimulationStatistics>().TimePoints;
                simulationStats.TransientIterations =
                    simulation.Statistics.Get <TimeSimulationStatistics>().TransientIterations;
                simulationStats.TransientTime = simulation.Statistics.Get <TimeSimulationStatistics>().TransientTime
                                                .ElapsedMilliseconds;
                simulationStats.AcceptedTimepoints = simulation.Statistics.Get <TimeSimulationStatistics>().Accepted;
                simulationStats.RejectedTimepoints = simulation.Statistics.Get <TimeSimulationStatistics>().Rejected;
            }

            Dispatcher.Invoke(() =>
            {
                Stats.Add(simulationStats);
            });
        }
Example #2
0
        private void RunSimulation(SpiceSharpModel model, Simulation simulation, int index)
        {
            var simulationStats = new SimulationStatistics()
            {
                SimulationNo   = index,
                SimulationName = simulation.Name
            };

            simulation.Run(model.Circuit);

            simulationStats.BehaviorCreationTime = simulation.Statistics.BehaviorCreationTime.ElapsedMilliseconds;
            simulationStats.ExecutionTime        = simulation.Statistics.ExecutionTime.ElapsedMilliseconds;
            simulationStats.FinishTime           = simulation.Statistics.FinishTime.ElapsedMilliseconds;
            simulationStats.SetupTime            = simulation.Statistics.SetupTime.ElapsedMilliseconds;
            simulationStats.ValidationTime       = simulation.Statistics.ValidationTime.ElapsedMilliseconds;

            Dispatcher.Invoke(() =>
            {
                Stats.Add(simulationStats);
            });
        }