# Capacitance of parallel-plate and two-sphere capacitors

In this example, we exploit scuff-em's electrostatics module to compute the capacitance of parallel-plate and two-sphere capacitors.

The files for this example may be found in the
`share/scuff-em/examples/TwoBodyCapacitors`

subdirectory
of your scuff-em installation.

# Capacitance of a parallel-plate capacitor

I consider a parallel-plate capacitor consisting of two square conducting plates of side length separated by various distances . Neglecting fringing-field (i.e. finite-size) effects, the capacitance is

## Creating scuff-em input files

Because electrostatics is scale-invariant, I can choose length units arbitrarily, and I will choose units in which . To specify my geometry thus requires meshed representations of squares of side length 1, which I generate (at two different meshing resolutions) like this in gmsh:

```
% gmsh -setnumber N 10 -2 Square_N.geo -o Square.msh
% RenameMesh Square.msh
% gmsh -setnumber N 20 -2 Square_N.geo -o Square.msh
% RenameMesh Square.msh
```

Here `Square_N.geo`

is the
gmsh input file
and `RenameMesh`

is a little script that uses
[scuff-analyze][scuff-analyze] to
count the number of interior edges in a surface mesh and
rename the file accordingly.

This produces files named
`Square_280.msh`

and `Square_1160.msh`

.
Now write
scuff-em geometry files:

+`TwoPlateCapacitor_280.scuffgeo`

+`TwoPlateCapacitor_1160.scuffgeo`

and a list of geometrical transformations describing 20 values of the plate-plate spacing ranging from to :

Before running calculations, double-check that our `.scuffgeo`

and `.trans`

files file correctly describe the range of geometries
we want to study:

```
% scuff-analyze --geometry TwoPlateCapacitor_280.scuffgeo --transfile TwoPlateCapacitor.trans
% gmsh TwoPlateCapacitor_280.transformed.pp
```

## Running the calculation

```
% for N in 280 1160
% do
% ARGS=""
% ARGS="${ARGS} --geometry TwoPlateCapacitor_${N}.scuffgeo"
% ARGS="${ARGS} --TransFile TwoPlateCapacitor.trans"
% ARGS="${ARGS} --CapFile TwoPlateCapacitor_${N}.out"
% scuff-static ${ARGS}
% done
```

## Plotting the data

```
% gnuplot
gnuplot> set logscale xy
gnuplot> plot 'TwoPlateCapacitor_280.out' u 1:(abs($3)) t 'SCUFF, N=280' w p pt 7 ps 1, 'TwoPlateCapacitor_1160.out' u 1:(abs($3)) t 'SCUFF, N=1160' w p pt 6 ps 2, 1/x w l lw 2 t 'Theoretical Prediction'
```

The deviations from the theoretical prediction at small are due to finite mesh resolution and are reduced in the finer-mesh calculation. On the other hand, the deviations at large are due to the finite size of the plates and are not changed by computing at finer resolution.

# Capacitance of a two-sphere capacitor

The `share/scuff-em/examples/TwoBodyCapacitors`

subdirectory
of your scuff-em installation also contains input files
for computing the self- and mutual capacitances of a capacitor
consisting of two conducting spheres of radius separated by a
surface-surface separation distance (center-center separation ).
Analytical formulas for the self-capacitance and mutual
capacitance for this case may be found in this paper
from 1926:

- A. Russell, "The problem of the spherical condenser",
*Journal of the Institution of Electrical Engineers***64**727 (1926). DOI: 10.1049/jiee-1.1926.0065

The scuff-static computation proceeds as above with new geometry and transformation files:

```
% for N in 501 2604
% do
% ARGS=""
% ARGS="${ARGS} --geometry TwoSphereCapacitor_${N}.scuffgeo"
% ARGS="${ARGS} --TransFile TwoSphereCapacitor.trans"
% ARGS="${ARGS} --CapFile TwoSphereCapacitor_${N}.out"
% scuff-static ${ARGS}
% done
```

This time we'll plot both and and compare against the large- and small- analytical formulas in the paper of Russel above.

Here's the gnuplot script I used
to make this plot: `TwoSphereCapacitor.gp`

.