如何使模拟电子元件表现得很好?

时间:2017-03-24 00:43:28

标签: simulation physics

我正在制作一个简单的电路模拟器。它(至少在最初阶段)仅具有串联和并联的电池,电线和电阻器。但是,我不知道如何最好地模拟所述电路。

具体来说,我将有两个接触点的电池和电阻器,以及两个接触点之间的电线。我假设每个元件都有一个电阻场,通过它的电流和它两端的电压(当然,电流和电压都会被记录)。给每个元件一个电阻,给电池一个电压。模拟的目标是在播放器连接和断开组件和电线时实时为所有其他字段分配正确的值。

这些是要求:

  • 必须是正确的,包括Ohm和Kirchhoff定律(我正在模拟现实世界的电路,如果模型完全不同,那就没什么意义了)。
  • 必须在数值上稳定(我们不能有不受控制的振荡或某种原因只是因为两个相邻的电阻器无法一起决定)
  • 应该相对快速稳定,比方说,少于30个组件(在值正确之前必须等待几秒才真正满足“实时”),但我真的不喜欢计划使用它超过10个或可能 20个组件)
  • 我的最佳配方(我在脑海中设想这个)将是我可以为每个只处理该组件的组件分配一个脚本,可能是通过与相邻组件通信字段值,每个组件脚本工作并行并根据需要进行调整

我只看到问题,没有解决方案。我认为最大的问题是Kirchhoff的电压定律(围绕任何子电路,所有元件的电压,包括符号,加起来为0),因为这是一个全局定律(它说的是关于整个电路而不仅仅是单个组件/连接点)。有一个数学重新表述,电路中的点存在潜在的功能(例如,电池+电极的电压测量),这是更局部,但我仍然没有看到如何让一个元件知道电压/电位在它上面下降了多少。

基尔霍夫的现行定律(流入交叉口的净电流为0)也可能是麻烦。它似乎迫使我将交叉点分成单独的对象来强制执行它。我原本以为我可以让每个组件都有两个列表(左列表和右列表),其中包含此时连接到它的所有其他组件,但这可能不会使KCL易于执行。

我知道那里有电路模拟器,他们必须以某种方式解决这个问题。我只是找不到解释,因为如果我尝试谷歌搜索,我只能找到已经制作的模拟器,并且没有任何解释。

0 个答案:

没有答案