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); }); }
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); }); }