Разработка алгоритма расчета каждого заданного параметра в функции от всех внешних воздействий

Решить аналитически многомерную систему нелинейных алгебраических уравнений представляется совершенно невозможно. Приходится обращаться к численным способам.

Если аккуратно выписать все уравнения модели (~102 штук) и отдать их вычислителю с просьбой решить поставленную задачу, то даже очень опытный вычислитель, имеющий опыт разработки алгоритма сложных задач, испытает большие трудности в разработке алгоритма и вряд ли будет успех (такой факт известен). Вычислителю надо помочь! Берем на себя смелость дать вычислителю следующие советы.

1. Алгоритм расчета должен соответствовать технологической схеме ХТС, начинать расчеты надо с первого передела сырья в технологии и далее следовать по технологическому потоку.

2. Заранее организовать подпрограмму расчета теплофизических, химических и других свойств исходных, промежуточных и конечных продуктов в ХТС, извлекая из общей системы уравнения для расчета этих свойств. Это позволит существенно упростить архитектуру алгоритма, позволит обращаться к этой подпрограмме по мере надобности.

3. При написании алгоритма и далее программы на каком-то языке не жалеть времени и места на словесный комментарий с указанием ЧТО будет делаться. Это позволит быстро находить ошибки для разработчиков самой модели и программы.

4. В связи с наличием, как правило, обратных связей при разработке технологических схем ХТС возникает ситуация, показанная на рис.3.2.

 
 

 


Рис. 3.2. Иллюстрация влияния обратной связи на алгоритм расчета.

 

При подходе к расчету искомых функций i-го аппарата видно, что поток и его параметры из (i +k)-го - еще не известны. Здесь ничего другого не остается, как задаться параметрами потока в обратной связи и далее двигаться по алгоритму. После расчета искомых функций (i + k)-го аппарата необходимо убедиться, что рассчитанная величина и ранее заданная, совпадают с некоторой точностью. Если такого совпадения нет, то надо снова задаться параметрами потока из (i + k)-го аппарата и вернуться к расчету искомых функций i-го аппарата. Таким образом, организуется итеративный процесс расчета.

Сразу встает вопрос о точности, т.е. о величине нуля всей задачи. Здесь полезно вспомнить о том, что собираемся делать дальше, а будем рассчитывать заданные параметры и определять, где они находятся относительно номинального значения, попадут или не попадут в разрешенный диапазон отклонения заданного параметра. Если все заданные параметры попадут в свои разрешенные диапазоны отклонения, то такое событие назовем благоприятным: ХТС работоспособна, иначе - отказ. В соответствии с этим нулем по каждому заданному параметру назначаем величину 10-1 от амплитуды разрешенного отклонения каждого заданного параметра.

Второй вопрос: чем задаваться снова? Чисто опытным путем установлено, что итеративный процесс становится сходящимся, если новое задаваемое значение параметра из (i + k)-го аппарата делать полусуммой старого значения и полученного на предыдущей итерации. Математического обоснования этого обстоятельства мы не имеем, и поступаем здесь по логике только самого факта сходимости итераций.

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

Предупреждение для потенциальных пользователей метода исследования работоспособности ХТС. У разработчика алгоритма решения системы нелинейных алгебраических уравнений может возникнуть “спасительная” идея линеаризовать все уравнения в окрестности номинальных значений параметров технологического потока ХТС. Тогда получаем систему неоднородных, но линейных уравнений с известными коэффициентами. Для такой системы существует несколько способов решения, и даже имеются стандартные программы для ЭВМ. Однако, эта идея губительна для результата: матрица такой системы оказывается “полупустой”. Иными словами, в каждой строке такой матрицы всего 3 - 4 ненулевых элемента, а остальные - нули. Напомним, что число строк и столбцов такой матрицы порядка 102.

Такой оригинальный путь решения приводит в область плохо обусловленных задач или, говоря простым языком, точность решения таких задач крайне низкая и плохо контролируемая. А суть проблемы в том, что определитель полупустой матрицы близок к нулю, и отсюда все беды. Установлено, что линеаризовать всю модель нельзя, так как не пройдет проверка адекватности модели (см. следующий блок алгоритма метода).

Еще одно предупреждение. Исходя из принципа, что «лень движет человечеством», мы поддались соблазну сделать величины тепло-физических и химических постоянных неизменными. Логика такого решения такова: номинальные значения параметров технологического потока меняются из-за внешних воздействий незначительно. А потому тепло-физические и химические постоянные тоже изменяются мало. Алгоритм и программа сразу существенно упростилась, размерность задачи уменьшилась, большая часть итераций исчезла, а время счета стало таким, что не успевали выпить чашечку кофе. И все-таки червь сомнения все время точил: бесплатных пирожных не бывает. Мы сравнили результаты счета заданных параметров для одной из исследуемых ХТС для двух вариантов: с постоянными величинами тепло-физических свойств потока, рассчитанных при номинальных значениях параметров ХТС, и с переменными, текущими, зависимыми от комплекта внешних воздействий. Установлено, что модуль разности большинства заданных параметров для этих двух вариантов счета оказался больше разрешенного диапазона изменения заданных параметров.

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

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