我正在构建使用复数或只是连接器中变量的实部的电气模型。根据布尔值,我在两个方程组之间切换。 我的问题是:当我不想使用它时,处理想象的最佳方法是什么。将其设置为零会导致在连接其他组件时出现问题,因为变量是超定的。 有没有办法禁用虚部或更改连接器,因此如果我使用实值方程组,它只有一个实数变量? 下面我贴了方程组。
equation
if transient then
v = Complex(Vnom*cos(theta + phiV),0); // how can I avoid setting im to zero here?
else
v = Complex(Vnom*cos(phiV), Vnom*sin(phiV));
end if;
提前感谢您的帮助!
答案 0 :(得分:2)
流体问题和多体问题实际上存在类似的问题。在流体情况下,“状态方程”改变,这会影响有多少自由度。在多体系统的情况下,您遇到的问题是需要某种机械接地元件,但如果组件中有“环”,则会过度约束。
在我看来,你的问题更接近流动性问题(但我现在根本没有AC域,所以我只是在猜测)。在这种情况下,您可以做的是通过层次结构信息向下级联,以确切了解要使用的配方类型。如果要使用不同的连接器,则可以使用replaceable
package
在层次结构中级联新的连接器类型。这有点牵扯。但是,如果您只想知道是使用一个等式还是另一个等式(跨越一堆组件),那么您可以通过所有内容(,例如,<)来级联(Boolean
?)参数值/ em>你的transient
标志。)
您可能考虑的另一件事是使用inner
和outer
隐式地通过层次结构级联参数。一些库使用所谓的world
对象来提供有关模型的全局信息。通过这种方式,您可以在根目录中放置inner
world
对象,并且同一层次结构中的所有组件都可以使用outer
关键字访问它。我尽量避免inner
/ outer
并使用更明确的参数级联。但这取决于你。