【问题标题】:Anylogic fluid batches, changing batch properties (size of batch, insert a batch) dynamicallyAnylogic流体批次,动态改变批次属性(批次大小,插入批次)
【发布时间】:2020-09-27 16:27:02
【问题描述】:

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

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

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

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

有没有办法动态地执行此操作,或者您是否必须在某个地方中断该过程,“捕获”内容并重新注入?

【问题讨论】:

  • 在现实生活中,你不能只是神奇地将新批次插入封闭的管道,那么为什么你认为在这里做是个好主意呢?你需要某种过程才能做到这一点。
  • 在现实生活中,当您将第二种产品注入第一种产品时,“第三”批产品就开始形成。如果您注入 Diesel 并在后面跟着 Petrol,则 Diesel 和 Petrol 将在两种产品之间的界面处混合。根据您注入的速度(以及密度、粘度等),“混合”会增长得更快或更慢 - 但在到达结束时,您将拥有柴油、混合料,然后是汽油(尽管您只在另一端)。如果电源跳闸并且线路足够长 - 你将只有一批 - 混合物
  • 因此您要么注入 Diesel、少量“Mix”和 Petrol,然后动态缩小 Diesel 和 Petrol 的批次大小,同时随着批次沿管道移动增加 Mix 的批次大小,或者您等到形成足够数量的 Mix 后再将其作为新批次注入?这两种方法都需要您访问管道中的批次并动态更改它们的大小。理想情况下,用户应该看到一个“混合”随着它在动画中的移动而增长。

标签: dynamic fluid anylogic


【解决方案1】:

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

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

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

我看到这种工作的另一种方式是将管道连接在一起并在连接期间自定义初始批次。你需要为此制作一些 java 魔法。

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

【讨论】:

    猜你喜欢
    • 2020-09-24
    • 2018-10-26
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 2022-10-04
    • 1970-01-01
    相关资源
    最近更新 更多