Решатели PDE для дрейфовой диффузии и родственных моделей

12

Я пытаюсь смоделировать базовые полупроводниковые модели для педагогических целей - начиная с модели дрейф-диффузия. Хотя я не хочу использовать готовый полупроводниковый симулятор - я буду изучать другие (распространенные, недавние или малоизвестные) модели, но я хочу использовать готовый решатель PDE.

Но даже для простого одномерного случая дрейф-диффузионная модель состоит из нескольких связанных нелинейных уравнений в частных производных:

Уравнения плотности тока

Jn=qn(x)μnE(x)+qDnn
Jp=qp(x)μpE(x)+qDpp

Непрерывность уравнения

nt=1qJn+Un
pt=1qJp+Up

Уравнение Пуассона

(ϵV)=(pn+ND+NA)

и ряд граничных условий.

Я попробовал некоторые решатели Python FEM, FEniCS / Dolfin и SfePy , но безуспешно из-за невозможности сформулировать их в слабой вариационной форме с помощью тестовых функций.

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

Так есть ли пакет (предпочтительно с открытым исходным кодом), который будет принимать эти уравнения в такой форме и решать их? Или, может быть, вариационная форма, требуемая инструментами, не так сложна? В любом случае, какие у меня варианты?

Благодарность


Изменить: Попытка формулирования слабой вариационной формы для FEniCS / Dolfin или SfePy

Используя три уравнения в частных производных (Пуассона + два уравнения неразрывности с заменой J), мы ищем V, n и p. Уравнение Пуассона (с использованием тестовой функции ) является прямым. У меня, однако, трудности с уравнениями неразрывности.uV

Второй PDE (сильная форма) где - постоянные, - скалярные функции

nt=(C1nV+C2n)+U
C1,C2U,n,p,V

Пусть обозначает тестовую функцию для второго PDE. потомfn

Ωfnnn1ΔtdΩC1Ωfn(nV)dΩC2Ωfn2ndΩΩfnUdΩ

Особенно беспокоит интеграл:

C1Ωfn(nV)dΩ

Но является вектором, а - скалярами. Затем используйте идентификатор VV,un,nϕA=Aϕ+ϕA

C1Ωfn(nV)dΩ=C1Ωfn(Vn)+C1ΩfnnV

Поскольку V решается с помощью уравнения Пуассона, можем ли мы использовать недавно вычисленное значение, как это разрешено в программном обеспечении Dolfin / FEniCS, и упростить, как мы рассматриваем V в этом втором связанном уравнении? Такие методы работают при дискретизации (например, Gummel, ...), чего я не делаю в этих готовых решателях!

Также граничные условия даны в терминах не , как вы это реализуете? Должен ли я решить для пяти переменных , даже если определяется V и n?JnnJn,Jp,n,p,VJn

Weaam
источник
1
Почему ты не можешь записать их слабые формы?
Билл Барт
@BillBarth Я отредактировал свой вопрос, пожалуйста, посмотрите. Благодарю.
Weaam
2
Ваша интеграция по частям неверна. Проверьте формулу, отсутствуют знаки, справа больше производных, чем слева, и вы забыли про граничный интеграл.
Вольфганг Бангерт
Кроме того, есть ли причина, по которой вы используете скалярное произведение для представления умножения на ? Это скаляр, верно? un
Билл Барт
Да, я должен был быть более осторожным. Пожалуйста, проверьте мои изменения, особенно мой вопрос относительно того, как мы относимся к V, поскольку это должно было быть решено уже предыдущим PDE. Влияет ли это на вариационную форму? Спасибо.
Weaam

Ответы:

5

Формула Scharfetter-Gummel (SG) обычно используется для решения уравнений плотности тока. Это специальная формулировка, которая преодолевает трудности в решении нелинейной зависимости между потенциалом и плотностью тока.

Стандартный текст, обсуждающий, как эти уравнения, использующие методы интегрирования блоков, находится в этой книге: Selberherr, S., Анализ и моделирование полупроводниковых приборов. Springer-Verlag 1984

Этот тип моделирования называется технологией компьютерного проектирования (TCAD). В отличие от метода конечных элементов (FEM), метод конечных объемов (FVM) используется для расчета токов. Это потому, что он вписывается в формулировку СГ, которая была показана (практиками этого метода) для работы при решении уравнений плотности тока.

Если вы хотите решить эту проблему с использованием обобщенных PDE, COMSOL имеет Semiconductor Module, который решает эту проблему с использованием гибридного метода FEM / FVM.

Кроме того, коммерческие и открытые симуляторы TCAD перечислены здесь: http://www.tcadcentral.com

Насколько мне известно, решателями обобщенных PDE TCAD являются DEVSIM, FLOOPS, PROPHET. В коммерческих инструментах, как правило, большинство физических уравнений жестко запрограммированы на скомпилированном языке, таком как C ++.

Juan
источник
Прошу прощения за крайне поздний ответ. Я понял, что такое прямое применение DD (даже с SG) было довольно нестабильным (по крайней мере, моя реализация в Fenics), поэтому я отказался от него. В более позднем курсе VLSI я действительно использовал инструменты Comsol и TCAD. Спасибо за исчерпывающий ответ.
Weaam