Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьт в лит производстве2 лекция 5-6.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
241.15 Кб
Скачать

Разработка программной (численной) модели для системы с сосредоточенными параметрами.

После неудачной попытки применения аналитической модели, для получения которой потребовалось принять допущение о постоянстве параметров дифференциальной модели (табл. 3, графы 5 и 6). во многих случаях целесообразно отказаться от попытки подбора таких уточнений модели, которые позволяют выполнить аналитическое интегрирование, поскольку в большинстве случаев потребуется делать весьма искусственные допущения о характере зависимостей параметр0ов модели от переменных процесса. Наиболее простым способом, позволяющим сравнительно простым путём решать задачи с произвольным законом изменения параметров модели, является применение численного решения задачи с помощью компьютера (см. рис 5). Обычно для решения дифференциальных уравнений используют разностные методы решения, являющиеся стандартными и хорошо обеспеченные программами. Задача заключается только в выборе наиболее подходящего метода (который может обеспечить максимальную точность решения).

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

, (15

для численного решения преобразуется к разностному виду введением дискретных переменных x0, x1 ..., xn и y0, y1 ... , yn. Обычно задают равномерное приращение независимой переменной х, откуда xi=x0+ix, где 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%) можно приступить к оценке адекватности модели, так как остаточная погрешность связана только с погрешностями физической модели и её математической реализации.