Материал: sb000008

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

5

1.2. Решение двумерного уравнения диффузии методом конечных элементов в системе MATLAB 7.0

Для решения дифференциальных уравнений в частных производных методом конечных элементов в системе MATLAB используется приложение PDE Toolbox, которое запускается из командного окна MATLAB при помощи

команды pdetool:

В открывшемся окне PDE Toolbox с помощью команды меню Options | Application из списка можно сразу выбрать тип решаемой задачи. При расчёте профиля легирования в полупроводниковых приборах используется приложение Diffusion:

Панель инструментов

Панель главного меню

Рабочая среда PDE Toolbox позволяет последовательно выполнять следующие этапы решения дифференциальных уравнений методом конечных элементов:

1)конструирование области из геометрических примитивов;

2)задание граничных условий;

3)триангуляцию расчётной области;

4)решение уравнения методом конечных элементов;

5)построение двумерных и трёхмерных графиков.

1 3,05 2,2
Options | Snap

6

Построение расчётной области производится на сетке, размеры и густоту линий которой задают при помощи команд меню Options | Axes Limits… и

Options | Grid Spacing…:

Установка флажка Options | Grid делает сетку видимой, а флажок помогает задавать положение и размеры объектов в привязке к

10

B C

B1

A1

A D

Рис. 1.1. Схема расположения электродов в биполярном транзисторе

7

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

Draw: Polygon, Rectangle/square, Rectangle/square (centered), Ellipse/circle, Ellipse/circle (centered).

Для формирования области, размеры которой приведены на рис. 1.1, сначала рисуем три прямоугольника R1, R2, и R3 в режиме Options | Snap.

Для корректировки размеров прямоугольников используется панель Object Dialog, которая открывается при двойном щелчке мыши по выбранному объекту. Например, для прямоугольника R1 (имя объекта указано в нижнем поле редактирования) можно изменить ширину на значение 0.2.

Аналогичная процедура для остальных двух прямоугольников позволяет сформировать расчётную область в виде суммы R1+R2+R3, которая отображается в окне Set formula. Если прямоугольники R1 и R2 необходимо вычесть из R3, то формула должна содержать запись вида R3–R1–R2.

8

Для задания граничных условий используются команды меню Boundary, к которым можно перейти либо щелчком мыши по соответствующей кнопке в строке главного меню, либо нажав комбинацию клавиш Ctrl+B.

По умолчанию на всех границах задаётся граничное условие Дирихле с нулевыми значениями. В рассматриваемом примере на участках BC и AD используется симметрия, и потому выполняется однородное условие Неймана. На открытом участке A1B1 также задано однородное условие Неймана.

На границах AA1 и CD задаётся значение концентрации 1017 см–3 , а на границе BB1 – 2·10 15 см–3 .

Полагая правую часть (1.1) равной нулю (отсутствие источников), задают параметры дифференциального уравнения с частными производными с

помощью команды PDE | PDE Specification…

9

Последний подготовительный этап состоит в триангуляции – покрытии расчётной области сеткой, состоящей из треугольников, параметры которых определяются в меню Mesh. Процесс триангуляции автоматизирован и основан на методе Делоне, который позволяет строить треугольники таким образом, что описанная около каждого из треугольников окружность не содержит вершин соседних треугольников. Среди всех возможных произвольных триангуляций триангуляция Делоне обладает максимальной суммой минимальных углов всех своих треугольников, а также минимальной суммой радиусов окружностей, описанных около треугольников.

1

 

 

 

 

 

 

 

 

 

 

0.9

 

 

 

 

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

 

 

0.7

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

0.3

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

0.1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0

Самая грубая сетка может быть сгенерирована при использовании команды Mesh | Initialize Mesh, которая запускается либо при нажатии соответствующей кнопки с изображением треугольника на инструментальной панели (содержащей пиктограммы некоторых часто используемых команд), либо с помощью комбинации клавиш Ctrl+I.

Источник: https://studfile.net/preview/16438900/