Thursday, February 5, 2009

The Sequence

Here is the sequence of operations from the time the program is invoked to the time it is ready to process ResQueries.
  1. The Main method loads the XML file containing the netlist. The DomParser validates the DOM and parses it to create CircuitElement objects. The CircuitElements are then packaged in a Circuit object.

  2. The Main method loads the XML file containing the analysis command. The DomParser validates the DOM and parses it to create an AnalysisCommand object.

  3. The Analyst numbers the elements that do not have an admittance description.

  4. The Analyst carries out the requested analysis.

    (A)
    If the User Has Requested
    Operating Point Analysis


    a) The circuit is formulated. Each CircuitElement is responsible for stamping its own contribution.

    b) The linear equations are solved by the LinearEquations class.

    (B)
    If the User Has Requested
    DC Sweep Analysis

    a) The circuit is formulated with the value of the variable DC source (or SweepableSource as I call it in my program) set to the starting value specified in the AnalysisCommand object.

    b) The linear equations are solved by the LinearEquations class.

    c) If the SweepableSource has attained the stopping value, then the analysis step has ended.

    d) The SweepableSource increments its value and changes its entry in the RHS vector to reflect the new value.

    e) Go to the step b.

    Note that LU factorization of linear equations will be performed only once when the equations are solved for the first time. The change in the SweepableSource value does not cause any changes in the coefficients matrix. Only one element in the RHS vector is changed.


    Steps of DC Sweep Analysis

  5. After the analysis step, the Circuit object that now contains the analysis results will be wrapped by a ResQueryProcessor object. The ResQueryProcessor object will be used by the UIManager to get the analysis results requested by the user.

  6. The Main method starts the UIManager and the interaction with the user begins.

No comments: