Главная » Просмотр файлов » ГДЗ №2 Вариант 3

ГДЗ №2 Вариант 3 (1051185), страница 2

Файл №1051185 ГДЗ №2 Вариант 3 (ГДЗ №2 Вариант 3) 2 страницаГДЗ №2 Вариант 3 (1051185) страница 22017-12-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

b[1] = y[2] – y[3];

b[2] = y[3] – y[1];

b[3] = y[1] – y[2];

c[1] = x[3] – x[2];

c[2] = x[1] – x[3];

c[3] = x[2] – x[1];

OMEGA = (x[2]*y[3]-x[3]*y[2]+x[1]*y[2]-x[1]*y[3]+x[3]*y[1]-x[2]*y[1])/2.0;

Составление локальной матрицы жесткости:

for (inti(1); i<= 3; i++)

{

for (int j(1); j <= 3; j++)

{

k_1[i][j] = (lam / (4.0 * OMEGA))*(b[i] * b[j] + c[i] * c[j]);

}

}

Локальная правая часть:

for (int i(1); i <= 3; i++) b[i] = 0;

Составления локальной матрицы жесткости и локальной правой части для элемента 5:

for (int i(1); i <= 3; i++) b[i] = 0;

case 5:

{

b[2] = (q*sqrt(pow(x[3] - x[2], 2) + pow(y[3] - y[2], 2)) / 2.0);

b[3] = (q*sqrt(pow(x[3] - x[2], 2) + pow(y[3] - y[2], 2)) / 2.0);

for (int i(1); i <= 3; i++)

{

for (int j(1); j <= 3; j++)

{

k_i_j[i][j] = k_1[i][j];//Локальная матрица жёсткости

}

}

break;

}

Составления локальной матрицы жесткости и локальной правой части для элемента 40:

for (int i(1); i <= 3; i++) b[i] = 0;

case 40:

{

for (int i(1); i <= 3; i++)

{

for (int j(1); j <= 3; j++)

{

k_2[i][j] = (a_g*sqrt(pow(x[3] - x[1], 2) + pow(y[3] - y[1], 2)) / 6.0)*ghost_1_3[i][j];

}

b[1] = (a_g*T_g*sqrt(pow(x[3] - x[1], 2) + pow(y[3] - y[1], 2)) / 2.0);

b[3] = (a_g*T_g*sqrt(pow(x[3] - x[1], 2) + pow(y[3] - y[1], 2)) / 2.0);

}

for (int i(1); i <= 3; i++)

{

for (int j(1); j <= 3; j++)

{

k_i_j[i][j] = k_1[i][j] + k_2[i][j];//Локальная матрица жёсткости

}

}

break;

}

  1. Собираем локальные матрицы жесткости в глобальную матрицу жесткости и локальные правые части в глобальные правые части.

For (inti(1); i <= m; i++)//Текущийэлемент

