如何将heatPorts.T传递给DynamicPipe flowModel?

时间:2016-03-18 16:48:38

标签: modelica dymola openmodelica jmodelica

在使用Modelica标准库DynamicPipe(或从PartialTwoPortFlow构建的类似模型)运行的流模型的实现中,存在在具有需要墙属性的热传递的环境中发生的流模型的示例(例如,热端口) .T和/或heatPorts.Q_flow)以计算压降。

例如,压降模型可能需要根据介质压力和壁温来计算新的visocisty或Prandtl数,以捕获冷却/加热效应等。

传热模型通过"状态获得介质的属性。但是,DynamicPipe或PartialTwoPortFlow中没有现成的连接,反之亦然。

我尝试过各种各样的想法并且没有成功,包括创建一个新的PartialTwoPortFlow,其中包含DynamicPipe中存在的所有热转移调用。

我对发布这个问题犹豫不决,因为我很惊讶我遇到了这么多困难,找到一个直接的解决方案也不会感到惊讶。然而,如果其他人已经解决了这个问题,我需要这种能力并且很好奇,因为我的想法很缺乏。

所以我的问题是:

将heatPorts.T值传递给flowModel的正确/有效方法是什么?

1 个答案:

答案 0 :(得分:0)

对于那些熟悉MSL Fluids库的人,更具体地说是提供的Pipe模型,这个答案应该(希望)有意义。

旁白:

似乎动态管道可以通过不限制传热区域到周长x长度来改进一点,而是引入一个参数(例如,heatTransferArea),允许用户定义它并默认为周长x长度。见下文

  parameter SI.Area heatTransferArea = perimeter*lengths "Total heat transfer area";
  HeatTransfer heatTransfer(
    ...
    final surfaceAreas=heatTransferArea , //perimeter*lengths <- replaced
    ...

结束旁边:

为了将heatPorts.T传递给flowModel并且在检查每个模型时没有错误,我必须执行以下操作:

  1. 在flowModel中为Ts_w创建一个“输入”。不参数(看看medias.state是如何传递的)!可能需要像“直径”(参见DetailedPipeFlow)那样进行一些处理,以便按照您认为的方式使用它。
  2. 复制PartialTwoPortFlow并将最终的Ts_w = Ts_wFM添加到flowModel。另外在PartialTwoPortFlow中定义变量SI.Temperature [nFM + 1] Ts_wFM,并在等式部分中建立类似于statesFM的定义。 这将需要添加一个要添加的HeatPorts模型。
  3. 复制DynamicPipe并将扩展名更改为新的PartialTwoPortFlow。将use_HeatTransfer设置为true(因为我已经将它设置为现在必须是真的,因为这是不理想但可管理的)。可能最好使它成为最终参数,因此无法更改。 不要忘记将heatPorts连接到步骤2中添加的热端口。
  4. 我相信这会抓住我如何将壁温传递给flowModel的快速版本。也许有更优雅的方式,但我虽然这是非常有用的。我现在只需要一个部分模型和一个名为PartialTwoPort_wTemp和GenericDynamicPipe的管道模型(我还在新管道中加入了SurfaceArea校正)。