两相 Modelica Media 示例

2023-11-30

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

针对评论中的一些问题进行解答: 我刚刚开始研究这个模型,所以我试图了解媒体模型的构建方式的细节,以及模型中包含的具体内容以及必须为每个新媒体添加的内容。我使用丙烯,所以有很好的数据可用。这是 CoolProp 中包含的媒体之一,因此能够使用ExternalMedia 和 CoolProp 将非常有用,但从大量评论和错误报告来看,我相信这些还不能与 OpenModelica 一起使用。


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两相 Modelica Media 示例 的相关文章

  • .Net 控制计算机之间大小的变化

    我有一个奇怪的问题 我需要弄清楚如何解决 过去几周我一直在我的笔记本电脑上开发一个项目 但是当我在其中一台工作电脑上打开程序时 很多控件的尺寸错误和重叠等 机器之间的差异是这样的 Laptop Windows 7 专业版 显示 1920 1

随机推荐

  • 在MySQL中,我们如何判断表的索引是否是聚集索引?

    在MySQL中 我们如何判断表的索引是否是聚集索引 我们可以用show index from table name获取有关表索引的信息 但我没有发现它显示每个索引是聚集的还是非聚集的 这样做的目的是MySQL中如果一个表有索引 那么该表就必
  • Django FormWizard 动态改变 form_list

    我在使用表单向导时遇到了一些问题 也许有人可以解释一下 根据 process step 方法中的文档字符串 我可以 动态更改 self form list 因此 根据我的项目需求 我将表单附加到 form list 中 我附加的表格包含问题
  • 在外发电子邮件 EWS 中设置回复地址

    运行交换 2013 我在 C 服务中使用 EWS 该服务从服务帐户发送电子邮件 我想让电子邮件有一个与发送帐户不同的回复地址 即通讯组列表地址 我怎样才能做到这一点 这EmailMessage ReplyTo字段是只读的 Code Exch
  • Django 快捷方式嵌套外键

    假设我的 models py 中有以下内容 class Book pass class Part book models ForeignKey Book class Chapter part models ForeignKey Part n
  • 它不会创建 Java VM (JNI)

    我的简单命令行应用程序 int tmain int argc TCHAR argv JavaVM jvm JNIEnv env JavaVMInitArgs vm args JavaVMOption options 1 options 0
  • 扩展server_name(SNI扩展)不与jdk1.8.0一起发送,但与jdk1.7.0一起发送

    我已经使用 ApacheCXF v3 0 4 实现了 JAX WS 客户端 一切正常 但当我想使用 java 8 jdk1 8 0 25 的安全连接 SSL TLS 时 问题就出现了 我在日志中看到以下异常 Djavax net debug
  • 如何在未知输入类型下使用 cin?

    我有一个 C 程序 需要接受用户输入 用户输入要么是两个整数 例如 1 3 要么是一个字符 例如 s 我知道我可以像这样得到两个整数 cin gt gt x gt gt y 但是 如果输入的是 char 我该如何获取 cin 的值呢 我知道
  • 在 IIS Express 中配置最大请求数

    如何配置 IIS Express 中允许的最大请求数 我想将其更改为仅允许一些请求来测试超出限制时会发生什么 可以使用以下方式配置 IIS ExpressapplicationHost config文件 它位于 userprofile my
  • Java - 如何将 PDF 打印到特定打印机?

    我在 Windows 8 1 中有 5 台打印机 并且 PDF 文件不在本地系统中 而是在 PHP 服务器中生成的 问题 如何从服务器获取 PDF 文件并打印到特定打印机 我正在尝试使用 Apache PDFBox 2 0 0 EDIT i
  • 如何分解行? [复制]

    这个问题在这里已经有答案了 我有一个数据表 如下所示 cep3 lt structure list lat c 23 39429 23 39988 23 38233 23 39009 23 40135 23 4019 lon c 46 32
  • 替换 tel 或 telprompt 拨打电话

    我制作了一个应用程序 用于在按下按钮时呼叫预定义的号码 据我所知 在应用程序内拨打电话的唯一方法是使用 tel 或 telprompt 当我提交应用程序时 我收到了带有以下描述的拒绝 2 5 详情 您的应用程序使用或引用以下非公共 API
  • php中事件的含义

    我也知道php和nodejs 在javascript中我们有异步编程 所以我理解其中事件的含义 但是我看到了Yii 和 Zend 2 中的事件也使用它们 但我无法理解它的含义 它在 php 中如何工作以及它到底有什么作用 首先 PHP中没有
  • 如何读取Android设备上的CPU频率[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有没有 Java API 可以实现这一点 我怎样才能阅读这些信息 要在 Android 上获得频率 只需读取 sys 目录中的这些特殊文件 cat
  • 根据另一个日期选择器实例更改 jQuery 日期选择器中显示的月份

    我有两个日期选择器字段 一个是 开始日期 另一个是 end date 我想要一个功能 在用户选择 开始日期 然后是 end date 日历应默认显示包含 开始日期 反之亦然 如果用户首先选择end date 日历为开始日期应显示包含所选的月
  • Spring Boot 2.7.1 与 JSF 2.2 (Mojarra) 和 Primefaces 6.2.9 集成

    我已经使用下面的堆栈进行了工作设置 春季MVC 5JSF Mojarra 2 2 14Primefaces 6 2 9 该应用程序是作为 WAR 构建的 它具有配置了 FacesServlet 的 web xml 来服务 xhtml 请求
  • 转换字符(强制转换与 .getNumericValue)

    为什么casting int 可以正确地将符号的char转换为int 但是 Character getNumericValue someSymbolCharValue 不能 E g Character getNumericValue 即使
  • 使用 Jackson 进行自定义反序列化:扩展默认反序列化器

    我想通过扩展默认解串器并在其后设置更多值来制作自己的解串器 simplified code public class Dto public String originalJsonString public MyFooDto extends
  • Symfony 2,Twig:如何不转义字段值(与backbonejs和symfony 2一起使用)

    我正在使用以下代码渲染原型 form widget form get prototype myField attr value 骨干JS应该读取此树枝块生成的代码 并将 替换为某个模型属性值 这种情况不会发生 因为该值在 twig 中被转义
  • 为什么如果从另一个模块调用该模块,则改变模块会更新引用,但如果从自身调用则不会?

    这个问题涉及测试 javascript 和模拟函数 假设我有一个如下所示的模块 export function alpha n return n beta n n export function beta n return new Arra
  • 两相 Modelica Media 示例

    我正在尝试在 OpenModelica 中开发具有单一物质 液体或蒸汽 的流动模拟 Modelica Media Water 模型确实有两个阶段 但极其复杂 并且很难用完全不同的物质来重现 我想找到一个我可以使用的两相介质的简单示例 有一个