diff options
author | 2016-03-17 01:24:52 +0100 | |
---|---|---|
committer | 2016-03-23 22:03:26 +0100 | |
commit | 489e2919db7d33d6ac007b614e21b47e27265821 (patch) | |
tree | 995c888744d6596222665c334a11b31b59bbfe56 /nl_examples/kidniki.c | |
parent | c22a27df812e9ca332a596b1914856e831b577b8 (diff) |
Netlist: code maintenance
- rename netlist_analog_t to analog_t
- straighten object model
- reduce access to member variables
- use pvector<analog_net_t::list_t> for groups.
- simple coverity fixes.
Diffstat (limited to 'nl_examples/kidniki.c')
-rw-r--r-- | nl_examples/kidniki.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/nl_examples/kidniki.c b/nl_examples/kidniki.c index 8914317e7cb..ba53fb3867b 100644 --- a/nl_examples/kidniki.c +++ b/nl_examples/kidniki.c @@ -4,22 +4,27 @@ #include "netlist/devices/nld_system.h" #include "netlist/analog/nld_bjt.h" -#define USE_FRONTIERS 0 -#define USE_FIXED_STV 0 +#define USE_FRONTIERS 1 +#define USE_FIXED_STV 1 NETLIST_START(dummy) +#if (USE_FRONTIERS) + SOLVER(Solver, 18000) + PARAM(Solver.ACCURACY, 1e-8) + PARAM(Solver.NR_LOOPS, 300) + PARAM(Solver.GS_LOOPS, 1) + PARAM(Solver.GS_THRESHOLD, 6) + PARAM(Solver.ITERATIVE, "SOR") + PARAM(Solver.PARALLEL, 0) + PARAM(Solver.SOR_FACTOR, 1.00) +#else SOLVER(Solver, 12000) - PARAM(Solver.ACCURACY, 1e-7) + PARAM(Solver.ACCURACY, 1e-8) PARAM(Solver.NR_LOOPS, 300) - PARAM(Solver.GS_LOOPS, 23) - //PARAM(Solver.GS_THRESHOLD, 99) // Force Gaussian elimination here - PARAM(Solver.SOR_FACTOR, 1.05) + PARAM(Solver.GS_LOOPS, 20) PARAM(Solver.ITERATIVE, "GMRES") - #if 0 - //PARAM(Solver.SOR_FACTOR, 1) - PARAM(Solver.DYNAMIC_TS, 1) - PARAM(Solver.LTE, 1e-1) - #endif + PARAM(Solver.PARALLEL, 0) +#endif //FIXME proper models! //NET_MODEL("2SC945 NPN(Is=2.04f Xti=3 Eg=1.11 Vaf=6 Bf=400 Ikf=20m Xtb=1.5 Br=3.377 Rc=1 Cjc=1p Mjc=.3333 Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0 VCEO=45V ICrating=150M MFG=Toshiba)") //NET_MODEL("1S1588 D(Is=2.52n Rs=.568 N=1.752 Cjo=4p M=.4 tt=20n Iave=200m Vpk=75 mfg=OnSemi type=silicon)") @@ -70,6 +75,11 @@ NETLIST_START(dummy) OPTIMIZE_FRONTIER(C63.2, RES_K(27), RES_K(1)) OPTIMIZE_FRONTIER(R31.2, RES_K(5.1), 50) OPTIMIZE_FRONTIER(R29.2, RES_K(2.7), 50) + OPTIMIZE_FRONTIER(R87.2, RES_K(68), 50) + + OPTIMIZE_FRONTIER(R50.1, RES_K(2.2), 50) + OPTIMIZE_FRONTIER(R55.1, RES_K(510), 50) + OPTIMIZE_FRONTIER(R84.2, RES_K(50), RES_K(5)) #endif NETLIST_END() |