Установка потенциала земли в форме матрицы узлового анализа

У меня есть общий вопрос, касающийся матричной формулировки узлового анализа. Я исследую большую сеть резисторов с десятками тысяч резисторов и несколькими независимыми источниками тока.

Я настроил матрицу проводимости, как обычно, с положительной суммой всех проводимостей, ведущих к узлу на главной диагонали, и отрицательными проводимостями между узлами на соответствующих внедиагональных позициях.

Естественно, матрица проводимости сингулярна, так как опорный потенциал не выбран, т.е. я не определил «землю». Это оставляет мне бесконечное количество решений системы линейных уравнений. Для очень больших матриц это кажется проблемой для моего программного обеспечения, поэтому мне интересно, как я могу легко исправить один из потенциалов на 0 В и, возможно, решить мою проблему.

Итак, я уже построил большую разреженную матрицу проводимости и настроил вектор тока. Как исправить одно из неизвестных напряжений?

Продемонстрируйте свою проблему с сетью из 3 резисторов, пожалуйста...
Вы даже можете увидеть проблему с одним резистором с источником тока. Вы получите потенциал с обеих сторон резистора, но имеет значение только напряжение, т.е. разность потенциалов. Если вы используете матричный алгоритм, также описанный здесь , и применяете его ко всем узлам, ваша точка отсчета не определяется.
Вы не должны писать уравнение KCL в опорном узле. Это устраняет проблему.

Ответы (1)

Обычный подход состоит в том, чтобы просто не писать уравнение KCL для наземного узла. Затем используйте тот факт, что его потенциал определяется как 0 при написании уравнений для других узлов. Это даст невырожденную матрицу, если вы не сделаете ничего глупого (например, поместите два источника тока последовательно).

Эквивалентный способ взглянуть на это — исключить уравнение KCL для наземного узла и добавить уравнение

В г н г "=" 0.

В первом случае для сети из N узлов у вас есть N-1 уравнений и N-1 неизвестных. Во втором случае у вас есть N уравнений и N неизвестных (но одно из неизвестных найти несложно).

Спасибо за совет! Я думаю, что второй вариант, вероятно, проще в реализации. Я мог бы просто пропустить недиагональные элементы в соответствующем столбце/строке. Я ошибочно предположил, что в этом случае я пренебрег бы проводимостями, ведущими к этому узлу, но они явно содержатся в диагональных элементах соседних узлов.