使用目标值定制物理区块
目标值只能在物理建模 模块中配置。 |
模型有直接设置的参数(如电感和质量)和随时间变化的变量(如电流和温度)。变量值的组合可能是不正确的(如弹簧拉伸但没有力),而其他组合则显示系统的正常或瞬态状态。
使用物理变量 窗口可查看模型的所有目标值。 |
例如,具有相同参数的两个Capacitor (Advanced) 块,如果其中一个块有目标值而另一个块没有,则其工作方式可能不同(见 [物理变量] 窗口)。 示例):
无目标值 |
有目标值 |
需要注意的是,目标值不是初始条件。它们是有助于简化模型启动和调整的参考点。 |
在模拟开始时,Engee 会计算变量的初始值,以确定模拟的起点。这一过程包括为系统中的所有变量寻找初始值。通过目标值,您可以在程序块级别为特定变量设置优先级和初始值,从而影响这一过程。例如,可以在相应程序块的设置窗口 中的*初始目标*部分进行设置:
每个目标值由变量值、单位和优先级组成。这里 Current 是通过电容器的电流数值。默认值为 "0",单位为安培,优先级为 "无"。
目标值的优先级
在模块级初始化变量时设置的值并非其实际值,而是模拟开始时的目标值。求解器可以实现其中一些目标值,而另一些则无法实现。求解器会尽量找到符合以下条件的解决方案:
-
完全满足所有高优先级要求;
-
从最高优先级开始,使变量尽可能接近目标值。
优先级决定了求解器在运行模拟时实现特定目标值的重要性:
-
高"(高优先级)- 求解器会尽量精确地实现高优先级变量的目标值。
-
Low"(低优先级)- 在实现所有高优先级目标值后,求解器将尝试接近低优先级目标值。其实现的准确性取决于高优先级目标的实现情况。
如果给出的目标值太多,求解器可能无法为所有高优先级目标找到准确的解决方案,或者根本找不到解决方案。 |
示例
为了清楚地演示目标值的作用,请用图块建立两个完全相同的模型:
保持单元设置为默认值,但对于其中一个型号的*电容器*单元,将*电容器电压*设为 "1"。对于*电感器*和*电容器*单元之间的信号线,启用信号记录 ,如图所示:
在设置窗口中,选择下列求解器参数,如图所示:
运行模型模拟 。图示窗口
显示了两个电路的仿真,每个电路都是谐振电路,其中一个电感和一个电容与信号源相连 。
从图中可以看出
-
Capacitor-1.v - 蓝色曲线显示了第一个电容器上的阻尼电压波动。这表明初始条件或电路参数的设置方式会导致电路共振。电容器的目标值为 Capacitor voltage =
1
,这导致了阻尼电压振荡。 -
Capacitor.v - 橙色线条显示第二个电容器上的电压几乎没有变化,这可能表明由于参数 Capacitor voltage =
0
,所以没有初始振荡,这也是没有明显电压振荡的原因。
这两个模型的比较显示了目标值对物理系统行为的重大影响。具有给定目标值的模型表现出阻尼电压振荡,而第二个模型则保持静止。这凸显了正确设置目标值对实现预期系统行为的重要性。