Сайт Александра Зеленина

Сайт Александра Зеленина

Расширения метода FDTD - Сосредоточенные элементы

Александр Зеленин.

Расширения базового алгоритма.

Существует множество дополнений к базовому алгоритму, расширяющих его возможности.

Здесь представлены два вида расширений:

·        Сосредоточенные элементы

·        Полярные диэлектрики

Сосредоточенные элементы

В англоязычной литературе сосредоточенные элементы называются «lumped», «lumped circuit elements». Одна из лучших статей о сосредоточенных элементахэто статья М. Piket-May, A. Taflove J. Baron «FD-TD Modeling of Digital Signal Propagation in 3-D Circuits With Passive and Active Loads», IEEE Trans. On Mirowave Theory and Techiques, 1994, vol.42, №8. В этой статье приведены уравнения резисторов, резистивных источников напряжения, конденсаторов, индуктивностей, диодов и биполярных транзисторов. В более поздних публикациях разные авторы совершенствуют модели, добавляют новые элементы (например, источники тока, полевые транзисторы).

Отсутствие сосредоточенных элементов сужает область применения метода FDTD. При их отсутствии в расчетных задачах можно конструировать резисторы – ячейки с такой проводимостью, чтобы их сопротивление было равно заданному, и конденсаторы – три ячейки вдоль одной линии, две из них являются обкладками, а центральная – диэлектриком с такой диэлектрической проницаемостью, чтобы емкость была равна заданной. Я использовал этот способ задания элементов, пока не потребовалось задать индуктивность. Большую индуктивность задавать из ячеек практически нереально. И здесь на помощь пришла вышеупомянутая статья. Приведу кратко суть статьи с собственными поясненями.

Добавим к базовой формулировке вихревого уравнения для H (см. систему (1 из Введения)), которое выглядит как  (здесь и далее форма записи взята из статьи) ток сосредоточенного элемента JL: . Предположим, что элемент находится в свободном пространстве и ориентирован по оси Z. Тогда плотность тока выразится через ток IL как . IL может быть дифференциальной, интегральной, линейной или нелинейной функцией электрического потенциала .

Проведя вывод дискретного уравнения так, как это было во введении, но с учетом тока через сосредоточенный элемент, получим:

                                                       (1)

Примечание. Среднее слагаемое правой части уравнения – это общепринятый способ краткой записи разностной схемы. В данном случае это

(∆t/εo(Hxn+1/2(i,j+1/2,k+1/2)-Hxn+1/2(i,j-1/2,k+1/2))/∆y-(Hyn+1/2(i+1/2,j,k+1/2)-Hyn+1/2(i-1/2,j,k+1/2))/∆x),

узнаете?

 

Резистор.

Ток резистора находится по известной формуле I=U/R. В нашем случае U=∆Z(En+1+En)/2, т.е. берется среднее арифметическое напряженности Е поля на соседних шагах по времени, чтобы получить напряженность на шаге (n+1/2). Это приближение необходимо для придания устойчивости вычислительной схемы. Имеем:

Подставляя последнее уравнение в (1) и решая его относительно En+1 получим:

 

Резистивный источник напряжения

Это резистор, в котором встроен источник напряжения. Очень удобный и абсолютно физичный элемент. Позволяет моделировать генератор с заданным выходным сопротивлением. Отличается от резистора только наличием дополнительного тока, равного напряжению источника Vs, деленному на сопротивление:

Окончательно имеем:

.

 

Конденсатор

Ток через конденсатор I=C(du/dt), где С – емкость. Производную напряжения по времени выразим через разность напряженности поля на соседних шагах по времени:

Дальнейший вывод несложен, как и предыдущие:

Индуктивность

Ток в индуктивности, как известно, равен I=(1/L)∫Udt, т.е. величина интегральная. В дискретной форме ток запишем как:

Отсюда:

.

Полученная формула работает очень хорошо и устойчиво. Для вычислений требуется хранение суммы поля Ez в данной ячейке на всех предыдущих шагах, что не представляет особой трудности.

Итак, здесь приведено описание четырех сосредоточенных элементов.

Для диода и транзистора в статье не приводится окончательного выражения, пригодного для вставки в алгоритм. У меня ни разу не возникла необходимость включать в расчеты диоды или транзисторы, поэтому эти элементы я в своих программах не реализовал. Но было бы желание...

 

файл:/zfdtd/method/lumped.htm