{

for (int j(1); j <= 3; j++)

{

s[j] = elements[i][j];//Номераузловтекущегоэлемента

}

s[j]-номера узлов текущего (i-го) элемента(всего m=64 элемента).

Формирование глобальной матрицы жесткости

for (intj(1); j<= 3; j++)

{

for (int r(1); r <= 3; r++)

{

int t = s[j],p=s[r];

K[t][p] += k_i_j[j][r];

}

}

Формирование глобального вектора правой части

for (intj(1); j<= 3; j++)

{

int t = s[j];

f[t] += b[j];

}

Далее решаем СЛАУ относительно узловых значений:



  1. Метод Холецкого для решения СЛАУ.

Описание метода.

Если матрица системы является симметричной и положительно определенной, то для решения системы применяют метод Холецкого (метод квадратных корней). В основе метода лежит алгоритм специального LU-разложения матрицы A, в результате чего она приводится к виду .Если разложение получено, то как и в методе -разложения, решение системы сводится к последовательному решению двух систем с треугольными матрицами: и . Для нахождения коэффициентов матрицы неизвестные коэффициенты матрицы приравнивают соответствующим элементам матрицы . Затем последовательно находят требуемые коэффициенты по формулам:

,

, ,

,

, ,

...............

, ,



  1. Реализация метода на ЭВМ.

Составление матрицы L, в разложении

double **l_matrix;l_matrix = new double*[n];

for (int i(1); i < n; i++) l_matrix[i] = new double[m];

l_matrix[1][1] = sqrt(a[1][1]);for (int j = 2; j < n; j++) l_matrix[j][1] = a[j][1] / l_matrix[1][1];

for (int i = 2; i < n; i++)

{

double sum = 0;

for (int p = 1; p <= i – 1; p++)

{sum += pow(l_matrix[i][p], 2);}

l_matrix[i][i] = sqrt(a[i][i] – sum);

for (int j = i + 1; j < n; j++)

{

double sum = 0;

for (int p = 1; p <= i – 1; p++)

{

sum += l_matrix[i][p] * l_matrix[j][p];}

l_matrix[j][i] = (a[j][i] – sum) / l_matrix[i][i];

}}

Решениеуравнения

double *x = new double[n];

x[1] = b[1] / l_matrix[1][1];

for (int i = 2; i < n; i++)

{

x[i] = b[i];

for (int j = 1; j < i; j++)

{x[i] -= l_matrix[i][j] * x[j];}

x[i] /= l_matrix[i][i];

}

Транспонирование матрицы L

for (int i(1); i < n; i++)

{

for (int j(i); j < m; j++)

{

doublebuf = l_matrix[i][j];

l_matrix[i][j] = l_matrix[j][i];

l_matrix[j][i] = buf;

}

}

for (int i(1); i < n; i++)

{b[i] = x[i];}

x[n – 1] = b[n – 1] / l_matrix[n – 1][m – 1];

Решение уравнения

for (int i = n – 2; i >= 1; i--)

{

x[i] = b[i];

for (int j = m – 1; j > i; j--)

{

x[i] -= l_matrix[i][j] * x[j];

}

x[i] /= l_matrix[i][i];

}

for (int i(1); i < n; i++)

{

std::cout<< “x[“ << i << “]_=” << x[i] <<std::endl;

}}



  1. Результаты решения задачи теплопроводности



В результате решения задачи были получены следующие распределения температуры в исследуемой области (рис. 5):

Рис. 5 – Распределение температуры в области с использованием треугольного симплексного конечного элемента





Сравним данные результаты с разультатами полученными в ДЗ№1, с использованием дискретных одномерных элементов (рис. 6).



Рис. 6 – Распределение температуры в области с использованием одномерного конечного элемента

1

110,352

110,352

0,000

17

99,854

99,854

0,000

33

105,556

105,556

0,000

2

104,067

104,067

0,000

18

91,105

91,104

0,001

34

107,656

107,656

0,000

3

95,288

95,289

0,001

19

79,874

79,873

0,001

35

106,383

106,383

0,000

4

83,974

83,979

0,005

20

66,214

66,206

0,008

36

105,989

105,989

0,000

5

69,942

69,976

0,034

21

105,354

105,354

0,000

37

108,118

108,118

0,000

6

108,557

108,558

0,001

22

99,226

99,226

0,000

38

106,758

106,758

0,000

7

102,267

102,267

0,000

23

90,508

90,507

0,001

39

106,334

106,334

0,000

8

93,491

93,492

0,001

24

79,307

79,304

0,003

40

108,437

108,437

0,000

9

82,191

82,195

0,004

25

65,735

65,724

0,011

41

107,028

107,028

0,000

10

68,253

68,263

0,010

26

105,044

105,044

0,000

42

106,584

106,584

0,000

11

107,176

107,176

0,000

27

99,012

99,012

0,000

43

108,625

108,625

0,000

12

100,864

100,864

0,000

28

90,309

90,308

0,001

44

107,192

107,191

0,001

13

92,098

92,098

0,000

29

79,119

79,115

0,004

45

106,736

106,736

0,000

14

80,831

80,831

0,000

30

65,577

65,565

0,012

46

108,687

108,687

0,000

15

67,038

67,036

0,002

31

107,033

107,033

0,000

47

107,246

107,246

0,000

16

106,214

106,214

0,000

32

105,911

105,911

0,000

48

106,787

106,787

0,000

  1. Выводы

Используя метод конечных элементов мы решили задачу теплопроводности в заданной области двумя способами:

  1. с использованием одномерного конечного элемента

  2. с использованием треугольного симплексного конечного элемента

Сравненивая температуры полученные при использовании обоих методов видим, что их разница не превышает величины , следовательно было выбранно достаточное колличество узлов для того, что бы оба метода дали точный результат.

































10. Список литературы



1. Сегерлинд Л. Применение метода конечных элементов.М.: Мир, 1979.— 392 с.



Характеристики

Тип файла
Документ
Размер
556,3 Kb
Тип материала
Высшее учебное заведение

Список файлов домашнего задания

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее