Автоматизация моделирования ТЭЦ

Широкое внедрение методов математического моделирования в практику инженерных расчетов выявило узкое место этого процесса — большие затраты труда высококвалифицированных инженеров и программистов на разработку программ расчета. В большинстве случаев эти затраты связаны с тем, что незначительные изменения в математических описаниях моделируемых объектов требуют перепрограммирования по сути дела одних и тех же алгоритмов. Кроме того, в алгоритмах, разработанных ручным способом, последовательность расчета определяется на основании субъективных соображений инженеров и программистов, без достаточно глубокого топологического анализа схемы рассматриваемой установки. В результате разработка адекватной математической модели недопустимо затягивается.

Решение этой очень важной и сложной задачи по автоматизации высококвалифицированного инженерного и программистского труда многие авторы видят в разработке автоматизированных систем построения математических моделей исследуемых объектов. В данном разделе дается описание одной из таких систем — системы машинного построения программ (СМПП) инженерных расчетов энергетических установок [25, 57]. СМПП является весьма универсальной и может использоваться для построения математических моделей различных энергетических объектов. Наибольшее практическое применение СМПП нашла при построении математических моделей ТЭЦ. Объясняется это тем, что ТЭЦ имеет наиболее сложные среди энергетических установок технологические тепловые схемы и применение СМПП дает в этом случае наибольший эффект.

Описание СМПП. При создании СМПП стремились удовлетворить следующим требованиям: 1) система применима для моделирования любых энергоустановок; 2) при рассмотрении различных вариантов энергоустановки не должно требоваться программистской работы по изменению отдельных блоков системы; 3) исходная информация об энергоустановке должна быть лаконичной и должна задаваться на языке, легко усваиваемом инженерами; 4) продукцией системы должны быть программы на одном из языков высокого уровня, таких, как АЛГОЛ, ФОРТРАН; 5) программы расчета энергоустановок, полученные при помощи системы, должны легко сочленяться с другими программами, в частности с программами оптимизации параметров моделируемых установок.

В основе автоматизированного построения при помощи СМПП математических моделей и программ расчета энергетических установок лежат следующие общие соображения.

Задавая описания элементов энергоустановок в виде совокупностей отношений (например, уравнений), не обязательно ориентированных на вычисление каких-либо переменных, можно поставить задачу: на основании информации об элементном составе и связях схемы установки автоматически получить ее математическую модель в виде системы отношения; используя такую модель, построить ряд программ расчета с различными целями. Информация о цели расчета при этом может быть задана, вообще говоря, двумя способами: либо указанием того, какие переменные должны быть вычислены, либо заданием списка переменных-исходных данных. Далее встает вопрос о решении полученной системы уравнений. Специфика систем отношений, описывающих энергетические установки, в большинстве случаев позволяет использовать для этой цели различные модификации метода последовательных приближений [25]. Для его реализации каждое уравнение должно быть ориентировано на вычисление одной переменной. Следовательно, нужно иметь некоторую процедуру, которая на основании информации о цели расчета автоматически производила бы ориентацию всех отношений, т.е. разрешение их относительно некоторых переменных. Таким образом будет получен неупорядоченный набор операторов, из которых должна состоять программа расчета. Для получения этой программы операторы при помощи специальной процедуры должны быть автоматически расположены в некоторой последовательности, которая, вообще говоря, не однозначна. При построении последовательности расчета по возможности нужно учитывать факторы, влияющие на эффективность получаемой программы, в частности число итерационных циклов. Принципы, положенные в основу указанных процедур, должны быть достаточно общими, т.е. ни в коей мере не зависеть от вида установки и не требовать каких-либо указаний от исследователя по организации вычислительного процесса. В данной постановке на ЭВМ должны быть возложены сложные функции по преобразованию лаконичной входной информации в программу расчета. В соответствии с этими соображениями СМПП имеет три следующих основных входа:

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

2. Вход уровня описания схемы моделируемого объекта. Здесь задается информация об элементном составе и связях между элементами конкретной схемы. При этом конкретизируются отдельные экземпляры типовых элементов.

