- •Движение жидкости (газа).
- •Тепло- и массоперенос.
- •Химические реакции.
- •Физико-химические процессы в потоке.
- •Этапы построения детерминированной модели
- •Формулировка математической модели
- •Программирование и
- •Отладка программы
- •Аналитическое решение задачи
- •Экспериментальное
- •Определение
- •Констант модели
- •Выбор параметров
- •Процесса вычислений
- •Решение контрольных задач
- •Контрольные
- •Эксперименты на
- •Натурном объекте
- •Оптимизация процесса с помощью модели
- •Определение целевой функции
- •Помощью модели
- •Разработка аналитической (интегральной) модели для системы с сосредоточенными параметрами.
- •Разработка программной (численной) модели для системы с сосредоточенными параметрами.
- •Разработка программной (численной) модели с распределёнными параметрами.
Разработка программной (численной) модели для системы с сосредоточенными параметрами.
После неудачной попытки применения аналитической модели, для получения которой потребовалось принять допущение о постоянстве параметров дифференциальной модели (табл. 3, графы 5 и 6). во многих случаях целесообразно отказаться от попытки подбора таких уточнений модели, которые позволяют выполнить аналитическое интегрирование, поскольку в большинстве случаев потребуется делать весьма искусственные допущения о характере зависимостей параметр0ов модели от переменных процесса. Наиболее простым способом, позволяющим сравнительно простым путём решать задачи с произвольным законом изменения параметров модели, является применение численного решения задачи с помощью компьютера (см. рис 5). Обычно для решения дифференциальных уравнений используют разностные методы решения, являющиеся стандартными и хорошо обеспеченные программами. Задача заключается только в выборе наиболее подходящего метода (который может обеспечить максимальную точность решения).
Выбор метода и разработка алгоритма решения задачи. Исходное дифференциальное уравнение, общий вид которого может быть представлено выражением
, (15
для численного решения преобразуется к разностному виду введением дискретных переменных x0, x1 ..., xn и y0, y1 ... , yn. Обычно задают равномерное приращение независимой переменной х, откуда xi=x0+ix, где i = 0, 1,..., n. Тогда уравнению может быть придана разностная форма
,
откуда может быть получена вычислительная формула
yi+1 = yi + x fi (x,y) (16)
позволяющая по неизвестному значению yi и fi(x,y) на предыдущем i-м шаге по х найти значение yi+1 на последующем (i +1) шаге. Чтобы осуществить процесс вычислений вплоть до n - го шага, надо задать начальное значение y (x0) = y0. Вид функции fi(x,y) зависит от принятого метода вычисления производной. В простейшем случае, реализующем метод Эйлера, задают fi(x,y) = f(xi,yi), т.е. экстраполируют производную на целый шаг х вперёд, вычислив её значение в предыдущей точке. Получаемая при этом погрешность может получиться слишком высокой, что потребует уменьшения шага х, т.е. значительного увеличения объёма вычислений. При использовании методов повышенной точности Эйлера - Коши, Рунге - Кутта и др., погрешность решения может быть существенно уменьшена при экономии машинного времени.
Как видно из соотношения (16), вычисление fi(x,y) в правой части производится путём подстановки известных на предыдущем i-м шаге значений xi, yi, например,
(17)
Поэтому учёт зависимостей любых параметров уравнения dy / dx = f(x,y) от х и/или у не представляет сложности. Это снимает какие-либо принципиальные ограничения на решения подобных уравнений.
Перед тем, как приступить к программированию, необходимо разработать алгоритм численного решения задачи, учитывающий последовательные этапы выполнения вычислений в соответствии с выбранным методом, начиная с ввода исходных данных и кончая выводом результатов расчёта. При построении алгоритма выявляется необходимость в некоторые моменты вычислений принимать решения в точках ветвления алгоритма, используя проверку условий по специально введённому счётчику или заданному ограничению по величине вычисленных параметров, а также обнаруживаются участки циклически повторяющихся расчётов. На рис. 5 в качестве примера приведен алгоритм численного решения задачи о нагреве слитка, в котором предусмотрено последовательное (с шагом ) вычисление температуры t() по методу Эйлера согласно формуле (17). с окончанием вычислений при достижении заданной конечной температуре tк.
Программирование задачи и отладка. При составлении программы, соответствующей алгоритму (см. рис.) необходимо ввести имена переменных, допустимых в используемом языке программирования, а также пользоваться стандартными (для используемого языка) операторами ввода-вывод
Для выявления ошибок неязыкового характера делают контрольный счёт какого-либо варианта, предварительно вставив в текст программы операторы отладочного вывода, позволяющие контролировать процесс вычисления. Возможно использование различного рода debuger,ов (всторенных или внешних).
Выбор параметров вычислительного процесса. Для проведения расчётов при численном интегрировании уравнения `dy/dx = f(x,y) необходимо задать величину шага х, от которого зависит погрешность вычислений у и затраты машинного времени. Для оценки погрешности, вносимой численным методом решения задачи, используют 2 приёма:
-сопоставление результатов повторного решения задачи с последовательно уменьшаемой величиной шага х; если произвести вычисления, изменив ч в два раза, тогда можно для оценки у воспользоваться приближённой формулой
, (18)
где у(2х), у(х) - расчётные значения, полученные в соответствии с шагом 2х и х; s - порядок погрешности, присущий выбранному для реализации численному методу (см. табл. 4).
Начало
0,
F,V,C0
Ввод исходных данных t0, tk, tn,
, b1, b2, c
Присвоение начальных t =t0, = 0
значений переменных Np = 20, k = 0
Расчёт
операционных
констант
= + , k = k + 1
Вывод Расчёт с = с (t)
результатов
К = 0
Расчёт
=
(,t)
нет
К
Np
Расчёт
нет
t < tk
Вывод результатов
К
онец
Рис. 7. Блок - схема алгоритма численного расчёта нагрева слитка в печи.
При уменьшении шага х расчётные зависимости у(х) сходятся в точные решения, поэтому сопоставление результатов, получаемых при пробных расчётах с уменьшением х позволяет оценить получаемое при этом уточнение в сопоставлении с увеличением затрат машинного времени. Во многих случаях желательно при программировании задачи предусмотреть автоматический выбор величины шага х, путём введения в программу блока, оценивающего погрешность получаемого результата и сравнивающего её с заданным значением предельной ошибки уmax и повторно вычисляющего с уменьшающимся шагом х*= х ( = 0,8...0,9), если у>уmax. Только после устранения вычислительной погрешности (уменьшения ниже допустимого предела уmax= 0,05...0,5%) можно приступить к оценке адекватности модели, так как остаточная погрешность связана только с погрешностями физической модели и её математической реализации.
