An elegant circuitry simulation website
An elegant circuitry simulation website.
Overall Status: Under Development
Using TypeScript and working on several parts:
Main Circuit Library:
Circuit
: Main wrapper for the circuit simulationCircuit.Unit
: Circuit grid system represented by circuit-unit to place different components or wireCircuit.Electronic
: Electronic component classCircuit.Electronic.Unit
: Electronic component unit mapping with respect to the grid circuit unitCircuit.Graph
: The graph data structure to represent the circuit (converted from grid of Circuit.Unit
)Circuit.GaussianElimination
: Implementation of Gaussian Elimination method for determine the result of multi-variable equations by representing and solving the matrixCircuit.Equation
: Construct node-voltage equationCircuit.SimultaneousEquations
: Collection of node-voltage equations and solve by Gaussian EliminationCircuit.Simulation
: The circuit simulation algorithm part using Nodal Voltage Analysis which consists of several phases including:
Circuit.Graph
and convert voltage source related Circuit.Graph.Node
into a single super node with different biased voltageCircuit.Graph.Edge
) current values (based on KCL from Kirchhoff's Circuit Law)Using Jest test framework to write Unit/Integration tests
[Will Implement After Completing the Circuit Library] Frontend UI: Using Next.JS framework, Redux (with TypeScript)