-------------------------------------------------------------------------------- import DC import Circuit import Print import Time import CPUTime import Array circuit :: ESim -> [Device] circuit z0 = (trf1 1 0 1 2 0 0.430 z0) ++ (vsrc6 2 1 0 pwl v0 z0) ++ (res1 3 1 0 1e15 z0) ++ (trf1 4 1 0 3 0 0.430 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) v0 = defaultVStep op_out = opPrint m i0 = opvalue m m = dcOP1 [] [] circuit 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 pwl = [ (0.0,0.0), (400.0,per*0.05), (400.0,per*0.4), (0.0,per*0.80), (0.0, per) ]