--------------------------------------------------------------------------------
import DC
import Circuit
import Print
import Time
import CPUTime
import Array
v0 = defaultVStep {vlim = 200, steps = 20}
circuit :: ESim -> [Device]
circuit z0 = (trf1 1 0 1 2 0 0.149 z0) ++
(vsrc4 2 1 0 650.0 f v0 z0) ++
(res1 3 1 0 1e15 z0) ++
(trf1 4 1 0 3 0 0.149 z0) ++
(dio1 5 4 3 z0) ++
(dio1 6 4 2 z0) ++
--(cap1 7 4 0 (2 * (2200.0e-6)) z0) ++
--(res1 7 4 3 1e8 z0) ++
--(res1 8 4 2 1e8 z0) ++
(res1 7 5 0 1.2 z0) ++
(vsrc1 8 4 5 0.0 z0) ++
(cap1 9 4 0 (220 * (1.0e-6)) z0)
m = dcOP1 [] [] circuit
op_out = opPrint m
i0 = opvalue m
f = 20000.0
per = 1 / f
z = dcTran1 (per / 16) (2 * per) i0 i0 circuit
tr_out = trPrint [0,1,2,3,4,7,8] z
main = do op_out
tr_out
|