Engee 文档

Engee物理建模语言的变量

页面进行中。

在Engee物理建模语言中,变量描述物理分量方程中涉及的状态和中间量。 与常规Julia不同,*Engee*变量由元数据(测量单位,优先级,界面中的可见性等)补充。)和数据类型/形式(标量,矢量,矩阵)。

连续变量

*连续变量*是模型的主要计算值。 它们是使用构造声明的 @变量 他们参与了一个方程组。 例如:

@variables begin
    x = 0.0
    y = 1.5
end

特征 @变量:

  • 每个变量都必须有一个初始值(例如, x=0.0).

  • 这些变量显示在界面中,可以参与设置初始条件和 信号记录 signal logging 1.

中间变量

中间变量使用构造声明 @中间体 它们与通常的不同之处在于计算方程是立即为它们设置的。 例如:

@variables begin
    x = 0.0
    y = 1.5
end

@intermediates begin
    z = x^2 + y
end

特征 @中间体:

  • 没有必要为这些变量编写单独的方程—表达式在之后立即指示 =.

  • 它们不会显示在组件设置窗口中,但它们可以是 记录 signal logging 1.

  • 这些变量有助于简化符号分析并加快求解器的工作。

  • 当需要表达计算的中间结果时,它们用于方便,但不是将其存储为单独的状态。

如果需要为变量设置初始值和优先级,则使用 @变量. 对于没有初始状态的计算,优选使用 @中间体.

离散事件变量

*离散事件变量*是仅在事件发生时发生变化的变量,并且在它们之间不改变它们的值。 它们用于描述模型中切换、状态固定和其他离散过程的逻辑。

在Engee物理建模语言中,此类变量被声明为普通变量。 @变量 但与元数据 事件=真. 这使得系统清楚地知道,只有在触发事件时才应该更新变量。:

@variables begin
    state_real = 5.0, [event=true]
    state::Bool = false, [event = true]
end

离散变量的默认类型 — 真实的,但允许显式键入为 Int型布尔.

中级(@中间体)和通常的连续变量(@变量 没有 事件=真)一直被重新计算,而基于事件的只在事件被触发的那一刻被重新计算。

在文章中阅读更多关于这些变量的使用。 Engee物理建模语言事件.