Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Математика
        Ищу метод дискретной симуляции (расчета) электрических схем
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Математика" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: Roman Osipov, RKI, attention, paradise
  

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

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com