Я намагаюсь моделювати основні напівпровідникові моделі в педагогічних цілях - починаючи з моделі Дрифт-дифузії. Хоча я не хочу використовувати напівпровідниковий симулятор, що знаходиться на полиці - я буду вивчати інші (звичайні, недавні або незрозумілі) моделі, я хочу використовувати позарядний PDE-вирішувач.
Але навіть для простого 1D випадку модель дрейфувальної дифузії складається з ряду зв'язаних нелінійних PDE:
Рівняння щільності струму J p = q p ( x ) μ p E ( x ) + q D p ∇ p
Рівняння безперервності ∂p
Рівняння Пуассона
і ряд граничних умов.
Я спробував кілька вирішувачів пітонів FEM, FEniCS / Dolfin та SfePy , але не пощастило, через те, що не міг сформулювати їх у слабкій варіаційній формі з тестовими функціями.
Звичайно, є можливість реалізувати числове рішення з нуля, але я ще не вивчив FEM / Numerical глибоко, тому сподіваюся, що це не єдиний варіант, оскільки я не хочу переповнювати числові питання.
Отже, чи є пакет (попередньо відкритий код), який би взяв ці рівняння у такому вигляді і вирішив їх? А може, варіаційна форма, що вимагається інструментами, не така складна? У будь-якому випадку, які мої варіанти?
Спасибі
Редагувати: Спроба сформулювати слабку варіативну форму для FEniCS / Dolfin або SfePy
Оскільки V розв’язується рівнянням Пуассона, чи можемо ми використати нещодавно обчислене значення, дозволене в програмному забезпеченні Dolfin / FEniCS, та спростити, як ми ставимось до V у цьому другому сполученому рівнянні? Такі методи працюють в той час, як дискретизують (наприклад, Gummel, ...), що я не роблю в цих готових рішеннях!