Patent Document ID: 8219374
Application ID: 12035137
Patent Flag: 1

Claim One:
1. A GUI (graphical user interface) system comprising: a processor; a memory; a simulator for a user to draw a new electrical circuit containing components on a display, each component including one or more of a label, a value and a unit; a circuit checker to check electrical connections in the new electrical circuit for checking for errors in the new electrical circuit and notifying the user when error are found; a netlist generator for generating a netlist of nodes and components from the error checked electrical circuit; a netlist editor for receiving the netlist of nodes and components; an netlist-to-schematic algorithm to convert the netlist of nodes and components to a test schematic, the netlist-to-schematic algorithm consisting of: a netlist interpreter for interpreting netlist text from a netlist to identified components names, nodes and attributes; a netlist checker for checking the netlist for common circuit and netlist errors; a component generator for building a database of identified components associated with nodes and attributes of the checked netlist; and a connection lines optimizer for drawing connection lines from the database of the identified components to generate an error free schematic; and a symbolic solver engine to simulate the circuit shown in the test schematic, wherein the GUI interface is used as an online circuit simulator, the symbolic solver engine consisting of: a netlist parser module to convert the netlist into a corresponding symbolic indefinite admittance matrix and storing values for circuit components, inputs and component parameters, the netlist parser module consisting of: for each component, a first set of parser instructions to eliminate the component units by substituting their units; a second set of parser instructions to determine a component type; a third set of parser instructions to populate a symbolic Y-matrix according to the component type; and a fourth set of parser instructions to save a parameter name and value in source object; a symbolic module to construct symbolic variables, aggregating the symbolic variables into expressions and manipulating the symbolic variables; a time domain module to produce a time domain expression from the results of the symbolic module; a switching module to collect information about a switching component in the circuit and the state of the switching component with respect to time; an output consisting of at least one of a symbolic transfer function, a time domain response as an expression, the time domain as a plot or a frequency response plot; and a plotter module to plot the time and frequency domain of the simulated results.