/// <summary> /// Export the data /// </summary> /// <param name="ckt"></param> public virtual void Export(Circuit ckt) { SimulationData data = new SimulationData(ckt); ExportSimulationData?.Invoke(this, data); }
/// <summary> /// Execute the simulation /// </summary> /// <param name="ckt">The circuit to be used</param> /// <param name="reset">Restart the simulation when true</param> public abstract void Execute(Circuit ckt);
/// <summary> /// Calculate a prediction based on the current timestep /// </summary> /// <param name="ckt">The circuit</param> public abstract void Predict(Circuit ckt);
/// <summary> /// Compute the coefficients needed for integration /// </summary> /// <param name="ckt">The circuit</param> public abstract void ComputeCoefficients(Circuit ckt);
/// <summary> /// Truncate to relax timestep if possible /// </summary> /// <param name="ckt">The circuit</param> /// <returns></returns> public abstract double Truncate(Circuit ckt);