3. Вход уровня постановки задачи расчета конкретной энергоустановки, определяющий состав задаваемых и вычисляемых переменных.

Такое разделение входов системы позволяет: а) В зависимости от поставленных целей исследования и рассматриваемых объектов варьировать как составом типовых элементов, так и смыслом, вкладываемым в них; б) при фиксированном составе типовых элементов варьировать схемами; в) при фиксированном составе типовых элементов и фиксированной схеме варьировать решаемыми задачами.

Основным выходом системы является текст программы решения поставленной задачи на языке ФОРТРАН или АЛГОЛ.

Базовые модели представляют собой совокупности отношений между интересующими исследователя переменными трех видов: уравнения, операторы присваивания и операторы процедур. Уравнения могут быть алгебраическими и трансцендентными. Каждое из них записывается в виде, разрешенном относительно какой-либо одной переменной. Описание базовых моделей делается в алголоподобном виде, однако важно подчеркнуть, что оно не является упорядоченной последовательностью операторов (программой), а представляет собой источник для построения различных программ, которые могут быть получены на основании описания модели энергоустановки и поставленной на ней задачи.

Для задания топологии схемы используются связующие отношения двух типов. Первый из них записывается в виде тождеств между переменными, характеризующими потоки энергоносителей на входах и выходах связываемых элементов. Второй тип — многопараметрические связи, при записи которых указываются обозначения связываемых элементов схемы, признаковые обозначения потоков на входе и выходе элементов и обозначение параметров, характеризующих данный поток (например, расход, энтальпия, температура).

Постановка задачи осуществляется заданием списка переменных исходных и (или) списка вычисляемых переменных. Эти списки могут быть неполными. В этом случае СМПП имеет свободу при планировании вычислительного процесса. Полные списки вычисляемых и задаваемых переменных сообщаются пользователю в процессе работы СМПП. По завершении работы СМПП вместе с программой расчета выдается также список итерационно уточняемых переменных, для которых нужно при расчете энергоустановки задавать начальные значения.

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

При выполнении большинства операций, связанных с решением указанных задач, совсем не обязательно знание смысла переменных и связывающих их отношений. Гораздо удобнее использовать лаконичные абстрактные модели отношений и их систем в виде двудольных графов. Двудольные графы представляются в ЭВМ в виде компактных списков кодов вершин.

Каждой базовой модели СМПП ставит в соответствие графовую модель (Г-образ). При построении Г-образа системы отношений, соответствующей моделируемой энергоустановке, СМПП производит следующие действия: размножает Г-образы базовых моделей, экземпляры которых входят в данную энергоустановку; отождествляет образы переменных (вершины графа) в соответствии с информацией о связях установки; выделяет на полученном графе вершины, соответствующие переменным, заданным пользователем в качестве вычисляемых переменных и исходных данных. На полученном Г-образе системы отношений планируется решение задачи расчета энергоустановки. При этом с использованием алгоритмов построения совершенного паро сочетания производится ориентация Г-образа и далее находится порядок расположения вершин графа-прообразов операторов программы расчета схемы в последовательности, обеспечивающей решение поставленной задачи. В результате получается схема вычислительного процесса. На всех этапах описанного процесса путем рационального использования параллельных цепных списков и других структур, а также специальной системы ссылок сохраняется возможность вернуться к конкретному смыслу вершин графов. После построения схемы вычислительного процесса алгоритм конкретизации, используя заготовки стандартных текстов, преобразует эту схему в вычислительную программу на АЛГОЛе или ФОРТРАНе в зависимости от желания пользователя. Укрупненная схема функционирования СМПП приведена на рис. 7.1.

Входной язык СМПП. Большое внимание при разработке СМПП уделено созданию входного языка. Этот язык состоит из четырех частей: язык описания моделей, язык описания задач на моделях, язык заданий на генерацию программ, язык управления сервисом СМПП.

