Below is a Dickson charge pump which charges a capacitor bank.

This is used, for example, in particle accelerators and in magnetizers. It's also handy to drive a MOSFET gate with a two-stage Dickson charge pump if you need just a bit more voltage than your circuit can provide, rather than using a DC-DC converter.

The advantage of a Dickson charge pump is that you don't need bulky high-voltage transformers to build a high voltage.

Here's a screenshot of my version of a Dickson charge pump:

It has a few features that I added.

The circuit is driven by 120 volt RMS (169.71 volt peak) voltage (as you'd get from your wall plug) at 60 Hz. The two 100 watt light bulbs act as current limiters. When starting it up, you'd have the switch open so only one bulb lights. This prevents popping a breaker. Once voltage builds a bit and current thus decreases, the switch can be closed to increase the speed of capacitor bank charging.

All the current that is fed into the capacitor bank is pulled from ground. I had a version in which the 120 Vrms voltage also fed the charging capacitors, but this seems safer, as the capacitor bank is isolated from the charging capacitors, and the charging capacitors are isolated from the wall voltage.

The capacitor bank is isolated from wall current twice... once by the transformer and again by the charging capacitors.

The zener diode and resistor on the center-tap of the transformer secondary is because as capacitor bank voltage builds, the voltage on the other side of the charging capacitors increases, which decreases efficiency. So we bleed that excess voltage build-up to ground so we get a full voltage swing on each half of the sinewave.

The transformer is a 2x step-up transformer, acting as both an isolation transformer and a step-up transformer. It's sized to form a resonant tank circuit with the charging capacitors at the 60 Hz driving frequency.

The inductor on the capacitor bank sets up a separate tank circuit which also oscillates at the 60 Hz driving frequency. The reason for this is explained below.

Here's the falstad.com circuit emulator code for it:

$ 3 0.0000010000000000000002 2.0940114358348603 18 5 50
w 688 360 688 320 0
w 624 360 624 320 0
w 688 72 688 112 0
w 624 72 624 112 0
w 608 320 624 320 0
w 608 112 624 112 0
w -32 360 32 360 0
w -32 72 32 72 0
l 624 288 624 144 0 0.14072 0
w 688 320 688 216 0
p 624 360 688 360 1 0
c 624 320 688 320 0 0.00009999999999999999 0.001
w 624 288 624 320 0
w 624 144 624 112 0
w 688 112 688 216 0
c 576 152 576 112 0 0.0000049999999999999996 0.001
c 576 320 576 280 0 0.0000049999999999999996 0.001
d 480 112 512 112 2 default
d 512 112 544 112 2 default
c 512 152 512 112 0 0.0000049999999999999996 0.001
c 544 112 544 72 0 0.0000049999999999999996 0.001
w 480 72 544 72 0
d 480 320 512 320 2 default
d 512 320 544 320 2 default
c 512 320 512 280 0 0.0000049999999999999996 0.001
c 544 360 544 320 0 0.0000049999999999999996 0.001
w 480 360 544 360 0
w 512 152 576 152 0
w 512 280 576 280 0
w 448 280 512 280 0
w 384 280 448 280 0
w 320 280 384 280 0
w 256 280 320 280 0
w 192 280 256 280 0
w 128 280 192 280 0
w 64 280 128 280 0
w 0 280 64 280 0
w 448 152 512 152 0
w 384 152 448 152 0
w 320 152 384 152 0
w 256 152 320 152 0
w 192 152 256 152 0
w 128 152 192 152 0
w 64 152 128 152 0
w 0 152 64 152 0
w -80 280 -32 280 0
p 624 72 688 72 1 0
c 688 112 624 112 0 0.00009999999999999999 0.001
d 544 320 576 320 2 default
w 416 360 480 360 0
c 480 360 480 320 0 0.0000049999999999999996 0.001
c 448 320 448 280 0 0.0000049999999999999996 0.001
c 416 360 416 320 0 0.0000049999999999999996 0.001
d 448 320 480 320 2 default
d 416 320 448 320 2 default
d 384 320 416 320 2 default
d 352 320 384 320 2 default
w 288 360 352 360 0
w 224 360 288 360 0
c 352 360 352 320 0 0.0000049999999999999996 0.001
c 320 320 320 280 0 0.0000049999999999999996 0.001
c 288 360 288 320 0 0.0000049999999999999996 0.001
c 256 320 256 280 0 0.0000049999999999999996 0.001
c 384 320 384 280 0 0.0000049999999999999996 0.001
d 320 320 352 320 2 default
d 288 320 320 320 2 default
d 256 320 288 320 2 default
d 224 320 256 320 2 default
w 352 360 416 360 0
d 544 112 576 112 2 default
w 416 72 480 72 0
c 480 112 480 72 0 0.0000049999999999999996 0.001
c 448 152 448 112 0 0.0000049999999999999996 0.001
c 416 112 416 72 0 0.0000049999999999999996 0.001
d 448 112 480 112 2 default
d 416 112 448 112 2 default
d 384 112 416 112 2 default
w 352 72 416 72 0
d -64 320 -32 320 2 default
d 0 320 32 320 2 default
d 32 320 64 320 2 default
d 64 320 96 320 2 default
d 96 320 128 320 2 default
d 128 320 160 320 2 default
d 160 320 192 320 2 default
d 192 320 224 320 2 default
d 576 320 608 320 2 default
c 96 360 96 320 0 0.0000049999999999999996 0.001
c 0 280 0 320 0 0.0000049999999999999996 0.001
c 64 320 64 280 0 0.0000049999999999999996 0.001
c 32 320 32 360 0 0.0000049999999999999996 0.001
c 128 320 128 280 0 0.0000049999999999999996 0.001
c 160 360 160 320 0 0.0000049999999999999996 0.001
c 192 320 192 280 0 0.0000049999999999999996 0.001
c 224 360 224 320 0 0.0000049999999999999996 0.001
w 32 360 96 360 0
w 96 360 160 360 0
w 160 360 224 360 0
d -64 112 -32 112 2 default
d 0 112 32 112 2 default
d 32 112 64 112 2 default
d 64 112 96 112 2 default
d 96 112 128 112 2 default
d 128 112 160 112 2 default
d 160 112 192 112 2 default
d 192 112 224 112 2 default
d 224 112 256 112 2 default
d 256 112 288 112 2 default
d 288 112 320 112 2 default
d 320 112 352 112 2 default
d 576 112 608 112 2 default
c 384 152 384 112 0 0.0000049999999999999996 0.001
c 96 112 96 72 0 0.0000049999999999999996 0.001
c 0 112 0 152 0 0.0000049999999999999996 0.001
c 64 152 64 112 0 0.0000049999999999999996 0.001
c 32 72 32 112 0 0.0000049999999999999996 0.001
c 128 152 128 112 0 0.0000049999999999999996 0.001
c 160 112 160 72 0 0.0000049999999999999996 0.001
c 192 152 192 112 0 0.0000049999999999999996 0.001
c 224 112 224 72 0 0.0000049999999999999996 0.001
c 256 152 256 112 0 0.0000049999999999999996 0.001
c 288 112 288 72 0 0.0000049999999999999996 0.001
c 320 152 320 112 0 0.0000049999999999999996 0.001
c 352 112 352 72 0 0.0000049999999999999996 0.001
w 32 72 96 72 0
w 96 72 160 72 0
w 160 72 224 72 0
w 224 72 288 72 0
w 288 72 352 72 0
d 352 112 384 112 2 default
v 440 184 344 184 0 1 60 169.7056274847714 0 0 0.5
w -88 152 -32 152 0
g -64 112 -64 128 0
g -64 320 -64 304 0
w -80 72 -80 280 0
w -88 152 -88 360 0
c -32 320 -32 360 0 0.0000049999999999999996 0.001
d -32 320 0 320 2 default
w -32 360 -88 360 0
d -32 112 0 112 2 default
c -32 72 -32 112 0 0.0000049999999999999996 0.001
w -80 72 -32 72 0
w -32 152 0 152 0
w -32 280 0 280 0
169 440 184 512 184 0 2.25152 2 0 0 0 0.99
g 584 216 600 216 0
w 512 184 512 152 0
w 512 248 512 280 0
181 344 184 344 248 0 300 100 120 0.4 0.4
w 344 248 440 248 0
z 584 216 552 216 2 default-zener
r 512 216 552 216 0 1000
181 296 248 296 184 0 300 100 120 0.4 0.4
s 296 184 344 184 0 1 false
w 296 248 344 248 0
g 688 216 704 216 0
o 130 64 1 28938 0.0001 0.0001 0 1 0.0001
o 46 64 0 12546 0.0001 0.0001 1 1
o 10 64 0 12546 0.0001 0.0001 2 1

There's an equation which can pretty accurately predict the output voltage of a Dickson charge pump:

Vout = ((N+1) * Vdd) - (N * (ILoad/C*Freq)) - ((N+1)* Vdiode)

The first part of the equation is the voltage increase, the second part is the voltage loss due to a load, and the third part is the voltage loss due to the diode forward voltage drop.

Where:
Vout = output voltage
N = number of pump capacitors
Vdd = input voltage
ILoad = load current
C = pump capacitor size
Freq = pump frequency
Vdiode = diode forward voltage drop

In the example above, we have two parallel banks of charge capacitors to take full advantage of a sinewave input. Each bank has 20 capacitors.

Plugging all the data in, the equation predicts that the circuit above should top out at approximately 7127.82 volts ideally (disregarding losses). This is double the predicted voltage due to the step-up transformer.

We can disregard the second part of the equation because the circuit isn't feeding a load, it's charging a capacitor bank. We can disregard the diode forward voltage drop because as the capacitor bank voltage increases and thus the current being fed to it decreases, the diode forward voltage drop decreases.

But I've had this circuit higher than the ideal voltage. How do we beat the equation above?

We use a tank circuit on our bank capacitors to oscillate the voltage in them at the same frequency as the driving frequency.

This lets the circuit push current into the bank capacitors at a lower voltage than the median voltage, thus allowing the capacitor bank to ultimately build to a higher-than-ideal voltage.