Моделирование переходных процессов при помощи программного пакета Microsoft Visual Studio
Очень часто при научных исследованиях имеется необходимость составить математическую модель того или иного процесса (если он имеет сложный характер, мы можем получить систему дифференциальных уравнений или даже не одну), по которым с помощью специализированных программных пакетов, таких как MatLab, MatCad или MicroCap будем проводить исследование интересующего нас переходного процесса, c целью получения искомого результата.
Многие моделированием в выше указанных программных пакетах занимались, причем неоднократно, поэтому составление модели и работу в них пропустим. Результат мы получить, конечно, можем, но всегда ли данный вариант для нас удобен?
Допустим, требуется провести исследование переходного процесса нагрева металла в шестизонной методической печи для заданных нулевых начальных условий. Проблемы нет никакой. Мы имеем более десятка исходных параметров, которые характеризуют нашу систему, составляем модель, например в матлабе, подаем на вход системы ступенчатое воздействие и видим, как она на него отреагировала.
А если рассмотреть задачу с другой стороны, то есть имеем все теже исходные уравнения и вид переходного процесса, только требуется уже определить те полтора десятка исходных параметров, которые у нас были изначально, а возможно их оптимальное соотношение. Нам придется проводить массу опытов, вручную переходить по блокам, а если их много и они однотипные в них можно легко запутаться, и искать оптимальное решение.
В данной статье я предлагаю решить вторую задачу с помощью среды разработки Microsoft Visual Studio, а программу написать на VBNet. Вы можете задать вопрос: зачем писать программу, ведь это займет еще больше времени, чем требуется для моделирования? И будете, абсолютно правы, но только при написании первой или второй программы, где вы потратите массу времени, пока разберетесь, как это делается. Впоследствии знание того или иного языка программирования принесет вам свои дивиденды, в том числе и экономию во времени.
Тепловой баланс по металлу и по газу соответственно имеют вид:
Не будем вдаваться в описание переменных, так как не это является главной целью, а общий вид решения задачи. Главная проблема, при написании программы – это то, что данные уравнения необходимо решить! Как же мы это будем делать? Зачастую, если мы работаем за компьютером, а не считаем вручную, все делается с помощью численных методов, так поступим и мы.
Представим данные уравнения в виде системы:
После чего переведем все в матричный вид:
Итоговое дифференциальное уравнение решим численным способом с помощью метода Рунге-Кутты четвертого порядка [1, 2].
В принципе для написания программы уже все есть. Сразу возникает вопрос: а с чего начать?
В этом плане лично мне очень понравилась книга VBNet в примерах
[3]. По данному запросу в
поисковике вы получите десяток-другой результатов, также имеется довольно много форумов,
где представлено решение типичных задач и не только.
Вышеуказанную задачу я решил следующим образом: составил окно для исходных данных, куда вынес все параметры, которые не требуют изменения или имеют небольшой диапазон варьирования, а также нулевые начальные условия – рисунок 1.
А непосредственно окно для моделирования представлено на рисунке 2.
Данная математическая модель реализована в виде прикладной программы с использованием среды разработки Microsoft Visual Studio, что позволило провести моделирование переходного процесса нагрева металла в шестизонной противоточной методической печи №1 листопрокатного цеха ЗАО «Донецксталь». Кривая 1 на полученных диаграммах отвечает температуре дымовых газов, которая увеличивается при движении заготовок по зонам, причем поскольку рассматривается прямоточный режим, то в каждой из зон повышается экспоненциально, стремясь к нарастающей средней температуре металла (кривая 3). Кроме того определены кривые изменения температуры центра (кривая 4) и поверхности металла (кривая 2). Результаты расчета могут быть сохранены в текстовом файле.
Также в данной программе возможно моделирование переходного процесса как для прямоточного движения дымовых газов, так и противоточного, что позволяет проследить разницу по времени нагрева металла до требуемой температуры на поверхности и по сечению заготовки.
Также нужно отметить, что при работе в Microsoft Visual Studio придется работать с массивами данных, поэтому в этом вопросе необходимо хорошо разобраться.
Как пожелание: пробуйте и у вас все обязательно получится.
Перечень ссылок
- Калиткин Н.Н. Численные методы / Н.Н. Калиткин Справочное пособие – М.: Наука – 1978. – 512 с. // Режим доступа: http://by-chgu.ru...
- Колдаев В.Д. Численные методы и программирование / В.Д. КолдаевИД – М.: ИНФРА-М – 2009. – 338 с. // Режим доступа: http://www.letitbook.ru...
- Зиборов В.В. Visual Basic 2010 на примерах / В.В. Зиборов – Санкт-Петербург: БХВ-Петербург – 2010. – 339 с. // Режим доступа: http://forcoder.ru...