Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Метод конечных элементов для моделирования устройств и систем. Учебное пособие
.pdf
3.5. Рекомендации по реализации метода конечных элементов…
61
mgamma3 = np.array([[1,x1,z1], [1,x2,z2], [1,x4,z4]])
mgamma4 = np.array([[1,x1,z1], [1,x2,z2], [1,x3,z3]])
mdelta1 = np.array([[1,x2,y2], [1,x3,y3], [1,x4,y4]])
mdelta2 = np.array([[1,x1,y1], [1,x3,y3], [1,x4,y4]])
mdelta3 = np.array([[1,x1,y1], [1,x2,y2], [1,x4,y4]])
mdelta4 = np.array([[1,x1,y1], [1,x2,y2], [1,x3,y3]])
beta1 = -np.linalg.det(mbeta1)
beta2 = np.linalg.det(mbeta2)
beta3 = -np.linalg.det(mbeta3)
beta4 = np.linalg.det(mbeta4)
gamma1 = np.linalg.det(mgamma1)
gamma2 = -np.linalg.det(mgamma2)
gamma3 = np.linalg.det(mgamma3)
gamma4 = -np.linalg.det(mgamma4)
delta1 = -np.linalg.det(mdelta1)
delta2 = np.linalg.det(mdelta2)
delta3 = -np.linalg.det(mdelta3)
delta4 = np.linalg.det(mdelta4)
b1 = np.array([[beta1,0,0], [0,gamma1,0],
[0,0,delta1], [gamma1,beta1,0],
[0,delta1,gamma1], [delta1,0, beta1]])
b2 = np.array([[beta2,0,0], [0,gamma2,0],
[0,0,delta2], [gamma2,beta2,0],
[0,delta2,gamma2], [delta2,0, beta2]])
b3 = np.array([[beta3,0,0], [0,gamma3,0],
[0,0,delta3], [gamma3,beta3,0],
[0,delta3,gamma3], [delta3,0, beta3]])
b4 = np.array([[beta4,0,0], [0,gamma4,0],
[0,0,delta4], [gamma4,beta4,0],
[0,delta4,gamma4], [delta4,0, beta4]])
b = np.concatenate((b1, b2, b3, b4), axis = 1) / (6*v)
return b
# Вычисление матрицы эластичности элемента
def get_elasticity_matrix(self, e=350e9, nu=0.27):
d = (e/((1+nu)*(1-2*nu))) * np.array([

3. Программная реализация напряженно-деформированных состояний…
62
[1-nu,nu,nu,0,0,0],
[nu,1-nu,nu,0,0,0],
[nu,nu,1-nu,0,0,0],
[0,0,0,(1-2*nu)/2,0,0],
[0,0,0,0,(1-2*nu)/2,0],
[0,0,0,0,0,(1-2*nu)/2]
])
return d
# Вычисление матрицы жесткости элемента
def get_stiffness_matrix(self, e=350e9, nu=0.27):
v = self.get_volume()
b = self.get_shape_matrix()
d = self.get_elasticity_matrix(e, nu)
b_t = b.transpose()
k = np.linalg.multi_dot([b_t, d, b])
k *= v
return k
# Вычисление сил, действующих на элемент
def get_element_forces(self, e=350e9, nu=0.27, alpha=8.8e-6):
v = self.get_volume()
b = self.get_shape_matrix()
d = self.get_elasticity_matrix(e, nu)
b_t = b.transpose()
t = np.zeros((6), dtype=float)
ct = alpha*(self.center_point.t - 293)
t[0],t[1],t[2] = ct,ct,ct
y = np.linalg.multi_dot([b_t, d, t])
y *= v
return y
# Построение ансамбля матриц жесткости
# для элементов
def get_stresses(self, condition, source_elements, bound_box,
e=350e9, nu=0.27, alpha=8.8e-6):
stresses = []
k = self.assemble_global_stiffness(condition,

3.5. Рекомендации по реализации метода конечных элементов…
63
source_elements, e, nu, alpha)
y = self.assemble_external_forces(condition,
source_elements, e, nu, alpha)
u = np.linalg.solve(k, y)
for ind, el in enumerate(source_elements):
u_local = np.zeros(NODES_PER_ELEMENT *
DEGREES_OF_FREEDOM)
b = el.get_shape_matrix()
d = el.get_elasticity_matrix(e, nu)
t = np.zeros((6), dtype=float)
ct = alpha*(el.center_point.t - 293)
t[0], t[1], t[2] = ct, ct, ct
for i in range(NODES_PER_ELEMENT):
for j in range(DEGREES_OF_FREEDOM):
glob_index = el.nodes_indices[i] *
DEGREES_OF_FREEDOM + j
u_local[i * DEGREES_OF_FREEDOM + j] =
u[glob_index]
epsilon = b @ u_local
sigma = d @ (epsilon - t)
stresses.append(sigma)
return np.array(stresses)
def get_stresses_sig_bound(self, condition, source_elements, bound_box,
e=350e9, nu=0.27, alpha=8.8e-6):
stresses = []
k = self.assemble_global_stiffness(condition, source_elements,
e, nu, alpha)
y = self.assemble_external_forces(condition,
source_elements, e, nu, alpha)
# Задание граничных условий и решение систем
# линейных алгебраических уравнений,
# нахождение напряжений:
for ind, el in enumerate(source_elements):
if (el.location != mesh.Location.inner
and el.location != mesh.Location.top):

