24小时热门版块排行榜    

查看: 696  |  回复: 1

nagami

木虫 (正式写手)

[交流] 用C++编写电路的时域求解器方案

偶做硬件方面的,但实感能力不怎么好,想做个半导体器件电路的时域求解器,用于学习之用。为此做了一番调研,初步定了一个方案,还未动手实施。
问题描述:集总参数电路求解器,程序分三部分,语句解析,组装程序,求解器。
数学模型:发现RLC及晶体管,MOS管等电路模型可统一表示成Edx/dt+Ax=f(x,t),这样一种微分-代数方程模型。其中x是电压和电流的未知向量。
程序方案:
1.一个好的矩阵向量操作程序。目前是数组使用引用计数,没有内存管理,块子矩阵的处理还不清楚要不要。
2.一个稀疏矩阵处理程序,实数和复数原则上都要,不过对于频域响应问题,我希望通过时域方法结合FFT来解决,这种方法能较快处理大范围问题,只是精度问题需要考虑。
3.稀疏矩阵还未想好是按何种方式存储较好,这个需跟组装程序来。
4.stiff刚性求解器需要反复求rhs,目前是BiCG迭代方法最直接,外加一些合适的预条件器。
5.时域求解器像SPICE是trap和gear方法,根据方程式,我需要一个stiff和自适应步长的求解器,因为模型里面的E几乎都是奇异矩阵的,算法只能是隐式的妥当。定下来是半隐式外推的BS算法。考虑到晶体管方程的指数率变化的,不清楚效果是否好。不过这是唯一想到较好的方法,RK法是不行的。
6.各种半导体器件的模型善待考虑,当前也只实验了双极晶体管的EM模型,用的newton迭代法。
7.程序最好是:电路-中间模块-数学,这种方式衔接。因为考虑到与场求解器结合的问题。对于高频电路问题是需要的。

以上杂想,各位有兴趣的不凡交流一下,各抒己见。。
回复此楼

» 猜你喜欢

女靠衣装;男靠金装
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
。。。。。。。。。。。。。。

发自小木虫Android客户端
2楼2017-10-06 11:31:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nagami 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见