我刚刚为自己创建了一个项目,其目标是制作用于建模液压回路的Python-3软件包。到目前为止,结果很有希望,但我遇到了一个看起来更具挑战性的问题:如何在未知复杂性的网络中绘制出所有并行路径,并且这样做有效?我确信这是网络分析中的一个已知问题,可以使用先进的第三方解决方案,但我正在寻找一个不太复杂的解决方案,因为我不是一个经验丰富的程序员。
因此,在包中到目前为止有两个模块:组件和系统。在系统模块中,我正在使用Circuit类和Crawler类,后者应该有分析Circuit对象的方法。
Circuit类具有从给定数据构建组件对象实例列表的方法,以及通过操作连接属性来链接对象的方法。因此,Circuit.comp_list中的每个组件都有指针" in"和" out"本身。节点将有两个或更多指针"在"和/或" out"本身电路分支或重聚的地方。指针是短名称(字符串值),提供到电路中其他命名组件的链接,例如:Node.connections属性有两个指针" out"命名管道对象:
Node.connections = {"in": {"0": "R#1"}, "out": {"0": "R#2", "1": "R#3"}}
到目前为止,我已经想过在电路中随机爬行,并在找到分支时为字典添加新的等级。但我不确定如何以编程方式解决这个问题。我认为应该可以从一个随机组件开始,并在构建路由和并行路径的映射时遵循链接。当将电路与泵匹配时,该映射稍后将用于计算电路中的总电阻。我会根据要求提供更多代码。
答案 0 :(得分:0)
您可以使用bond graphs。 (这些可以代表一系列动态系统。不仅仅是液压系统,还有电气和机械系统,因为控制方程式相似。)
2006年有一个关于模拟西斯债券图的thesis。
您可以使用键合图来推导出管理系统的代数和微分方程组。
如果你在互联网上环顾四周,有几种模拟(部分)微分方程的工具。