.PS # `Drive.m4' cct_init define(`synchmachine',`[ r = ifelse(`$1',,`dimen_*3/4',(`$1')/2) C: circle rad r Point_(120) line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) W2: Here Point_(240) line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) W3: Here line from C right_ r*2/9; inductor(right_ r*2/3) W1: Here ]') bht = sourcerad_*10 dlen = dimen_*2/3 define(`Diodepair',`[ diode(up_ dlen); line up bht-2*dlen; diode(up_ dlen) ]') define(`gbt',`bi_trans(`$1',`$2',CBUHdE`$3')') define(`dotrad_',dotrad_*0.5/linewid) define(`GBTpair',`[linewid = 0.5*3/4 Q1: gbt(up_ bht/2,,D) Q2: gbt(up_ bht/2,,D) with .C at Q1.E ]') SW: ground line up W: Here line right dimen_/3; dot ssep = sourcerad_*2.5 { line up ssep; S1: source(right_ dimen_,AC) } { S2: source(right_ dimen_,AC) } { line down ssep; S3: source(right_ dimen_,AC) } dsep = dimen_/2 D1: Diodepair at S2.e D2: Diodepair at D1+(dsep,0); dot(at D2.n); dot(at D2.s) D3: Diodepair at D2+(dsep,0); dot(at D3.n); dot(at D3.s) dot(at (D1,S1)) dot(at (D2,S2)); line to S2.e dot(at (D3,S3)); line to S3.e line from D1.n to D3.n inductor(right_ dimen_) T: dot capacitor(to (Here,D1.s),C) dot gsep = dimen_*1.25 G1: GBTpair with .Q1.C at T+(dimen_,0) G2: GBTpair at G1+(gsep,0) G3: GBTpair at G2+(gsep,0) line from G3.Q1.C to T dot(at (G1.Q1.C,T)) dot(at (G2.Q1.C,T)) line from G3.Q2.E to D1.s dot(at (G1.Q1.E,D1.s)) dot(at (G2.Q1.E,D1.s)) M: synchmachine with .C at G3.e+(dimen_*2,0) sg = dimen_/8 L: (0.5,D1.s)-(sg,0) line from M.W1 to (M.W1,L) then to L \ then up M.C.y-L.y-sg then to G3.Q2.C+(0,-sg); dot line from M.W3 down M.W3.y-L.y-sg*2 then to L+(sg*2,sg*2)\ then up M.C.y-L.y-sg*2 then to G2.Q2.C; dot line from M.W2 to (L,M.W2) \ then down M.W2.y-G1.Q2.C.y-sg then to G1.Q2.C+(0,sg); dot line right dimen_/3 from M.e then down M.e.y-SW.y ground .PE