Comments 39
Разработать систему алгебро-дифференциальных уравнений, описывающих динамическое поведение моделируемой систем. Это просто, если знать физику процесса. Множество ученых уже разработали для нас основные физические законы имени Ньютона, Бренули, Навье Стокса и прочих Штангелей Циркулей и Рабиновичей.
А если физика процесса неизвестна или просто лень с системой диффуров заморачиваться на первых этапах, то можно сделать System identification в Матлабе
System Identification Toolbox предоставляет возможности для построения математических моделей динамических систем по измеренным данным входа и выхода реальной системы.
И если вы систему идентифицировали, в диапазонах на которых были данные, то при выходе за диапазон никто не гарантирует результата.
И если вы систему идентифицировали, в диапазонах на которых были данные, то при выходе за диапазон никто не гарантирует результата.
Да, верно. Поэтому диапозон входных данных должен быть максимально возможным.
System Identification больше напоминает reverse engineering физических процессов.
У вас уравнения и их взаимосвязи как описываются, с помощью какого языка?
У нас брошюра весит для студентов и преподаватель simintech бесплатен, это так?
Насколько я знаю Siemens сейчас Amesim довольно агрессивно рекламирует и есть внедрения, на тот же энергомаш и миль, плюс там большая готовая база библиотек, в том числе для теплообменников.
Мы их на простой задачи со стенкой из учебника поймали.
А поскольку библиотека для наших продавцов закрыта, он не могли поправть в течении полу-года.
А сколько там еще не простых ошибок?
Для студентов и преподавателей бесплатный, плюс сейчас действует программа, за каждую публикацию статьи с использованием SimInTechплатится 10 000 руб.
Что касается языка то это смесь паскаля (откуда взяли begin — end) и матлаба, где производная пишетеся как y' = a*x;
и естественно можно как в Simulinк из блоков собирать уравнения:
Например гидроцилиндр в виде набора блоков:
Камера в виде дифиренциального уравнения:
Нет тут тоже основное назначение — создание программы управления для контроллера. Более того есть сретификат для систем безопасности АЭС которые позволяют генерировать код из схемы в контроллеры управления важные для безопасности.
У amesim и похожих назначение несколько другое, это скорее программы для одномерных расчётов сложных систем, гидравлика, пневматика, переходные процессы, а вот с системами управления там не очень, как и с генерированием кода.
если мы проектируем, у нас аппарат которого нет в библиотеке. К тому же в случае теплообменника, в авиации влияния неачинает оказывать взаимное расположение агрегатов, когда перетоки тепла, нужно учитывать.
Это так, но зачастую система состоит из набора простых элементов, например тот же flowmaster достаточно хорошо гидравлическую схему двигателя моделирует, по сути состоя из библиотечных элементов с гидравлическими сопротивлениями (хотя иногда и весьма специфичными, по типу лабиринтного уплотнения). У вас библиотеки, по типу того же amesim есть, с той же стенкой или надо руками уравнения прописывать?
Что касается языка то это смесь паскаля (откуда взяли begin — end) и матлаба, где производная пишетеся как y' = a*x;
А интеграция modelici не планируется? По сути сейчас это чуть ли не стандарт языка моделирования систем, плюс на нём куча библиотек готовых есть.
Вообще какие то туториалы в открытом доступе есть посмотреть, может ролики на youtube? У Вас вроде даже интеграция с тем же логосом прописана, мультисистемная модель, а как это в интерфейсе выглядит непонятно.
Для студентов и преподавателей бесплатный
А как его получить и посмотреть?
В части моделирования все похоже. И библиотеки конечно есть, и в отличие от amesima болшая часть открыта для пользователя. Особенность SimInTech втом, что он для АЭС использовался изначально и там много, систем, подсистем и оборудования, поэтому ядро изначално для больших схем писали свое. Соответсвенно с моделикой пока не работает. А брать готовое ядро моделике — терять все преимущества.
Например сейчас у нас модель гидравлической системы управления для подводной добычи газа считает все месторождение в реальном времени.
Референтная модель на моделике в SimulationX, c которой мы вериффицировались, на этой же машине медленне раз в 10-20, результаты совпадают.
Сейчас можно модель по протоколу FMI подключать.
Встроить возможность считать моделикой планируем, что бы открытые библиотеке можно было к нам подключать. Но у большинства комерческих продуктов, модели закрыты, хотя выполнены на моделике. Amesim тот же. А когда модель закрыта, какая разница, в том что там стандартная моделика, код то недоступен.
Но у большинства комерческих продуктов, модели закрыты, хотя выполнены на моделике. Amesim тот же
У коммерческих то да, но существуют открытые, например modelica.org/libraries
медленне раз в 10-20, результаты совпадают.
Сама то моделика не очень быстрая, это да, но и её подход более удобен, с соединителями, особо для мультидисциплинарных расчётов.
что он для АЭС использовался
Вроде у вас числится ЦИАМ в пользователях, они для систем управления или ПГС использовали?
Есть ли возможность мультидисциплинарных расчётов (как в amesim пример по газотурбинному двигателю)?
Опять таки по опыту выясняется что удобство связей имеет свою цену, особеннок когда код закрыт. У нас был опыт когдам мы гидавлическую и механическую систему соединяли, в одном случае получается, что скорость рассчитывается в двух местах и итерациями уравнивается, если мы используем стандартные связи. А если переделать рассчетную схему и скорость считать в механической части и передавать в гидравлическую, то исчезают лишнии итерации и расчет ускоряется. Но связь уже не стандартная и универсальная и работает только в конкретном случае. Тут всегда нужно искать лучший вариант. Идеально конечено иметь возможность и стандартные связи моделики и возможность из изменения.
Референтная модель на моделике в SimulationX, c которой мы вериффицировались, на этой же машине медленне раз в 10-20, результаты совпадают.
Странно, а сначала вроде у вас медленнее считалось, чем в SimulationX)
Посмотрел в нашей переписке, в SimulationX считалось примерно в 30 раз быстрее реального времени на моём компе. Как вам удалось замедлить нашу модель?))
Да нормально, мы же вашу модель использовали просто из коробки. И скорость нас устраивала — задача решена. У нас первый вариант тоже считал примерно так же. Просто потом у нас появилось полное месторождение, вот тут пришлось анализировать, что и где можно и нужно ускорять.
Но почему-то я не сомневался, что в итоге по результатам этого проекта появятся ваши типичные маркетинговые сказочки «модель на моделике в SimulationX медленнее раз в 10-20, результаты совпадают».
«Видно, что результат практически не отличается, за тем исключением, что Simscape почему-то начинает неистово дробить шаг в конце переходного процесса. Возможно, это связано со способом расчёта расхода, который в конце становится очень маленьким, а может и нет...»
«Примерно та же самая история. Результаты практически не отличаются, но Simscape почему-то безосновательно начинает дробить шаг. Что у него в голове? Я не знаю...»
Так про это и речь, ну не стали бы вы специально для нас менять модели гидропривода арматуры, в которой скорость рассчитывается в двух местах и это вызывает замедление рассчета когда таких армтур в модели больше 150 штук. Не думаю что разработчикам SimulationХ, так же есть смысл вводить и выводить сигналы в систему управления для отладки ПМУ непосредственно из полости в гидроцилиндре.
Выводить сигналы из полостей гидроцилиндра можно и стандартными инструментами, для этого ничего дописывать не нужно. Если для решения задачи требуется создание новых компонентов, эти компоненты заказчик получает в полностью открытом виде.
Недавно мы делали проект, где речь шла о стыковке по SiL с контроллером Сименс гидравлической системы тоже более чем с сотней арматур, и под этот проект я написал с нуля модель центробежного насоса (вне бюджета проекта), которая позволяет моделировать его запуск, не замедляя расчёт. Плюс создал библиотеку компонентов специально под эту систему, из которых можно спокойно собирать аналогичные системы, не беспокоясь, что где-то начнётся дробление шага интегрирования.
Так что здесь речь только о том, подключаешь ли ты к своему проекту разработчиков софта. В случае с Simscape и Amesim, это практически нереально, для нас же это обычный рабочий процесс. Поэтому скорость расчёта и точность модели будет ровно такая, какая требуется для решения задачи.
А вот это реально круто, когда можно с разработчиком договорится. Просто для разработчиков MatchWorks это то же ральный процесс (наверное), но к ним очередь из страждущих бесконечна и наши хотелки и проблемы для них как блоха кусающая вошь — малое более высокго порядка. Как наверное для любого реально массового софта. Будь у заказчкиа Simscape, хрен бы он увидел и «модель центробежного насоса (вне бюджета проекта)» и «библиотеку компонентов специально под эту систему».
Тут все определяется соотнешением цена — работа. Вам еще повезло, что французы гайки не закручивают, по моему опыту с Dassault, они заряжают ценник 1000$ в день за специалиста, но могут как специалиста прислать консультанта который только 2 недели назад из Simiens пришол. И все что может это вопроссы записать и отправить по длинной цепочке, которая к разработчику может привести недели через 2, с вероятностью 50%
Будь у заказчкиа Simscape, хрен бы он увидел и «модель центробежного насоса (вне бюджета проекта)» и «библиотеку компонентов специально под эту систему».
Да, но не потому что у них массовый софт, а потому что это универсальный и мощный инструмент научного работника для решения широкого круга научных задач. SimulationX же — инструмент инженера для решения прикладных технических задач.
Mathworks шли от инструмента для работы с огромными матрицами для решения научных и образовательных задач, наша же программа изначально развивалась, отталкиваясь от инженерных проектов, в результате которых получались библиотеки компонентов.
Поэтому и заказчики у нас совершенно разные. Вам Simscape для этого проекта не подошёл бы не только потому что разработчики и инженеры далеко, а потому что у них в принципе не было опыта в таких проектах. Максимум что они предлагают — это консалтинг, в процессе которого научат более эффективно использовать их софт, но сами задачи в любом случае решать нужно было бы вам самим. Для университетов это ок, но для фирм, которые решают прикладные задачи, это зачастую слишком дорого и долго.
— Это ты сейчас всю моделику и своих немецких коллег подопустил? Типа без тебя их стандартные компоненты на больших моделях тормозили и дробили шаг? :))))
А политично рассуждаешь! Клянусь честное слово, не понимаешь политической ситуации! youtu.be/JVmNb1wDDZg
Типа без тебя их стандартные компоненты на больших моделях тормозили и дробили шаг?
Плохо ты мою методичку читал) Какие бы ни были стандартные компоненты, всё равно в конечном итоге всё определяется выбранными допущениями (какие конкретно компоненты взять и как их между собой соединить). Модели, предназначенные для расчётов в килогерцовом диапазоне, как правило, непригодны для расчётов в масштабе времени суток. Собственно, и вам пришлось начать думать где и как что можно ускорить, несмотря на ваш хвалёный решатель жёстких диффуров.
Что хорошо в Modelica как языке — что можно удобно создавать вложенные структуры элементов моделей и при необходимости подменять их на аналогичные по структуре, но с другим наполнением. Недавно освоил эту технологию и в новых проектах стараюсь делать модели с переключением степеней детальности, чтобы можно было быстро проанализировать какое свойство системы за какой физический эффект отвечает.
На примере из гидравлики — есть плунжерный насос, у которого возникают пульсации давления на выходе. Есть предположение, что это из-за клапанов. Можно сделать модель клапана с несколькими степенями детальности (без учёта инерции, с учётом, без учёта гидродинамической силы, с учётом и т.п.) и одним кликом менять структуру модели, анализируя как какой эффект влияет на пульсации. На детальной модели можно отладить конструкцию насоса, а для расчёта того же трубопровода, например, или редуктора к насосу, использовать уже упрощённую быструю модель.
По поводу дробления шага, у вас вон есть полный доступ вообще ко всему вашему коду, а всё равно не могли понять почему шаг интегрирования дробится при околонулевых расходах дросселя)
"По поводу дробления шага, у вас вон есть полный доступ вообще ко всему вашему коду, а всё равно не могли понять почему шаг интегрирования дробится при околонулевых расходах дросселя)"
Ничего уливииельно.Избаловали гилравлика, что все всегда считается он и там и налепил, уравненений, мне пришлось твое пособие читать, чтр бы понять где он косячит.
Что значит одинаковые по структуре но с другим наполнением? У нас можно назначить внутренность блока в виде субмодели, и при изменения параметра полностью менять все что находится внутри блока. Если портов стало больше, то они просто добавятся. Если меньше, то линия связи просто повиснет. На рисунке один и тот же блок, у которого разные параметры в свойствах, видно что в одном случае просто выход, в другом можно управляющее воздействия и нетраль подключать к схеме.
1. Ничего не сказано про изменение теплофизических свойств воздуха. При перепаде температур от 120 до 70 градусов плотность и вязкость воздуха меняются довольно существенно. Очевидно это как-то учитывается в модели, но хотелось бы увидеть этов явном виде.
2. Убейте не понял зачем нужно было городить огород с шестью ячейками. Попутный ток, противоток вместо перекрестного тока. Сложно и не нужно.
3. Второе уравнение для числа Нуссельта. Вы ссылаетесь на книгу «РАСЧЕТ ПЛАСТИНЧАТЫХ
ТЕПЛООБМЕННИКОВ», а рассчитываете компактный пластинчато-ребристый. Это разные типы. И при всем обилии литературы по данному вопросу ставить ссылки на методички. Чем вам Чичиндаев не угодил? Он как раз занимался расчетами СКВ и тоже разбивал теплообменник на ячейки.
4. Самое, на мой скромный взгляд, некорректное в Вашей модели. Вы берете какие-то непонятные характеристические уравнения, загружаете данные экспериментов, а потом занимаетесь подгонкой. Зачем? Тем более, если у вас коэффициенты в формуле не постоянные. С таким же успехом можно просто линейные уравнения использовать. Правильнее было бы обобщить данные продувок и работать с ними без промежуточного звена.
1) Свойства воздуха учитываются в уравнениях, на каждом временном шаге и для каждого рассчетного объема используются свойства из таблиц для рассчитываемых параметров. Просто формулы заняли бы еще 30 страниц текста.
2) Элементарная ячека в модели это упрощенно «канал теплоносителя со стенкой», количество расчетных участков в трубе задается достаточно просто, одно цифрой. Соединение же между участками, для получения перекрестного расхода, требует создания 6 соединений (вход — выход горячий, вход-выход холодный, 2 тепловые связи см. рис. 5) с точки зрения создания расчетной схемы это просто по времени дольше. Поэтому и попробавали соединений сделать меньше, а точек внутри больше. Большее количество расчетных ячеек, при меньших усилиях и посмотреть что по результатам получится.
3) Формулы были приведены, просто для примера, что бы показать существующий широкий диапазон коэффициентов в этих формулах и пояснить на примерах, что напрямую взять их и получить рассчет не получится, нужно настраивать по результатам эксперимента.
4) Характеритические уравнения мы берем как раз понятные, и обще употребительные, рекомендованные авторами как раз для авиационных теплообменника, но коэффициенты в этих уравнениях мы получаем методом настройки по модели.
Если бы у нас был один теплообменник в системе, то нам достаточно было бы просто данных продувок, но у нас целая система с турбопродами задвижками, турбохолодильниками и регуляторами, и считать ее надо в комплексе в динамических режимах. В данных режимах нам важна не точка продувки (расход и установившаяся температура), а именно скорость изменения. Нам нужно понять как растет температура, котороая приводит к изменению свойств (полотность, взяскость) а далее к изменению течения воздуха во всей системе.
Спасибо!
Можно построить достаточно быстро модель которая учитывает объем воды в системе (трубы и теплообменники) объем нагреваемого воздуха и потери тепла через стены. Если есть исторические данные по температурам то достаточно просто посчитать кофэициент теплопередачи и вогнать его в модель в виде коэффицента интесефикации теплообмена. Скорости и расходы воды в системе тоже должны быть известны. Это будет задача с теплообменником и несколькими баками типа разобранной в этой статье: https://habr.com/ru/post/576082/
P.S. А у SimInTech есть какая-нибудь «home»-версия? ознакомительная, или что-нибудь в этом роде…
Модельно ориентированное проектирование. Создание достоверной модели, на примере авиационного теплообменника