circuitjs仿真电路原理探索

circuitjs是开源的电源仿真软件 ,使用Java开发的,不过使用GWT包装的,GWT是一个可以将Java代码编译成js的开源项目,所以和普通的Java项目还是有区别的。

circuitjs是基于改进节点分析(MNA)算法实现的,这里主要讲一下circuitjs的核心算法流程,有以下关键步骤:

updateCircuit() 更新电路

所有的电路元器件连接关系和状态都是通过这个方法进行计算更新的,这块是circuitjs1核心算法,

1. analyzeCircuit() 分析电路:
  1. 计算线的闭合区间 calculateWireClosure()
  2. 寻找接地节点 setGroundNode()
  3. 为节点分配编号(编号代表在矩阵中的位置) makeNodeList()
  4. 创建元器件连接柱子位置 makePostDrawList()
  5. 计算导线 calcWireInfo() 简化线在矩阵中的复杂度(电线两端的电压相同,会使矩阵每根线增加2行,创建特殊的线对象,减少了矩阵的复杂性,只在需要的时候计算导线电流)
  6. 查找未连接的点 findUnconnectedNodes
  7. 校验电路 validateCircuit() (),有以下限制:
    1. 电压源/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值