### From The Preface

An introductory treatment of electrostatics usually begins with Coulomb's law, the concepts of charge, the electric field and energy stored in the field, potential, capacitance, and so on. Poisson's and Laplace's equations soon appear. Unfortunately, almost no real world problem can be solved in closed form using the latter equations. The most basic of electrostatic device analysis, the electric fields surrounding and the capacitance of a simple parallel plate capacitor, cannot be found.

Typically, a few interesting solution techniques, such as the separation of variables, are presented. Then the author has to choose a path. Other solution techniques such as conformal mapping can be shown; if the book is to be more than an introductory text, more formal materials such as Greene's functions can be introduced. In any case, the practitioner with real world geometries to be analyzed has been abandoned.

A book about numerical analysis techniques typically presents just that – numerical analysis techniques. The few examples presented are usually based as much on the ease of their presentation as on their ultimate usefulness.

My goal in writing this book is to present enough basic electrostatic theory as necessary to get into real world problems, then to present several of the available numerical techniques that are applicable to these problems, and finally to present numerous, detailed, examples showing how these techniques are applied. In other words, I am presenting the basics of electrostatics and several relevant numerical analysis techniques, with the emphasis on practical geometries.

The numerical analyses of problems in fields such as electrostatics typically have three distinct phases:

- Preprocessing. The conversion of the physical description of the problem to a data set that is meaningfully digestible by the numerical analysis program chosen for the job.
- Numerical analysis. The calculations, based upon the data set describing the geometry and the chosen boundary conditions, resulting (typically) in an approximate solution for the voltage distribution over the chosen space.
- Post-processing. Calculations and programming necessary to provide summary data such as capacitance and computer visualization of the results.

This book concentrates on item 2, the numerical analysis. Three fundamental techniques – method of moments, finite difference, and finite elements – are introduced. Sample problems are presented and computer code that solves the problems is developed. In order to accomplish the above, some preprocessing capability is necessary. Rather than develop this capability or simply request that the reader “get it done,” several freely available packages are introduced and basic tutorials on their usage are presented. These tutorials are not exhaustive, they introduce enough of the capabilities of these packages to allow the student to follow, replicate, and extensively modify these examples to the student's own needs. No claims are being made that the packages chosen are the best possible choices for the job. They are, however, choices that work well.

Post-processing of numerical analysis results, in this book, is done on an ad-hoc basis. Calculating the capacitance of a structure is often very useful because, if the example structure has been analyzed by other techniques and the results published, accuracy of results can be compared. This comparison allows for a convenient, one number figure of merit for choices of resolution, approximate boundary conditions, and so on. Often some graphical interpretations of field and/or voltage and/or charge distributions are presented. These are useful as a quick visual check on the boundary conditions and on gaining some insight into some of the electrostatic properties (high field points, etc.) of the structure being studied.

With only one exception, all the numerical analyses, post-processing and graphics were created
using MATLAB^{©}. This type of work is what MATLAB^{©} is designed to do. The analysis
techniques presented convert partial differential equations into sets of linear equations with
coefficients and variables represented by matrices and vectors. MATLAB^{©} is a scientific
programming language designed with the matrix as the fundamental data type. The language is
expressive, the available function list extensive and the easily used graphics superb.

The site accompanying this book at the John Wiley Site has the solutions to the problem sets and downloadable files containing all the program source code used in the book.