框图组件 block
非因果建模适合物理系统的建模,系统会自动生成守恒模型。而框图则是基于数学运算的因果建模。至于因果模型什么的,现在还理解不了 😦
非因果建模适合物理系统的建模,系统会自动生成守恒模型。而框图则是基于数学运算的因果建模。至于因果模型什么的,现在还理解不了 😦
Model
+Coneector
=Component
。模型加上引脚就可以构成组件。
通过封装,可以将模型从一堆公式编程一个简单的带接口的图形组件。使用组件开发可以提高效率、减少错误和维护成本。
以前建模是基于方程的,需要知道完整的系统/模型的本构方程(反应系统宏观性质的数学模型)。现在我们可以通过连接器,创建可重用的模型或组件,有了连接器,就可以让模型与模型进行交互了。
我们想所有的模型都是连续且稳定的,但事实上却不尽然。以牛顿冷却定律为例,如果在自然冷却的过程中,我们开了空调,导致环境温度发生了变化,这个时候应该怎么做呢?
class
与model
的区别:
多数情况下
class
与model
并无严格区别,但现在一般推荐使用model
:
class
只包含类的定义、注解和扩展语句,可以被任何事物继承。多用于定义一些图标信息;
model
只能被model
继承。
Difference between Class and Model in OpenModellica
笔记摘自:Modelica by Example 的中文翻译,因为
Modelica
语言是一种规范,所以无论哪种实现在使用上是不应有区别的!
以个人经验,任何Modelica 项目最好保存为包的形式,且不应把所有代码保存在同一文件。
一般来说,我们建模的变量都只有时间一个,但是有时候我们还是会遇到时间无关的独立变量。这时就可能需要去解偏微分方程了。
在实际生产中,会经常用到插值而不是数学函数来获取数据,而Modelica 语言则内置了一维、二维的插值模块供我们调用:
模式包含一系列的变量作为其特征。