Особенность языка описания моделей состоит в том, что в СМПП математической моделью типового элемента энергоустановки является не вычислительный блок (процедура), в котором операторы выступают в роли аналогов реальных процессов преобразований информации в соответствующем аппарате, а совокупность отношений между параметрами, характеризующими состояние типового элемента. Математическая модель энергоустановки в целом составляется из математических моделей ее элементов и также представляет собой систему отношений, а не вычислительную программу.

В СМПП модель является иерархической структурой, в которой имеются элементарные компоненты (константы, переменные, массивы), структурные компоненты (подмодели) и отношения (явные и неявные зависимости) между компонентами. Переменные делятся на собственные и несобственные. Собственные компоненты обладают значениями, зависящими от экземпляра той модели, к которой они отнесены, и не зависящими от значений других компонентов. Значения несобственных компонентов зависят (в общем случае) от значений других элементарных компонентов. Отношение может быть функциональным, определяющим компоненты- результаты в зависимости от компонентов-аргументов; неявными, в котором не указано, какой из входящих в него компонентов является результатом; связующим, предназначенным для отождествления компонентов из разных моделей.


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

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

Описание подмоделей включает информацию о том, какие модели из имеющихся в архиве СМПП входят в состав данной модели. Для каждой подмодели указываются наименования ее экземпляров. Например, если модель М содержит экземпляры ml и m2 модели т, а также экземпляры tlitl, t3. модели t, то в теле Мописание подмоделей выглядит следующим образом:


Строгие определения основных конструкций языка описания моделей в виде синтаксических правил приведены в [57].

Описание моделей на входном языке СМПП является той базой, на основе которой СМПП может генерировать различные программы расчета стационарных состояний тех объектов, модели которых хранятся в архивах системы. Информацию о целях расчета СМПП получает на языке описания задач на моделях.

Язык описания задач в СМПП предусматривает следующие возможности: 1) описать несколько задач в одном задании (каждая задача при этом имеет свое имя); 2) перечислить элементарные компоненты, значения которых требуется найти в результате решения задачи; 3) перечислить элементарные компоненты, значения которых предполагаются известными при решении задачи; 4) указать список компонентов, которые могут выступать в роли итерационно уточняемых величин; 5) придать начальные значения как задаваемым, так и итерационно уточняемым компонентам; 6) описать действия над компонентами модели, которые являются специфическими для данной задачи и которые не включены в совокупность отношений рассматриваемой задачи.

Сама по себе постановка задачи на модели не вызывает генерацию программы решения задачи, для этого необходимо на языке заданий на генерацию программ сформулировать задание. Задание на генерацию содержит перечень наименований тех задач, программы решения которых должны быть сгенерированы. Кроме того, задание на генерацию содержит название языка программирования, на котором будет представлен алгоритм решения задачи, а также вид внешнего носителя информации, предназначенного для хранения сгенерированных текстов алгоритмов. Возможно представление программ либо на языке ФОРТРАН, либо на языке АЛГОЛ. Тексты сгенерированных программ в СМПП можно выдать на печать, перфорацию или записать на магнитную ленту.

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

Как видно из изложенного, входной язык СМПП весьма прост, лаконичен, нагляден и не требует от инженера-пользователя знаний в области программирования (умения организовывать вычислительные процессы и т.п.)

Кроме рассмотренных языков, для СМПП разработан еще язык управления работой СМПП. Его назначение — инициировать работу СМПП. Этот язык включает описание ряда заданий для системы. Так, например, одно из заданий может заключаться в формировании архива моделей, другое — в обработке описания задачи на модели из архива, третье — в формировании нового архива моделей и т.д. Каждому заданию предшествует своя системная команда, которая характеризует вид задания и одновременно является командой, настраивающей СМПП на работу того или иного блока системы.

