如何解决如何在C#中使用SpiceSharp中的任何类?我无法在代码中使用二极管类别,但我知道如何使用电阻器类别和电压
二极管线不起作用,我没有如何运行请帮忙,我真的很想知道如何初始化二极管部分,一切正常,只有这部分在我添加时说没有找到ISimulation模型
>using System;
using SpiceSharp;
using SpiceSharp.Components;
using SpiceSharp.Simulations;
using System.Threading;
namespace SpiceSimulation
{
class Program
{
static void Main(string[] args)
{
var ckt = new Circuit(
new VoltageSource("V0","in1","0",0.0),//ground
new VoltageSource("V1","in",12.0),//voltage source 12 volt
new Resistor("R1","out",1.0e3),//resistor 1k
new Diode("M1","d","ISimulation"),//here is my problem
new Resistor("R2",2.0e3)//resistor 2k
);
// Create a DC sweep and register to the event for exporting simulation data
var dc = new DC("dc","V0",0.0,0.001);//ground voltage
dc.ExportSimulationData += (sender,exportDataEventArgs) =>
{
Console.WriteLine(exportDataEventArgs.GetVoltage("out"));//get the voltage at this point
};
// Run the simulation
dc.Run(ckt);//it will run the circuit
}
}
}
解决方法
错误说:“找不到ISimulation模型”
表示您所引用的模型“ ISimulation”不属于电路。
您可以为二极管创建一个DiodeModel
并将其添加到电路中。例如:
var model = new DiodeModel("ISimulation");
model.SetParameter("is",2.52e-9);
model.SetParameter("rs",0.568);
model.SetParameter("n",1.752);
model.SetParameter("cjo",4e-12);
model.SetParameter("m",0.4);
model.SetParameter("tt",20e-9);
var ckt = new Circuit(
new VoltageSource("V0","in1","0",0.0),new VoltageSource("V1","in",12.0),new Resistor("R1","out",1.0e3),model,// <-- Here goes model
new Diode("M1","d",model.Name),// <-- The name is taken directly from model
new Resistor("R2",2.0e3)
);
因此,如果我理解正确,DiodeModel是您要放置在电路上的确切二极管类型。这样就可以计算电路。如果您有许多相似的元素(例如二极管电桥),则可以重用模型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。