Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2020 » Сентябрь » 24 » Численное решение уравнения теплопроводности
22:06
Численное решение уравнения теплопроводности

Численное решение уравнения теплопроводности

Использовалось оно тут:
https://akostina76.ucoz.ru/blog/2020-09-20-6760

А сегодня я хочу показать, насколько там все не просто, а очень просто с программной точки зрения.
Исходное уравнение:

А дальше я заменю производные на их определения:
https://akostina76.ucoz.ru/blog/2020-09-07-6728

Первая производная это приращёние функции, делённое на приращение аргумента функции. В данном случае функция от двух аргументов (x и t). Но записать как первую так и вторую производную конкретного аргумента можно и довольно просто.
Вот так, например:

Или так:

Запись производной по x немного отличается от общепринятой. Но и так можно записать. В теории есть бесконечно малый промежуток h. В компьютере он станет просто малым приращением. 2*h – это либо два бесконечно малых, либо два просто малых значения, что всё равно мало. Короче, так тоже можно записать определение производной.
Вторую производную по x можно получить из первой (проделав с ней то же, что было сделано с исходной функцией для получения первой производной). Будет так:

А дальше эти определения производных примитивно подставляются в исходное уравнение, исходя из того, что на малых промежутках отличая от реальных значений – величины какого-то N+1-го порядка малости:


Единственное, чего я в этом не знаю это w(x,t+q), т.е значение температуры в следующий момент времени в некоторой точке x. Все остальное, что есть в уравнение, это данные по температуре в предыдущий момент времени. Они все мне известны. Это либо значения температур в начальный момент времени w(x,0):

….
либо полученное расчётом раньше (предыдущий ряд),

Довольно важно то, что надо знать всё, что на краях. Не только то, что есть в начальный момент времени по всей стенке ни и температуры на краях во все моменты времени. Без этого просто не посчитать значения u(x, t+q) на всех рядах кроме первого.
Потому количество известной информации будет на каждом шаге сокращаться. В погодной задаче будет именно так. На каждом следующем шаге будет отваливаться граничные точки. Ведь чтобы посчитать значения  в них надо знать что там, откуда ветер. А эта информация есть только в начальный момент. Поэтому размер территории должен быть достаточно большой, чтобы смоделировать все перемещения воздуха, который в итоге через неделю попадёт в интересующую точку. 
Весь текст расчёта для уравнения теплопроводности:


Вот и всё. И даже в этом половина строк – компиляция произвольных функций.
К уравнению теплопроводности можно что угодно и где угодно прикрутить. Моё задание было такое:

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

Если это условие не соблюдается, то получается не помню что, но очень высокохудожественное. Предмет «Методы вычисления» дополняет и так известные определения производных этой необходимой при машинном расчете информацией. На самом деле, довольно неожиданно что всё это работает только при определённых условиях.
Это я про то, что «машина посчитала» не всегда аргумент. Машина много чего посчитать может, и выдать очевидную лажу когда вроде бы, всё правильно написано.

Просмотров: 111 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Сентябрь 2020  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz