Engee 文档

Solver Configuration

物理网络的求解器和环境配置。

类型: SolverConfiguration

图书馆中的路径:

/Physical Modeling/Utilities/Solver Configuration

说明

Engee 模型中,每个物理网络都需要有关仿真求解器设置的信息。 Solver Configuration 块指定了应用于物理网络的求解器设置。

每个拓扑结构不同的网络只需要一个块 Solver Configuration

端口

非定向

# 端口_1 — 连接端口
非类型端口

Details

该端口没有类型。您可以通过在任意类型端口之间的链路上创建分支点,将其连接到物理网络的任意位置。无论连接类型如何,该模块都能为整个物理网络提供解算器配置。

程序使用名称

Port

参数

当启用*实验设置*参数时,程序块的行为将无法保证,文档中也没有说明。

当画布上只有离散定向图块时(没有来自图库Physical Modeling 的图块),全局求解器会自动切换到离散模式(参数 同步类型 设为 "离散"),即使在设置中指定了 "可变步长"。

如果图块 Solver Configuration 中的*求解器类型*参数设置为 "继承全局",且模型包含来自Physical Modeling 库的图块(需要连续求解器),则会出现运行错误:离散求解器不支持此类图块的计算。

为避免出错,如果模型同时包含离散有向块和来自库Physical Modeling 的块,不建议使用*求解器类型*参数的`继承全局`值。

# Synchronization type — 物理网络与体积模型的同步类型
Continuous | Discrete

Details

物理网络与体积模型的同步类型。定义为

  • 连续

  • 离散

更多信息,请参见物理网络的本地求解器

Continuous | Discrete

默认值

Continuous

程序使用名称

SynchronizationType

可计算

# Solver type — 用于求解物理网络方程的求解器类型
Inherit global | Fixed-step | Variable-step

Details

指定用于求解物理网络方程的求解器类型。

依赖关系

要使用此参数,请将*同步类型*参数设置为 "连续"。

Inherit global | Fixed-step | Variable-step

默认值

Variable-step

程序使用名称

SolverType

可计算

# Subsystem solver — 解算器名称,用于连续同步
FBDF | ImplicitEuler | QNDF | QBDF | RadauIIA5 | Rodas3 | Rodas4 | Rodas5 | Rodas5P | Trapezoid

Details

用于物理网络连续同步的求解器名称。定义为

  • FBDF`。

  • 隐式求解器`.

  • QNDF`。

  • QBDF.

  • `RadauIIA5

  • Rodas3.

  • `Rodas4

  • `Rodas5

  • `Rodas5P

  • `梯形

依赖关系

要使用此参数,请将*同步类型*参数设置为 "连续"。

FBDF | ImplicitEuler | QNDF | QBDF | RadauIIA5 | Rodas3 | Rodas4 | Rodas5 | Rodas5P | Trapezoid

默认值

Rodas4

程序使用名称

SolverBasic

可计算

# Subsystem solver — 用于离散同步的求解器名称
ImplicitEuler (Fast) | ImplicitEuler (Robust) | Trapezoid (Fast) | Trapezoid (Robust)

Details

物理网络离散同步时使用的求解器名称。定义为

  • 快速)"。

  • 简易求解器(稳健)"。

  • 梯形(快速)

  • 梯形 (稳健)`。

依赖关系

要使用该参数,请将*同步类型*参数设置为 "离散"。

ImplicitEuler (Fast) | ImplicitEuler (Robust) | Trapezoid (Fast) | Trapezoid (Robust)

默认值

ImplicitEuler (Fast)

程序使用名称

SolverDiscreteChoice

可计算

# Fixed step size — 积分步长
String

Details

连续同步模式下物理网络本地求解器的积分步长。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "固定步长"。

默认值

auto

程序使用名称

FixedStepSize

可计算

# Initial step size — 初始积分步长
String

Details

连续同步模式下物理网络本地求解器的初始积分步长。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "变量步长"。

默认值

auto

程序使用名称

InitialStepSize

可计算

# Minimum step size — 最小积分步长
String

Details

连续同步模式下物理网络本地求解器的最小积分步长。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "可变步长"。

默认值

auto

程序使用名称

MinimumStepSize

可计算

# Maximum step size — 最大积分步长
String

Details

连续同步模式下物理网络本地求解器的最大积分步长。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "可变步长"。

默认值

auto

程序使用名称

MaximumStepSize

可计算

# Number of consecutive min steps — 连续最小积分步数限制
String

Details

小于或等于最小允许步长的连续积分步数,导致计算强制终止并显示错误信息。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "变步长"。

默认值

10

程序使用名称

MaxConsecutiveMinStep

可计算

# Absolute tolerance — 绝对精确
String

Details

与相对精度一起影响数值解与精确解的接近程度。如果物理网络中某个变量的模数小于该设定值,则该变量的局部误差估计值视为零。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "变量步长"。

默认值

auto

程序使用名称

AbsoluteTolerance

可计算

# Relative tolerance — 相对精度
String

Details

相对精度与绝对精度共同影响数值解与精确解的接近程度。相对精度定义了物理网络中变量值本身的允许局部误差。

依赖关系

要使用此参数,请将*同步类型*设为 "连续",*求解器类型*设为 "变量步长"。

默认值

auto

程序使用名称

RelativeTolerance

可计算

# Nonlinear iterations — 非线性求解器的最大迭代次数
String

Details

因初始问题离散化而产生的非线性代数方程求解器的迭代次数。可以限制离散同步模式下每个积分步的计算成本。通常用于实时计算。

依赖关系

要使用此参数,请将*同步类型*设为 "离散",*子系统求解器*设为 "ImplicitEuler(快速)"或 "Trapezoid(快速)"。

默认值

10

程序使用名称

NonlinearIterations

可计算

# Start simulation from steady state — 以瞬态或稳态模式运行模拟
Logical

Details

默认情况下,如果未选中该复选框,模拟将以某种模式启动,一般为瞬态模式,该模式由初始化任务决定。

选中该复选框后,Engee 会尝试找到物理网络在输入信号保持恒定足够长的时间(可单独配置)后会达到的稳态。然后从找到的稳定状态开始仿真。

默认值

false (关掉)

程序使用名称

StartFromSteadyState

可计算

# Maximum settling time — 限制稳态搜索的建模时间
String

Details

限制稳态搜索的建模时间。

依赖关系

要使用该参数,请选择*从稳态开始模拟*复选框。

默认值

1000.0

程序使用名称

MaximumSettlingTime

可计算

# Use automatic differentiation (ForwardDiff.jl) — 在计算雅可比矩阵时使用自动微分法或有限差分法
Logical

Details

选择此复选框可在计算雅可比矩阵时使用自动微分。否则将使用有限差分。

默认值

true (已开启)

程序使用名称

AutomaticDifferentiation

可计算

# Use analytical Jacobian — 在计算中使用分析得到的雅可比矩阵
Logical

Details

选择该复选框可在计算中使用分析得到的雅可比矩阵。否则将采用数值计算。

默认值

false (关掉)

程序使用名称

AnalyticalJacobian

可计算

# Sparse Jacobian — 以稀疏形式存储雅可比矩阵
Logical

Details

选择该复选框可在处理雅可比矩阵时使用稀疏代数。否则计算时将不考虑其稀疏性。

默认值

false (关掉)

程序使用名称

SparseJacobian

可计算

# Fixed Sparse Jacobian描述缺失
Logical

Details

描述缺失

默认值

false (关掉)

程序使用名称

FixedSparseJacobian

可计算

# Event detection — 物理网络事件检测模式
Enable | Expose discontinuities to solver | Disable

Details

物理网络的事件检测模式。定义为

  • 启用"(推荐)--通过特殊算法定位事件的模式。

  • Expose discontinuities to solver`(向求解器显示不连续性)--求解右边不连续的问题的模式。

  • 禁用"(Disable)--在该模式下,事件不会被本地化,但不连续性仍会被连续求解器屏蔽。

依赖关系

要使用此参数,请将*同步类型*参数设置为 "连续"。

Enable | Expose discontinuities to solver | Disable

默认值

Enable

程序使用名称

EventDetection

可计算

# Run-time assertions — 在模拟过程中检查物理不变性
Logical

Details

选择此复选框可在仿真过程中启用物理不变式检查。

默认值

false (关掉)

程序使用名称

RunTimeAssertions

可计算

# Sample time — 物理网络的采样间隔
SampleTime (real number / vector of two real numbers)

Details

定义对物理网络的输入和输出进行采样的时间间隔。

依赖关系

要使用此参数,请将*同步类型*参数设置为 "离散"。

默认值

0.001

程序使用名称

SampleTime

可计算

# Synchronization Interval — 物理网络本地求解器与体积模型求解器的同步时间间隔
SampleTime (real number / vector of two real numbers)

Details

物理网络局部求解器与体积模型求解器的同步时间间隔,以正标量形式指定。 增大时间间隔会加快计算速度,但会降低计算质量。

有关求解器设置的更多信息,请参见物理网络的本地求解器

依赖关系

要使用此参数,请将*同步类型*参数设置为 "连续"。

默认值

0.001

程序使用名称

SynchronizationInterval

可计算

初始化

# Enable experimental DAE initialization algorithm — 使用实验算法初始化微分代数方程系统
Logical

Details

选择此复选框(推荐)可使用实验算法初始化微分代数方程组。 禁用该算法会导致变量优先级被忽略。

默认值

true (已开启)

程序使用名称

InitializationEnabled

可计算