3. Программная реализация напряженно-деформированных состояний…
64
for i in range(NODES_PER_ELEMENT):
for j in range(DEGREES_OF_FREEDOM):
glob_index = el.nodes_indices[i] *
DEGREES_OF_FREEDOM
glob_index += j
y[glob_index] = 0.0
for row_col in
range(len(k[glob_index])):
k[glob_index, row_col] = 0.0
k[row_col, glob_index] = 0.0
k[glob_index, glob_index] = 1.0
u = np.linalg.solve(k, y)
for ind, el in enumerate(source_elements):
u_local = np.zeros(NODES_PER_ELEMENT *
DEGREES_OF_FREEDOM)
b = el.get_shape_matrix()
d = el.get_elasticity_matrix(e, nu)
t = np.zeros((6), dtype=float)
ct = alpha*(el.center_point.t - 293)
t[0], t[1], t[2] = ct, ct, ct
for i in range(NODES_PER_ELEMENT):
for j in range(DEGREES_OF_FREEDOM):
glob_index = el.nodes_indices[i] *
DEGREES_OF_FREEDOM + j
u_local[i * DEGREES_OF_FREEDOM + j] =
u[glob_index]
epsilon = b @ u_local
stresses.append(epsilon)
return np.array(stresses)

3.3. Основные сведения о синтаксисе языка Python
65
4. ПРИМЕР ПРИМЕНЕНИЯ МЕТОДА КОНЕЧНЫХ
ЭЛЕМЕНТОВ ДЛЯ РАСЧЕТА ТЕРМОУПРУГИХ
НАПРЯЖЕНИЙ В КРИСТАЛЛАХ САПФИРА
В настоящее время сапфир (α-Al2O3) является одним из перспектив-
ных материалов. Благодаря уникальному сочетанию физико-химических и
оптических свойств (высокая температура плавления, малый коэффициент
трения, большая твердость, химическая инертность, оптическая прозрачность в большом диапазоне длин волн, высокая прочность и теплопроводность, радиационная стабильность и высокая стойкость к термоудару), сапфир является важным материалом, находящим широкое применение в
микро- и наноэлектронике [29–30].
В течение последних десятилетий для выращивания монокристаллов
сапфира большого размера, использующихся для электронной техники, применялись методы горизонтальной направленной кристаллизации (ГНК), Чохральского, Киропулоса и метод Степанова. Одним из распространенных
способов выращивания кристаллов сапфира из расплава является метод горизонтальной направленной кристаллизации (ГНК) [29–34]. При кристаллизации существенное влияние на процесс роста кристалла сапфира и дефектообразование оказывает форма кристалла. Так как кристаллы сапфира, полученные методом ГНК, имеют характерную конфигурацию на начальном и
последующих этапах роста, то представляют интерес исследования процесса
формирования структуры, распределения примесей и характер дефектов в
объеме кристалла, возникающих в процессе роста.
Вакуумная установка для роста кристаллов сапфира методом горизонтальной направленной кристаллизации состоит из контейнера, наполненного шихтой, молибденовой или вольфрамовой теплозащиты и графитовой изоляции [35]. Рост кристаллов происходит при очень высоких температурах (приблизительно 2 050 °C). Взаимодействие продуктов испарения расплава с лодочкой вакуумной установки и теплозащитными экранами, а также с нагревателем может оказывать негативное влияние на процесс кристаллизации. Требования к качеству кристаллов сапфира зависят
от их области применения. Тем не менее термоупругие напряжения могут
сократить срок службы сапфировых элементов и могут привести к форми-

