Anylogic 流体批次,动态更改批次属性(批次大小,插入批次)

Anylogic fluid batches, changing batch properties (size of batch, insert a batch) dynamically

我的管道很长(几百公里)。一批批不同类型的流体被一个接一个地注入管道。所以现在,我想以某种方式访问​​管道中的批次,并且 (1) 更改特定批次的大小,(2) 在两个批次之间插入一个新批次并更新其大小 (3) link 的参数批次(例如ID)并查找该批次的属性(访问批次,搜索相应的ID,然后查找属性)。

问题是这样的:在两批流体接触的地方,它们混合,形成新的一批,这是两种流体的混合物。因此,在注入端(入口端)我可能注入了两种流体(流体 1 和 2),比如说各注入 50,000 立方米。在流体到达的出口侧,将有三种产品 - 流体 1,例如 47,000 立方米;然后是一种新的流体混合物,其成分为 60% 流体 1 和 40% 流体 2,大小为 5,000 立方米;然后流体 2 的大小为 48,000 立方米。

所以总的来说质量平衡是保持的,100k 进去了,100k 出来了,但是有三个流体批次出来了,只有两个通过了,通过阅读他们的 "ID" 能够确定组成(例如 "Fluid 3",插入 "Fluid 1" 和 "Fluid 2" 之间的组成为 60% / 40%)。

因此,不知何故,在某个时间点,我需要访问管道中的流体,插入新批次,设置该批次的大小和组成,并更新剩余批次的大小。

是否有动态执行此操作的方法,或者您是否必须在某个地方中断进程,"capture" 内容并重新注入?

管道上的流体库无法修改管道中的任何内容

我认为做到这一点的唯一方法是在批次进入管道之前将其实际更改为您想要的任何内容。

如果您对不同的批次使用不同的颜色,这将看起来不太好,因为您希望真正看到混合发生,但这可能是您实现这一目标的唯一方法。

我认为此工作的另一种方法是将管道连接在一起并在连接期间自定义初始批次。您需要为此施展一些 java 魔法。

与你想做的相比,这些并不理想,但我认为它们是你唯一的选择。