Как написать программу для моделирования электрических цепей?

Изучаете язык SPICE.
Делаете парсер языка в топологию и стоимости путей (номиналы компонентов).
Парсите топологию в матрицу (или - матрицы?) на основе закона Ома и правил Кирхгофа.
Опционально - упрощаете матрицу или топологию на основе замены "звезда<>треугольник".
Решаете матрицу(ы).
Смотрите исходный код ngspice и бьётесь головой о стол.
Повторяете до достижения приемлемого результата.


P.S. Если Вы - программист, вперёд!
Если электронщик - выберите программу по душе и изучайте её. P.P.S. В том смысле, что не надо делать инструмент, если не планируете заниматься их изготовлением.
А нафига, если есть  falstad.com?