Разбивает входящий поток на два разных потока. Сумма скоростей выходных потоков равна скорости входного потока.
Может работать в трех альтернативных режимах:
- Нейтральный — ни один из выходов не получает приоритета и не накладываются никакие дополнительные ограничения. Если оба выхода вместе могут принять больше жидкости, чем может поступить к ним со входа, то поток распределяется между выходами недетерминировано.
- Пропорциональный — блок накладывает дополнительное ограничение: скорость потока на выходе 1 / Доля 1 = скорость потока на выходе 2 / Доля 2, поэтому величины скоростей выходных потоков зависят друг от друга, так же как и от величины скорости входного потока.
- Приоритет — блок FluidSplit стремится максимально увеличить скорость одного из выходных потоков, а другой выходной поток получит тот приоритет, который останется. Иногда, чтобы избежать конфликта приоритетов, вам может понадобиться изменить значения приоритетов (путем присвоения им целочисленных значений) и тем самым достичь желаемых значений приоритетов.
В режиме Приоритет точка, показывающая приоритетный выход, становится оранжевой, если значения потоков не соответствуют заданным приоритетам. Это может быть как штатной ситуацией, так и сигналом о том, что потоки не распределяются должным образом, и требуется явное задание других приоритетов.
Скорость потока на входе в блок не ограничена. Скорость потока на выходе из блока может быть ограничена. Заданное положительное значение скорости потока не должно быть ниже значения RATE_TOLERANCE, т.е. меньше 1.0e-9. Если при перерасчете скорость потока опускается ниже значения RATE_TOLERANCE, она приводится к нулю.
FluidSplit является блоком с нулевой вместимостью, он не содержит вещество внутри.
Выходная партия из FluidSplit на обоих выходах та же самая, что и входная партия. Действие При новой партии может применяться для того, чтобы изменить режим и/или приоритеты в зависимости от входной партии.
Демо-модель: FluidSplit Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.- Режим
-
Режим разбиения потоков. Один из следующих:
- Нейтральный — ни один из выходов не получает приоритет
- Пропорциональный — скорости выходных потоков должны подчиняться правилам пропорций
- Приоритет — один из выходов обладает приоритетом над другим
Получить значение: mode
Установить новое значение во время выполнения: set_mode(новое значение)
Допустимые значения:
FluidSplit.SPLITMERGE_NEUTRAL — Нейтральный
FluidSplit.SPLITMERGE_PROPORTIONAL — Пропорциональный
FluidSplit.SPLITMERGE_PRIORITY — Приоритет - Доля 1
-
[Данный параметр виден и применяется только в том случае, если Режим: Пропорциональный]
Доля (относительная) скорости потока на выходе 1 в режиме Пропорциональный.Синтаксис: double fraction1
Установить новое значение во время выполнения: set_fraction1(новое значение) - Доля 2
-
[Данный параметр виден и применяется только в том случае, если Режим: Пропорциональный]
Доля (относительная) скорости потока на выходе 2 в режиме Пропорциональный.Синтаксис: double fraction2
Установить новое значение во время выполнения: set_fraction2(новое значение) - Другие приоритеты
-
[Данный параметр виден и применяется только в том случае, если Режим: Приоритет]
Если данная опция выбрана (значение true), то приоритетам выходных потоков будут присвоены другие значения. В противном случае им будут присвоены значения 0 и 1. Приоритеты влияют на LP решатель, когда он стремится увеличить до максимума количество вещества, проходящего через систему.Синтаксис: boolean customPriorities
Поменять значение во время выполнения: set_customPriorities(новое значение) - Приоритет выхода 1
-
[Данный параметр виден и применяется только в том случае, если Режим: Приоритет]
Применяется в режиме Приоритет с другими приоритетами. Определяет приоритет потока на выходе 1 в общей диаграмме процесса. Должен быть неотрицательным целым числом.Синтаксис: int priorityOutput1Custom
Поменять значение во время выполнения: set_priorityOutput1Custom(новое значение) - Приоритет выхода 2
-
[Данный параметр виден и применяется только в том случае, если Режим: Приоритет]
Применяется в режиме Приоритет с другими приоритетами. Определяет приоритет потока на выходе 2 в общей диаграмме процесса. Должен быть неотрицательным целым числом.Синтаксис: int priorityOutput2Custom
Поменять значение во время выполнения: set_priorityOutput2Custom(новое значение) - Скорость на выходе ограничена
-
Если данная опция выбрана (значение true ), то вы сможете изменить в этом блоке верхний предел скорости выходного потока. Задается отдельно для каждого выхода.
Синтаксис: boolean limitRateOut
Поменять значение во время выполнения: set_limitRateOut(новое значение) - Макс. скорость на выходе
-
[Параметр виден и применяется только в том случае, если выбрана опция Скорость на выходе ограничена]
Здесь вы можете задать другой верхний предел скорости потока на выходе. Задается отдельно для каждого выхода. Значение по умолчанию составляет 10 куб. метров/сек.Синтаксис: double maxRateOut
Установить новое значение во время выполнения: set_maxRateOut(новое значение)
- Отображать партии в блоке
-
Если эта опция установлена, то значок блока будет отображать цвет текущей партии.
Синтаксис: boolean showBatchesInFlowchart
- При новой партии
-
Действие выполняется, когда новая партия прибывает на вход. Эта партия не обязательно начнет поступать в блок.
Локальная переменная: Object batch — партия
- При изменении скорости
-
Действие выполняется, когда изменяется скорость любого потока. Обратите внимание на то, что определенные изменения, произошедшие в результате выполнения данного действия, могут вызвать другое мгновенное изменение скорости, за которым сразу последует повторное выполнение действия При изменении скорости, что в итоге может привести к взаимной блокировке.
Локальные переменные:
double inrate — текущая скорость во входном порте
double out1rate — текущая скорость в выходном порте out1
double out2rate — текущая скорость в выходном порте out2
- Количество вещества
-
Функция Описание double amountPassed() Возвращает общий объем вещества, прошедший через входной порт, начиная с запуска процесса моделирования. double amountPassed(AmountUnits units) Возвращает общий объем вещества (в заданных единицах измерения объема), прошедший через входной порт, начиная с запуска процесса моделирования. - Скорость потока
-
Функция Описание double currentRate() Возвращает текущую скорость потока вещества на входе. double currentRate(FlowRateUnits units) Возвращает текущую скорость потока вещества (в указанных единицах измерения скорости) на входе. - Сброс статистики
-
Функция Описание void resetStats() Сбрасывает собранную блоком статистику, включая статистику, собранную на его портах.
- in
- Входной порт.
- out1
- Верхний выходной порт, out 1.
- out2
- Нижний выходной порт, out 2.
-
Как мы можем улучшить эту статью?
-