alekseyv
Удален
|
Дано: система уравнений, описывающая электрическую схему. Т.е. даны уравнения, сформулированные по законам Кирхгофа и Ома. Примерно в таком виде: UC1 = V1 - V2 UC2 = V2 - V3 UR1 = IR1 * RR1 IC1 = ( UC1 - UC1_ ) * C1 ... IC1 = IC2 IC2 = IR1 + IR2 - IC3 ... V - потенциалы узлов U - напряжения ветвей (напряжение ветви может определяться как разность потенциалов двух узлов) I - токи ветвей R - сопротивления ветвей Причем в одном случае могут быть известны отдельные потенциалы узлов, отдельные токи, сопротивления ветвей, в другом случае - зависимости потенциалов от токов или напряжений, зависимости напряжений от токов - в различных комбинациях. Конечно же, кол-во неизвестных величин всегда меньше или равно кол-ву уравнений. В общем, я не имею проблем с решением если система является линейной - т.е. в ней имеются только линейные элементы. Но если я добавляю диод, сформулированный как ID_n=diode(UD_n) либо ID_n=diode(V_x-V_y), то приходится использовать метод Ньютона, который может давать чудовищные конструкции для вычисления корректирующих констант между шагами. Да и сходимость у этого метода очень плохая (в формуле тока диода используется экспонента). Потому я ищу более удобный и более быстрый способ численного решения системы уравнений. Что касается дискретизации, то я осуществляю достаточно простой вариант (без использования дифференциалов по времени). На каждом шаге по времени (не путать с шагом решения системы уравнений) я изменяю какой-то параметр (например, потенциал какого-либо узла или ЭДС-напряжение ветви). Т.е. фактически на каждом шаге по времени рассматриваю статическую "идеальную" электрическую схему, сформулированную по законам Кирхгофа и Ома, некоторые элементы уравнений которой выражены через нелинейные уравнения. Что касается тока конденсатора (или напряжения катушки индуктивности), то его формулирую как IC = (UC - UC_)*C, где UC_ - напряжение/ток, полученный на предыдущем шаге по времени. Такая разность при дискретизации по времени аналогична БИХ-фильтру 1-го порядка ("C" зависит от коэффициента емкости конденсатора и величины шага по времени). Вопросы: 1.не ошибся ли я где-то в своих допущениях? 2. каким образом можно совместить расчет той "статической" схемы (о которой я написал) на каждом шаге по времени с тем фактом, что шаг по времени может быть существенно уменьшен? Т.е. уменьшение шага по времени можно рассматривать как возможность увеличения сходимости расчета схемы. Как я уже написал - не хотелось бы использовать метод Ньютона, или подобные ему методы (те, которые формируют вектор межшаговых изменений неизвестных величин исходя из матрицы Якоби производных). 3. (вопрос больше для знатоков схемотехники) Можно ли каким-то "универсальным" образом пользоваться 2-м законом Кирхгофа? В его формулировке идет речь о независимых замкнутых контурах. Но таковые не всегда имеются. Какое вообще правило существует для составления уравнений по этому закону, которые бы можно было добавить в общую систему уравнений? (Сообщение отредактировал alekseyv 18 янв. 2007 19:56)
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 18 янв. 2007 18:40 | IP
|
|
sms
Удален
|
Правило одно-независимые. Но есть формулы для их числа, чтобы не набрать по ошибке лишних.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 18 янв. 2007 23:35 | IP
|
|
alekseyv
Удален
|
Насколько я понимаю, независимые контуры можно искать следующим образом: сначала выделить все контуры (это простая задача сродни поиску пути - начинаем из узла A и идем по ветвям, пока не встретили уже пройденный узел. Если это также узел A, то контур найден. Далее подобное повторить для всех узлов. Потом уже список найденных контуров просеивается - оставляются только те контуры, в которых имеется хотя бы одна ветвь, не входящая в другие контуры. Понтяно, что там будут и громоздкие контуры (которые, в принципе, включают в себя несколько других контуров), но они на этапе просеивания будут, скорее всего, удалены: т.е. второй критерий просеивания - минимизация кол-ва ветвей в независимых контурах.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 19 янв. 2007 9:01 | IP
|
|
|