В СМПП возможны следующие системные команды: АРХИВ, ЗАДАЧА, ГЕНЕРИРОВАТЬ, РЕДАКТИРОВАТЬ, ФИНИШ. Команда АРХИВ задает режим обработки описаний моделей и размещения моделей, в которых нет синтаксических ошибок, в архиве СМПП. Команда ЗАДАЧА определяет режим обработки описаний задач на моделях. По системной команде ГЕНЕРИРОВАТЬ производится генерация программ решения задач на моделях. Команда РЕДАКТИРОВАТЬ настраивает СМПП на обработку совокупности заданий на редактирование. По системной команде ФИНИШ работа СМПП заканчивается.

Текст на языке управления работой СМПП, который будем называть системным пакетом, всегда начинается одной из системных команд и заканчивается командой: ФИНИШ, указывающей на завершение работы системы. Между этими командами размещаются сами задания. Структура системного пакета определяется синтаксисом языка управления работой СМПП [57].

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

Информация, определяющая функционирование системы, задается в виде системного пакета, который содержит одно или несколько заданий для СМПП. Задания выполняются в том порядке, в котором входят в системный пакет, и каждое из них может использовать в качестве входной информацию, полученную при выполнении другого пакета или других заданий этого же пакета.

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


Как видно из рис. 7.2, каждый блок СМПП взаимодействует с архивом системы. В архиве хранятся как модели, разработанные для описания типовых элементов, входящих в состав некоторого класса энергоустановок, так и модели, разработанные для определения расчетных задач.

Архив СМПП может состоять из нескольких предметных архивов, в которых хранятся модели из разных прикладных областей. В СМПП имеется каталог предметных архивов, содержащий наименования предметных архивов и адреса этих архивов во внешней памяти. У каждого предметного архива имеется свой каталог моделей, который содержит наименования моделей, входящих в архив, и адреса моделей в архиве. Общая структура архива СМПП приведена на рис. 7.3.

Рассмотрим в общих чертах назначение программных компонентов СМПП. Блок Архив обрабатывает описания моделей и заносит в предметный архив те модели, которые не содержат ошибок. Блок Задача обрабатывает описание задачи на модели, фиксирует возможные ошибки и (в случае отсутствия ошибок) определяет, значения каких компонентов при помощи каких отношений вычисляются. Блок Генератор по описанию задачи на модели и на основе сведений о конкретных отношениях, хранящихся в предметном архиве СМПП, синтезирует процедуру решения задачи. Эта процедура представляется на языке высокого уровня (АЛГОЛ, ФОРТРАН) и в дальнейшем может использоваться для расчета и оптимизации параметров энергетической установки, модель которой включена в архив СМПП. Блок Редактирование предназначен для создания предметных архивов и проведения работ с ними. С его помощью можно завести предметный архив, уничтожить предметный архив, исключить модель из архива. Блок ’Печать предназначен для вывода на АЦПУ содержимого каталогов и предметных архивов системы.



На.рис. 7.4 приведена общая схема функционирования СМПП, согласно которой обработка системного пакета производится следующим образом. На :вход управляющей программы поступает системная команда. Управляющая программа распечатывает команду на АЦПУ и проверяет ее корректность. Если системная команда корректна, т.е. является одной из команд АРХИВ, ЗАДАЧА, ГЕНЕРИРОВАТЬ, РЕДАКТИРОВАТЬ, ПЕЧАТЬ, то управляющая программа передает управление соответствующему блоку СМПП (Архив, Задача, Тенератор, Тедактирование, Печать). В этом случае дальнейшую обработку системного пакета продолжает тот блок, которому бьпо передано управление. После того как обработка задания будет завершена, управление передается управляющей программе, которая вновь читает системную команду из системного пакета, и процесс повторяется. Так продолжается до тех пор, пока на вход управляющей программы не поступает команда ФИНИШ, в этом случае работа системы завершается.

Многолетний опыт использования СМПП научно-исследовательскими и проектно-конструкторскими организациями для построения математических моделей ТЭЦ дал положительные результаты [57].

Исследование систем теплоснабжения/Л.C. Попырин, К.С. Светлов, Г.М. Беляева и др. М.: Наука, 1989.

на главную