4. Пример применения метода конечных элементов для расчета…
66
рованию трещин. Таким образом, уменьшение уровня термоупругих напряжений в кристаллах сапфира является актуальной задачей для получения
кристаллов сапфира с улучшенными механическими и оптическими характеристиками.
Проведены экспериментальные исследования и расчеты уровня тер-
моупругих напряжений в процессе получения кристаллов сапфира методом
горизонтальной направленной кристаллизации.
Компьютерное моделирование термоупругих напряжений для про-
гнозирования качества получаемых кристаллов сапфира является предметом исследования в течение последних нескольких лет [36–38]. В ряде теоретических работ рассматривают термоупругие напряжения в кристаллах
сапфира [39–44]. Целью данного исследования является поиск общего подхода для моделирования формирования возможных дефектов в процессе
роста кристаллов сапфира.
В настоящее время проведено трехмерное моделирование термоупругих напряжений в кристаллах сапфира, однако при этом актуальным
является учет конусной части кристалла сапфира, полученного методом горизонтальной направленной кристаллизации.
Температурные градиенты в процессе роста кристаллов сапфира являются причиной формирования термоупругих напряжений в кристаллах.
Для прогнозирования процесса формирования дефектов следует рассчитать распределение температур в процессе роста кристаллов сапфира в
установке методом горизонтальной направленной кристаллизации. Определение распределения температур в системе кристалл-расплав требует решения уравнения теплопроводности [1–3].
В связи с малой скоростью движения контейнера установки для роста монокристаллов сапфира, можно сделать вывод о том, что процесс
находится в квазистационарном состоянии, а распределение температуры
можно найти по следующей формуле [1–3, 34]:
,0)),,()(( zyxgradTTdiv
ii
(36)
где
i
– коэффициент теплопроводности, зависящий от температуры
(
,1i
2 – соответственно кристалл и расплав);
i
T
– температура в кристалле
и расплаве.

4. Пример применения метода конечных элементов для расчета…
67
Граничные условия для системы уравнений (36), отражающие нераз-
рывность тепловых полей и тепловых потоков на границах раздела сред
кристалл-расплав, записываются в виде следующих соотношений:
,
),,(
)(
),,(
)(
2
2
1
1
x
zyxT
T
x
zyxT
T
CC
(37)
),(
44
21
hotss
TTqq
(38)
,0sq
(39)
где – постоянная Стефана-Больцмана; – коэффициент излучения;
hot
T
– функция, задающая распределение температуры на кристаллизато-
рах; q – тепловой поток.
Результаты расчета температур (риc. 4.1, a) используются для моде-
лирования распределения дефектов (напряжений и трещин) на различных
стадиях роста кристаллов сапфира. Для расчета распределения температур
в кристаллах сапфира использовался метод контрольных объемов.
a б
Рис. 4.1. Схемы к расчету процесса роста кристаллов сапфира методом
горизонтальной направленной кристаллизации:
a – 1 – кристалл; 2 – расплав; б – 4, 5, 6, 7, 8 – боковые поверхности кристалла;
S1, S2 – верхняя и нижняя поверхность
Моделирование формируемых термоупругих напряжений в про-
цессе роста кристаллов сапфира проводилось с помощью метода конечных
элементов [1–3, 45–46], использовались линейные элементы (тетраэдры),
которые описывались функциями формы. Программа была разработана на
высокоуровневом языке Python.
Матрица жесткости элемента задается формулой

4. Пример применения метода конечных элементов для расчета…
68
],][[][k BDBVT
(40)
где V – объем тетраэдра.
Как только получена глобальная матрица жесткости, мы имеем следующее структурное уравнение:
,U[K] F
(41)
где U – вектор глобальных узловых перемещений; F – вектор глобальных
узловых сил.
Матрицу деформаций можно найти как
= Bu (42)
где B– матрица деформационного смещения; u– вектор перемещения элемента u = u; v; w).
Отношение напряжение-деформация ɛ может быть описано как
= D( - th), (43)
где D – матрица эластичности материала;
th
– начальные деформации,
вызванные тепловым расширением.
Граничные условия для выражений (42)–(43) для всех границ, кроме
верхней (рис. 4.1,б) u = v = w = 0. Граничные условия на верхней границе:
yy = yx = yz
=0.
Метод конечных элементов [3, 45–46] для расчета перемещений, деформаций и напряжений в кристаллах сапфира включает следующее:
1. Приближенное представление компонент перемещения u, v и w че-
рез типичные конечные элементы как линейную комбинацию их значений и
значений их производных в заранее определенном числе узловых точек.
2. Матрицы жесткости элемента определяются на основе принципа
минимума потенциальной энергии.
3. Глобальная матрица жесткости находится на основе объединения
всех элементов и использования соответствующих граничных условий, что
позволяет получить равновесные выражения для всех элементов.
4. Равновесные выражения решаются и находятся напряжения в типичном элементе заменой локальных перемещений в соответствующем выражении [45].

4. Пример применения метода конечных элементов для расчета…
69
Результаты расчета перемещений представлены на рис. 4.2, которые
оказывают влияние на значение термоупругих напряжений. Размер термоупругих напряжений зависит от распределения температур.
Результаты численного моделирования термоупругих напряжений в
кристаллах сапфира используются для исследования возможных причин
образования трещин в кристаллах сапфира, полученных методом горизонтальной направленной кристаллизации. Модель включает расчет температур, перемещений, деформаций и термоупругих напряжений в кристаллах
сапфира методом конечных элементов на неструктурированной сетке.
а б
в г
Рис. 4.2. Результаты расчета в системе кристалл-расплав:
а –температур (в K); б – перемещенийu (в м);
в – перемещений v (в м); г – перемещений w (в м)
Экспериментальное исследование напряжений в кристаллах сапфира
основано на поляризационном методе, который был признан наиболее применимым в качестве инструмента отображения дефектов сапфира. Экспериментальные исследования подтвердили результаты моделирования.

4. Пример применения метода конечных элементов для расчета…
70
Поэтому наличие градиентов температуры приводит к термоупру-
гим напряжениям в кристалле. Если термические напряжения превышают
предел прочности материала, то в объеме кристалла будут созданы условия
формирования структурных дефектов.
Для того чтобы избежать формирования дефектов, необходимо
контролировать процесс роста кристаллов сапфира. Низкие термоупругие
напряжения в процессе роста кристаллов сапфира позволяют уменьшить
размеры и плотность дефектов в кристалле. Наличие неравномерно распределенных термоупругих напряжений, превышающих предел критической силы материала, приводит к интенсивным пластическим течениям в
растущем кристалле, что может привести к интенсивному образованию
дислокаций [31].
Градиенты температуры вызывают термоупругие напряжения в
кристалле. Если термические напряжения превышают предел прочности
материала, то в кристалле возникают условия образования структурных
дефектов.
Предложена вычислительная модель для анализа формируемых
термоупругих напряжений в кристаллах сапфира. Приведены основы численных методов для исследования термоупругих напряжений в кристаллах сапфира.
Модель расчета температур, перемещений, деформаций и полей
напряжений при выращивании кристаллов сапфира позволяет провести
численные эксперименты и изучить влияние входных параметров на качество кристаллов. Такой подход позволяет улучшить процесс роста кристаллов и получить кристаллы с пониженным уровнем дефектов. В предлагаемой модели адекватно описывается влияние температур на образование
термоупругих напряжений в сапфире. Данная модель позволяет выбрать
оптимальные параметры роста кристаллов сапфира, что позволяет устранить формирование дефектов во время роста сапфира.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
