|
|
|
Добро пожаловать на сайт NeuroThermal.narod.ru - официальный представитель программ на базе движка Neuro!
Neuro - термодинамический движок расчета состояний теплового оборудования (пароводопроводов, газопроводов, котлов, турбин, БРОУ, ПВД и т.п.) в реальном времени.
Thermal - ядро движка Neuro, разработанное на основе формуляра IF97, любезно предоставленного международной организацией воды и пара IAPWS.
|
|
"ПИД регулятор" v1.0
|
01.10.2011
|
|
Описание и история развития проекта
|
Вот и еще один проект дозрел до версии 1.0. И хотя для достижения этого знакового события пришлось приложить немного больше усилий, чем обычно: переработать структуру, интерфейс программы и даже ввести пару дополнительных потоков, в конечном итоге проект все же достиг желаемого результата и в нем появились следующие изменения:
- возмущения для объекта регулирования теперь можно задавать как с помощью журнала событий, так и в реальном времени воздействуя курсором мыши на ползунки и кнопки регуляторов; - для предотвращения зависания интерфейса основной цикл расчета теперь выполняется в отдельном, фоновом потоке; - при настройке коэффициентов ПИД-регулятора и изменении параметров объекта к графику переходной характеристики добавился график критерия устойчивости Найквиста; - немного изменил интерфейс программы, а при переходе в полноэкранный режим применил масштабирование картинки; - добавил пример регулирования более сложного двухемкостного объекта (инерционное звено 2 порядка, колебательное звено), с регулированием входным регулятором, и контролем уровня воды во втором баке; - при переходе с одного примера на другой принудительно срабатывает пауза.
P.S. К сожалению, на тестирование времени почти не осталось, так что вполне возможны ошибки и неточности. Ну а в целом получилось неплохо и надеюсь познавательно.
|
|
|
"Нейросеть v0.7"
|
25.03.2011
|
|
Описание и история развития проекта
|
После обнаружения на сайте codeproject.com нескольких великолепных статей с исходным кодом посвященных нейросети, наконец-то решил осуществить свое давнее желание и попытаться разобраться с этим загадочным зверем.
Первым делом решил опробовать на практике методику распознавания рукописных цифр, и посмотреть, как отреагирует нейросеть на мои каракули. В примере использовал нейросеть со структурой, подробно описанной в статье (кстати отмеченной призом сайта) by Mike O'Neill, ну а обучал ее с помощью программы с открытым кодом by Filip D'haene (код просто чудо, браво маэстро!). Стоит отметить также базу данных рукописных цифр MNIST и статью by billconan, kavinguy, послужившей отправной точкой.
Во второй части программы реализована простейшая нейросеть со структурой 2-3-1 и обучением по методу обратного распространения ошибки. Эта структура является неким аналогом логического элемента (с возможностью переобучаться) и хорошо описана в серии статей by Sacha Barber [1] [2] [3].
P.S. Хочется также отметить статью by Jeff Heaton, посвященную его собственному движку Encog (в котором собраны множество методик и алгоритмов, связанных с нейросетью и искусственным интеллектом), а также статью by Andrew Kirillov с примерами на базе также собственного движка AForge. Возможно следующая версия этого проекта будет посвящена именно им.
|
|
|
"Термодинамика в реальном времени v0.5"
|
21.12.2010
|
|
Описание и история развития проекта
|
Эта програмка посвящена технологии параллельных вычислений с использованием видеоускорителей GPGPU, а точнее молодому его представителю - языку OpenCL. На этот язык уже стали ориентироваться (предлагая широкую поддержку в виде драйверов и SDK) ведущие разработчики видеокарт: NVIDIA (с их уже очень популярной подобной технологией CUDA) и ATI (с технологией Stream).
В данной версии программы было интересно пощупать OpenCL в деле и сравнить производительность 96 потоковых ядер видеокарты GeForce 8800 GTS с двумя ядрами процессора Intel Core 2.2 ГГц. Ну, в качестве примера решил опробовать расчет температурного поля алюминиевой пластины при воздействии на нее двух источников тепла. Расчет (при разбиении пластины на мелкие кусочки, подобно сетке МКЕ) хорошо распараллеливается, что является основой для применения GPGPU. Так как OpenCL использует язык C++, то в проекте использовал в качестве его обертки открытую библиотеку Cloo, написанную на C#.
P.S. В дальнейшем планирую реализовать подобный расчет с применением CUDA, поработать над оптимизацией кода, усложнить данный пример и может быть добавить еще несколько примеров для наглядности.
|
|
|
"Диаграмма HS для воды и водяного пара v2.1"
|
01.09.2010
|
|
Описание и история развития проекта
|
Основной фишкой данной версии является удачная реализация масштабирования диаграммы и шкал параметров (заслуга технологии WPF). Остальные изменения, хоть и менее эффектные, но не менее значимые. Итак начнем:
- доделал режим X-const (не успел в предыдущей версии), при этом добавил в ядро Thermal новые функции: pX, TX, hX, sX, vX; - после многочисленных жалоб на тормоза при старте программы, ускорил ее запуск за счет кэширования начальных данных (что увы отразилось на размере файла); - изменил сетку постоянных изобар, изотерм и т.д., а также внес небольшие изменения в редактор графиков (формат выходного файла не изменился); - немного изменил дизайн и функциональность окна программы, задействовал колесико мыши для изменения масштаба; - продолжил рефакторинг и тестирование ядра Thermal.
P.S. При публикации данной версии, помимо обфускации управляемого кода, решил добавить внутреннее шифрование (использовал идею открытого проекта netz), так что ILDASM теперь отдыхает.
|
|
|
"Симулятор паровой схемы ТЭЦ" v0.9
|
21.05.2010
|
|
Описание и история развития проекта
|
Итак, основной проект сделал довольно крупный шаг на пути к задуманному релизу, и в нем произошли следующие изменения:
- паровая схема значительно расширилась. - появилась телеметрия параметров, с возможностью выбора графиков и их масштабирования. - сделал временное грубое автоматическое регулирование уровня воды в барабане котла и срабатывание предохранительных клапанов на котлах: 112 ати - открытие, 103 ати - закрытие. - выработка эл.энергии турбинами временно очень просто - 10 тонн пара на 1 МВт (хоть это и не верно, но в качестве заглушки пока пойдет). - присутствует контроль времени: пуск, стоп, пауза, сброс, пошаговый режим (обратный ход пока не реализован).
P.S. Основная проблема - тормознутость программы, так и не была решена, буду надеется на оптимизацию в следующей версии. Минимальное требование для программы - процессор 2 ГГц. При FPS менее 10 кадров в секунду расчет останавливается (спасет лишь пошаговый режим).
|
|
|