Основы компьютерного моделирования физических и технических систем. Математическую модель указанной физической системы

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

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

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО

Факультет автоматизированных и информационных систем

Кафедра «Информационные технологии»

ОТЧЕТ   ПО   ЛАБОРАТОРНОЙ   РАБОТЕ   № 1

по дисциплине «Компьютерные системы конечноэлементных расчётов»

на тему:     «Основы компьютерного моделирования физических и технических систем»

Выполнил:      студент гр. ИТ-31

Принял:       преподаватель                                                                    

Дата сдачи отчета:         _____________________

Дата допуска к защите: _____________________

Дата защиты:                  _____________________

Гомель 2012

Цель: Изучить основы моделирования физических и технических систем

Задание:

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

- обеспечить ввод исходных данных с помощью GUI;

- отобразить в виде графиков (двумерного или трёхмерного) результаты решения;

- все результаты решения сохранять в файлы специальных форматов (для всех остальных).

Рассматривается  задача  моделирования  распределения  температуры  в  тонком стержне  заданной  длины  и  сечения,  изготовленного  из  различных материалов. На одном  конце  стержня (левом,  согласно  рисунка 1)  происходит  конвективный теплообмен  с  внешней  средой,  а  на  противоположном  подводится  тепловой  поток заданной интенсивности.

Необходимо:

-  провести  верификацию,  разработанного  программного  обеспечения  на примере решения задачи для однородного стержня;

-  cсравнить  численные методы  по  скорости  нахождения  решения  при  заданной точности;

-  cсравнить численные методы по значениям найденных решений; 

-  найти максимальное отклонение найденных решений;

- провести указанное в задании исследование математической модели (таблица 1).

7

 

Решение задачи методом конечных разностей:

Для врерификации сравним решение задачи для однородного стержня в САПР Comsol Multiphysics, который позволяет решить одномерную задачу теплопроводности методом конечных элементов:

Исходные значения при расчёте:

Время решения задачи методом конечных разностей

Результат решения:

В таблице приведены значения температуры в каждом узле (каждая строка следующий момент времени)

Результат решения в мометн в ремени 5с в Comsol

Расхождение результатов от Comsol составило в среднем 3,2%

Графики в момет времени 0,5 с

Графики в момет времени 0,5 с при решении в Comsol

Графики в момет времени 5 с

Графики в момет времени 0,5 с при решении в Comsol

Графики температуры всех временных слоёв

Графики темпнратуры всех временных слоёв в Comsol

Решение задачи методом конечных элементов

левая половина результатов

Правая половина

Решение в Comsol на последнем слое

Средняя погрешность составляет менее 1%

График в момент времени 0,5 с

График в момент времени 0,5 с  в Comsol

График в момент времени 2,5 с

График в момент времени 2,5 с  в Comsol

График в момент времени 5 с

График в момент времени 5 с  в Comsol

Листинг программы метод конечных разностей

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace thermalTask

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

double a1,a2;

double L;

double t;

double dt;

double h;

double gam1, gam2;

double bet1, bet2;

double[,] u;

double[]  b;

//double A [ n ][ n ];

double[,] Lm;

double[,] D ;

double[] vX;

int nx;

int nt;

double[,] mL, mD, mU;

private void BT_vitchislit_Click(object sender, EventArgs e)

{

//получение праметра а

if (radioButton1.Checked)

{

a1 = double.Parse(TB_lam.Text) / (double.Parse(TB_C.Text) * double.Parse(TB_RO.Text));

a2 = double.Parse(TB_lam2.Text) / (double.Parse(TB_C2.Text) * double.Parse(TB_RO2.Text));

}

else

{

a1 = double.Parse(TB_A.Text);

a2 = double.Parse(TB_A2.Text);

}

nx = int.Parse(TB_d0L.Text);

nt = int.Parse(TB_d0T.Text);

u = new double[(nx + 1) * (nt + 1), (nx + 1) * (nt + 1)];

b = new double[(nx + 1) * (nt + 1)];

L = double.Parse(TB_L1.Text) + double.Parse(TB_L2.Text) + double.Parse(TB_L3.Text) + double.Parse(TB_L4.Text);

t = double.Parse(TB_T.Text);

h = L / nx;

dt = t / nt;

double nu = double.Parse(TB_NT.Text);

double lu = double.Parse(TB_LT.Text);

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

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

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.