Fluid Split

Разбивает входящий поток на два разных потока. Сумма скоростей выходных потоков равна скорости входного потока.

Может работать в трех альтернативных режимах:

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

FluidSplit является блоком с нулевой вместимостью, он не содержит вещество внутри.

Выходная партия из FluidSplit на обоих выходах та же самая, что и входная партия. Действие При новой партии может применяться для того, чтобы изменить режим и/или приоритеты в зависимости от входной партии.

Демо модель: FluidSplit

Параметры

Режим
Режим разбиения потоков. Один из следующих:
Нейтральный - ни один из выходов не получает приоритет
Пропорциональный - скорости выходных потоков должны подчиняться правилам пропорций
Приоритет - один из выходов обладает приоритетом над другим
Получить значение: 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(true или false)
Приоритет выхода 1
[Данный параметр виден и применяется только в том случае, если параметр Режим установлен в значение Приоритет] Применяется в режиме Приоритет с другими приоритетами. Определяет приоритет потока на выходе 1 в общей диаграмме процесса. Должен быть неотрицательным целым числом.
Синтаксис: int priorityOutput1Custom
Поменять значение во время выполнения: set_priorityOutput1Custom(новое значение)
Приоритет выхода 2
[Данный параметр виден и применяется только в том случае, если параметр Режим установлен в значение Приоритет] Применяется в режиме Приоритет с другими приоритетами. Определяет приоритет потока на выходе 2 в общей диаграмме процесса. Должен быть неотрицательным целым числом.
Синтаксис: int priorityOutput2Custom
Поменять значение во время выполнения: set_priorityOutput2Custom(новое значение)
Скорость на выходе ограничена
Если данная опция выбрана (значение true), то вы сможете изменить в этом блоке верхний предел скорости выходного потока. Задается отдельно для каждого выхода.
Синтаксис: boolean limitRateOut
Поменять значение во время выполнения: set_limitRateOut(true или false)
Макс. скорость на выходе
[Параметр виден и применяется только в том случае, если выбрана опция Скорость на выходе ограничена] Здесь вы можете задать другой верхний предел скорости потока на выходе. Задается отдельно для каждого выхода. Значение по умолчанию составляет 10 куб. метров/сек.
Синтаксис: double maxRateOut
Установить новое значение во время выполнения: set_maxRateOut(новое значение)
Анимация
Отображать партии в блоке
Если эта опция установлена, то значок блока будет отображать цвет текущей партии.
Синтаксис: boolean showBatchesInFlowchart
Действия
При новой партии [код]
Действие выполняется, когда новая партия прибывает на вход. Эта партия не обязательно начнет поступать в блок.
Локальная переменная: Object batch - партия
При изменении скорости [код]
Действие выполняется, когда изменяется скорость любого потока. Обратите внимание на то, что определенные изменения, произошедшие в результате выполнения данного действия, могут вызвать другое мгновенное изменение скорости, за которым сразу последует повторное выполнение действия При изменении скорости, что в итоге может привести к взаимной блокировке.
Локальные переменные:  double inrate - текущая скорость во входном порте
                          double out1rate - текущая скорость в выходном порте out1
                          double out2rate - текущая скорость в выходном порте out2

Функции

double amountPassed() - Возвращает общий объем вещества, прошедший через входной порт, начиная с запуска процесса моделирования.

double amountPassed(AmountUnits units) - Возвращает общий объем вещества (в заданных единицах измерения объема), прошедший через входной порт, начиная с запуска процесса моделирования.

void resetStats() - Сбрасывает собранную блоком статистику, включая статистику, собранную на его портах.

double currentRate() - Возвращает текущую скорость потока вещества на входе.

double currentRate(FlowRateUnits units) - Возвращает текущую скорость потока вещества (в указанных единицах измерения скорости) на входе.

Порты

in
Входной порт.
out1
Верхний выходной порт, out 1.
out2
Нижний выходной порт, out 2.