- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下 MWE,其中模型具有可替换函数,可以从多个选项中选择如何计算介质比热容,有些使用介质模型中的函数,有些则不使用。因此,使用一个包来收集所有特定的热容函数。
package Library
model Model
replaceable package Medium =
Modelica.Media.Interfaces.PartialSimpleIdealGasMedium annotation(choicesAllMatching=true);
replaceable function cp = FunctionPackage.baseCp annotation(choicesAllMatching=true);
parameter Real M;
parameter Real V;
parameter Real Qflow;
Real T;
Real p;
equation
M*cp(p,T)*der(T) = Qflow;
p*V = M*Medium.R_gas*T;
end Model;
package FunctionPackage
partial function baseCp
input Real p;
input Real T;
output Real cp;
end baseCp;
function realCp
extends baseCp;
algorithm
cp := Medium.specificHeatCapacity(p, T);
end realCp;
function linearCp
extends baseCp;
algorithm
cp :=0.1*T + 1000;
end linearCp;
end FunctionPackage;
end Library;
如果我要在另一个模型中模拟模型
,我必须选择我想要计算 cp 的函数:
model Simulation
Library.Model Model(
redeclare package Medium = Modelica.Media.Air.SimpleAir,
M=1,
Qflow=1,
V=0.1,
redeclare function cp = Library.FunctionPackage.linearCp);
end Simulation;
模拟效果很好,但是,如果我选择 realCp
函数,则会出现错误:
Function Medium.specificHeatCapacity is not known in (function Library.FunctionPackage.realCp)
这对我来说并不奇怪,我知道 FunctionPackage
中声明的函数“不知道”在 Model
模型中声明的 Medium 包。因此,我的问题是:我如何让他们意识到?是否可以将 Medium 作为函数的输入传递?
我知道在 Model
内声明 FunctionPackage
中的函数会将它们置于与 Medium
相同的作用域中,使我能够在内部调用它功能没有任何问题。尽管这样做会让我失去可替换功能
的下拉功能,但我确实需要在这里拥有它,所以失去它不是一个选择。
顺便说一句,不知道这个问题是否有任何用处,但我在 Windows 10 64 位下使用 Dymola 2017(32 位)。
最佳答案
您不能直接将 Medium-package 作为普通函数输入传递。
一种解决方案如下:
添加Medium作为LibraryFunction的可替换包
package FunctionPackage
replaceable package Medium =
Modelica.Media.Interfaces.PartialSimpleIdealGasMedium annotation (
choicesAllMatching=true);
...
并在需要的地方创建一个新的 FunctionPackage:
model Model
replaceable package Medium =
Modelica.Media.Interfaces.PartialSimpleIdealGasMedium annotation (
choicesAllMatching=true);
replaceable function cp = MyFunctionPackage.baseCp annotation (
choicesAllMatching=true);
package MyFunctionPackage = FunctionPackage (redeclare package Medium =
Medium);
...
model Simulation
package MyFunctionPackage = Library.FunctionPackage(redeclare package Medium=
Modelica.Media.Air.SimpleAir);
Library.Model Model(
redeclare package Medium = Modelica.Media.Air.SimpleAir,
...
redeclare function cp = MyFunctionPackage.linearCp);
end Simulation;
另一种变体是将其作为函数中的可替换包,如下所示(更短,但我发现它更令人困惑):
function realCp
extends baseCp;
replaceable package Medium =
Modelica.Media.Interfaces.PartialSimpleIdealGasMedium annotation (
choicesAllMatching=true);
algorithm
cp := Medium.specificHeatCapacityCp(p, T);
end realCp;
并用作:
function cp = FunctionPackage.realCp(redeclare package Medium=Medium);
关于function - 如何在其他函数中调用Medium函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51247315/
根据author ,像这样: new Medium({
我的实例(Amazon AMI)有两个网络接口(interface):eth0 和 eth1。我想从 T2.Medium 升级到 T3.Medium。 但是,它给了我一个错误说: Enhanced n
关注此博客: https://medium.com/blogging-guide/how-to-insert-a-code-block-or-inline-code-into-a-medium-art
我正在尝试通过显示一些带有帖子图像和原始 Medium 出版物链接的卡片,将 Medium 博客集成到应用程序中。 从 Medium API 文档中,我可以看到如何检索出版物和创建帖子,但它没有提到检
我需要一些帮助来为我尝试制作的两个盒子设计一些简单的样式。我需要在它们之间留出一些空白。我正在使用粉底,并制作了一个应填充中等 7 的盒子和另一个应填充中等 5 的盒子。 我只需要在它们之间留一些空白
它们在性能方面似乎大致相同。 型号 vCPU 内存 (GiB) SSD 存储 (GB) m3.medium 1 3.75 1 x 4 模型 vCPU CPU 积分/小时 Mem (GiB) 存储 t2
在为 textview 设置自定义字体时,我只能选择普通、粗体或斜体: 在以下示例中,如何将样式设置为 light 而不是粗体? 最佳答案 这是特定于字体的。并非所有字体都有 light、mediu
已关闭。这个问题是 not about programming or software development 。目前不接受答案。 这个问题似乎不是关于 a specific programming
我正在尝试使用出色的“中型编辑器克隆”https://github.com/yabwe/medium-editor我被这个问题困扰了: 如何用 2 个标签包装选定的文本片段(实际上是代码):并在此处输
是否有任何服务或 javascript 插件可以像 Medium 或 Sitepoint 那样共享突出显示的文本?我将不胜感激,因为它可能会提供一些统计数据。 最佳答案 这是一个 Wordpress
令我感到惊讶的是,它并没有出现在更多论坛上,因为它完全是一个表演障碍。我有一个调用我编写的 Web 服务的 ASP.NET 应用程序。它托管在共享托管站点上。最近公司移动了我的服务器以允许 1.1 和
我的产品流程中有一个方面让我浪费了时间。 假设我在集合中有一个类似命名项目的列表,但它们的大小不同 id base_name sizing sum_dimensions
我在 UITextField 上有一个日期,由其 .medium 格式化程序样式表示(例如,2017 年 3 月 14 日),我想将其恢复为日期。 我知道如果我有正确的格式,我可以这样做,但由于我没有
不幸的是,我不是一个 jQuery 大师,我正在尝试重新创建媒体上的图像淡入/模糊功能。这是一个例子 - https://medium.com/matter/76d9913c6011 如果您向下滚动页
我正在使用媒体查询为多个视口(viewport)大小调整单个代码块的大小。我遇到的问题是,在我的“中等”位置上方和下方,一切都按预期工作,在 992 和 1199 尺寸之间,它忽略了我的样式。 CSS
我想问一下Medium Trust允许哪些方法/类。例如,这些方法是否被允许? 获取属性,获取方法,激活器.CreateInstance,程序集版本,程序集名称.名称 请告诉我哪些方法是允许的。 最佳
我的 SQL2005 数据库中有一个名为 MultiMedia 的表 - 在使用 SubSonic v2.2 生成 DAL 之后,生成的类被命名为“MultiMedium”。该表最初被命名为 Medi
我使用 file_get_contents("https://medium.com/publication_name/latest?format=json"); 成功地通过 JSON 检索了有关 me
当我去谷歌分析并转到以下页面时 采集 > 来源/媒体 将流量过滤器设置为:来源/媒体:google/cpc 将二级维度设置为着陆页。 列出了很多没有广告事件的登陆页面。组合来源/媒体:google c
我目前正在使用 Medium Editor JS Clone在一个我可以编辑文章的项目上。 编辑器工作得很好,我可以格式化元素和代码,它很干净,但我现在正在尝试找到一种在编辑时添加照片的方法。 一个很
我是一名优秀的程序员,十分优秀!