【问题标题】:Two-Phase Modelica Media example两相 Modelica Media 示例
【发布时间】:2015-12-30 17:31:37
【问题描述】:

我正在尝试在 OpenModelica 中开发具有单一物质的流动模拟,该物质将是液体或蒸汽。 Modelica.Media.Water 模型确实有两个阶段,但非常复杂,并且很难复制完全不同的物质。 我想找到一个可以使用的两相介质的简单示例。有一个部分包 TemplateMedium 和一个部分包 PartialTwoPhaseMedium,但我没有看到任何关于如何编写可以处于两个阶段中的任何一个的全新媒体的示例。
如果有人可以提供一个简单的示例,或者只是列出所需的最小属性和方程式的列表,那么作为起点将非常有帮助。

解决 cmets 中的一些问题: 我刚刚开始使用这个模型,所以我试图了解媒体模型是如何构建的细节,以及模型中包含的我的细节以及必须为每个新媒体添加的内容。我使用丙烯,所以有很好的数据可用。这是包含在 CoolProp 中的媒体之一,因此能够使用 ExternalMedia 和 CoolProp 将非常有用,但我相信这些尚未与 OpenModelica 一起使用,来自许多 cmets 和错误报告。

【问题讨论】:

  • 你对什么物质感兴趣,你想用什么状态方程来建模?您是否正在实施开放文献中的方程式?到目前为止你做了什么?您是否完成了方程式的实现,只是想让它与 Modelica.Media 接口兼容?你对状态方程了解多少?你读过哪些刊物?请扩展您的问题以涵盖这些要点。

标签: simulation modelica openmodelica


【解决方案1】:

通常,您的中型模型可以用 Modelica 编写,也可以重用现有的外部库。编写好的媒介模型需要做很多工作,所以重用现有的库通常是个好主意。这是ExternalMedia(开源)或TILMedia(商业)采用的方法。 如果您对开源工作流程感兴趣,ExternalMedia 与Coolprop 结合使用是一个合理的决定。所有三个项目 OpenModelica、ExternalMedia 和 CoolProp 都接受社区的贡献,所以也许你应该帮助改进这些而不是编写自己的库。已经有很多工作正在进行,我不确定目前的状态。编写合格的错误报告(包括重现问题的步骤)也是一种非常受欢迎的贡献方式。

对于某些应用程序,直接在 Modelica 中使用 Medium 模型可能会更好。这是 Modelica.Media(显然)、HelmholtzMedia 和来自 XRG 或 Modelon 的商业媒体库(不是 100% 确定)采用的方法。还有一些实现,但这些既不是开源也不是商业的,只有信息是例如。会议论文。 您可以查看的示例包括R134a medium from the MSLHelmholtzMedia library 中的代码。 此外,查看 ExternalMedia 实现可能会有所帮助。
对于不能改变相的流体,Annex60 library 中有一些很好的例子。

由于您拥有可以改变相位的纯物质,因此您的新介质应从PartialTwoPhaseMedium 扩展。 PartialTwoPhaseMedium 是部分的,仅定义存在哪些函数,但(大部分)不定义函数的算法。 您必须为接口中可用且没有算法的每个函数编写算法才能完全兼容。 首先,您应该至少实现一个 setState 函数,例如setState_ph 函数。 然后稍后,实现至少一个 setSat 函数和 BaseProperties。

如果您实现自己的介质,您还可以选择如何对其进行建模:使用完整的多参数亥姆霍兹能量状态方程、更简单的状态方程(如 Peng-Robinson 或其他三次 EoS)、一些多项式或样条曲线,基于表的方法,例如 TTSE 或 SBTL,可能还有更多选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多