# Patent

## Title
Computer simulation of electromagnetic fields

## Abstract

A method and system is provided for solving for electromagnetic fields by approximating an electromagnetic function as a sum of basis functions multiplied by coefficients to be determined. The set of equations used to determine the coefficients results from taking derivatives of the action integral with respect to the coefficients (and/or other parameters) and setting the derivative equal to zero, thereby extremizing the action integral.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of PCT Application Number PCT/US14/41805, filed on Jun. 10, 2014, by Terje Graham Vold, entitled “Computer Simulation of Electromagnetic Fields,” which is a continuation-in-part of U.S. patent application Ser. No. 14/261,415, filed on Apr. 24, 2014, by Terje Graham Vold, entitled “Computer Simulation of Electromagnetic Fields;” which is a continuation-in-part of U.S. patent application Ser. No. 13/923,305 entitled “Computer Simulation of Electromagnetic Fields” filed Jun. 20, 2013, by Terje Graham Vold; which is a continuation-in-part of U.S. patent application Ser. No. 13/914,507 entitled “Computer Simulation of Electromagnetic Fields,” filed Jun. 10, 2013, by Terje Graham Vold; which is a continuation-in-part of U.S. patent application Ser. No. 13/136,010, entitled “Computer simulation of electromagnetic fields,” filed Jul. 19, 2011, by Terje Graham Vold; which claims priority to U.S. Provisional Patent Application No. 61/365,366, entitled “Computer Simulation of Electromagnetic Fields,” filed Jul. 19, 2010, by Terje Vold, and all of the above applications are each incorporated herein by reference, in their entirety;
this application is also a continuation-in-part of U.S. patent application Ser. No. 14/261,415, filed on Apr. 24, 2014, by Terje Graham Vold, entitled “Computer Simulation of Electromagnetic Fields;” which is a continuation-in-part of U.S. patent application Ser. No. 13/923,305 entitled “Computer Simulation of Electromagnetic Fields” filed Jun. 20, 2013, by Terje Graham Vold; which is a continuation-in-part of U.S. patent application Ser. No. 13/914,507 entitled “Computer Simulation of Electromagnetic Fields,” filed Jun. 10, 2013, by Terje Graham Vold; which is a continuation-in-part of U.S. patent application Ser. No. 13/136,010, entitled “Computer simulation of electromagnetic fields,” filed Jul. 19, 2011, by Terje Graham Vold; which claims priority to U.S. Provisional Patent Application No. 61/365,366, entitled “Computer Simulation of Electromagnetic Fields,” filed Jul. 19, 2010, by Terje Vold, and all of the above applications are each incorporated herein by reference, in their entirety.


FIELD
This specification generally relates to computations of electromagnetic fields.
BACKGROUND
The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions. There are a variety of numerical techniques for computing numerical fields. Boundary element methods are often used in electromagnetic simulations. The general idea of boundary element methods is that space is modeled as consisting of regions with uniform electromagnetic response properties separated by negligibly thin boundaries. For each uniform region, a parameterized solution to Maxwell's equations is written (for example, a sum of parameters times plane waves, or a sum of parameters times fields due to fictitious “equivalent sources”). The parameterization and the parameters are chosen so that the error is small in some sense.
However, the best method for minimizing the errors is not at all obvious. A common method is the “method of moments.” However, the method of moments is rather poorly motivated and ad-hoc. Different choices of parameters are chosen for different notions of “error” and “small” for different situations. In other words, the choice of parameterization and parameters is an art form that depends on the user's intuition.



DESCRIPTION OF THE FIGURES
In the following drawings like reference numbers are used to refer to like elements. Although the following figures depict various examples of the invention, the invention is not limited to the examples depicted in the figures.
FIG. 1 shows a block diagram of a machine that may be used for carrying out the computations for determining electromagnetic fields.
FIG. 2 is a block diagram of an example of system, which may store the machine code for solving for electromagnetic fields.
FIG. 3 is a flowchart of an embodiment of a method that is implemented by processor system.
FIG. 4 is a flowchart of an embodiment of a method for solving the electromagnetic equations.
FIG. 5 shows an example of homogeneous regions for computing the electromagnetic fields.
FIG. 6 shows an example of computational regions corresponding to the homogeneous regions of example with a thin boundary region.
FIG. 7 shows is a diagram illustrating elements of an example to which the least action method is applied.
FIG. 8 shows another sample problem having a dielectric sphere and a point dipole.
FIG. 9 shows an example of a placement of virtual sources inside the sphere of FIG. 8 for computing the basis potential functions outside of the sphere.
FIG. 10 shows an example of a placement of virtual sources outside the sphere of FIG. 8 for computing basis function within the sphere.
FIG. 11 shows an example of an arrangement of virtual point dipoles on the polyhedron of FIG. 9.
FIG. 12 shows an example of using a mesh of simplices for computing a field.
FIG. 13 shows a flowchart of an example of a method of computing a electromagnetic quantities.



DETAILED DESCRIPTION
Although various embodiments of the invention may have been motivated by various deficiencies with the prior art, which may be discussed or alluded to in one or more places in the specification, the embodiments of the invention do not necessarily address any of these deficiencies. In other words, different embodiments of the invention may address different deficiencies that may be discussed in the specification. Some embodiments may only partially address some deficiencies or just one deficiency that may be discussed in the specification, and some embodiments may not address any of these deficiencies.
In general, at the beginning of the discussion of each of FIGS. 1, 2, 5-11 is a brief description of each element, which may have no more than the name of each of the elements in the one of FIGS. 1, 2, 5-11 that is being discussed. After the brief description of each element, each element is further discussed in numerical order. In general, each of FIGS. 1-13 is discussed in numerical order and the elements within FIGS. 1-13 are also usually discussed in numerical order to facilitate easily locating the discussion of a particular element. Nonetheless, there is no one location where all of the information of any element of FIGS. 1-13 is necessarily located. Unique information about any particular element or any other aspect of any of FIGS. 1-13 may be found in, or implied by, any part of the specification.
System
FIG. 1 shows a block diagram of a machine 100 that may be used for carrying out the computations for determining electromagnetic fields. Machine 100 may include output system 102, input system 104, memory system 106, processor system 108, communications system 112, and input/output device 114. In other embodiments, machine 100 may include additional components and/or may not include all of the components listed above.
Machine 100 is an example of what may be used for carrying out the computations for determining electromagnetic fields. Machine 100 may be a computer and/or a special purpose machine computing electromagnetic computations.
Output system 102 may include any one of, some of, any combination of, or all of a monitor system, a handheld display system, a printer system, a speaker system, a connection or interface system to a sound system, an interface system to peripheral devices and/or a connection and/or interface system to a computer system, intranet, and/or internet, for example. Output system 102 may be used to display an indication of the types of input needed, whether there are any issues with the inputs received, and may output results of a computation of an electromagnetic field, for example.
Input system 104 may include any one of, some of, any combination of, or all of a keyboard system, a mouse system, a track ball system, a track pad system, buttons on a handheld system, a scanner system, a microphone system, a connection to a sound system, and/or a connection and/or interface system to a computer system, intranet, and/or internet (e.g., IrDA, USB), for example. Input system 104 may be used to enter the parameters of a problem to be solved, such as the grid on which to perform the computations, the sizes, and shapes of the objects within a region of space where electromagnetic quantities are being computed, the material parameters of each region within the grid, the choice of basis functions, and initial state, if applicable.
Memory system 106 may include, for example, any one of, some of, any combination of, or all of a long term storage system, such as a hard drive; a short term storage system, such as random access memory; a removable storage system, such as a floppy drive or a removable drive; and/or flash memory. Memory system 106 may include one or more machine-readable mediums that may store a variety of different types of information. The term machine-readable medium is used to refer to any non-transient medium capable carrying information that is readable by a machine. One example of a machine-readable medium is a computer-readable medium. Memory system 106 may store the machine instructions (e.g., a computer program, which may be referred to as a code) that cause machine 100 to compute electromagnetic fields and related quantities. Memory 106 may also store material parameters corresponding to specific materials and basis-functions. The basis function may be parameterized solutions to the electromagnetic equations within a homogenous region.
Processor system 108 may include any one of, some of, any combination of, or all of multiple parallel processors, a single processor, a system of processors having one or more central processors and/or one or more specialized processors dedicated to specific tasks. Processor system 110 may carry out the machine instructions stored in memory system 108, and compute the electromagnetic field.
Communications system 112 communicatively links output system 102, input system 104, memory system 106, processor system 108, and/or input/output system 114 to each other. Communications system 112 may include any one of, some of, any combination of, or all of electrical cables, fiber optic cables, and/or means of sending signals through air or water (e.g. wireless communications), or the like. Some examples of means of sending signals through air and/or water include systems for transmitting electromagnetic waves such as infrared and/or radio waves and/or systems for sending sound waves.
Input/output system 114 may include devices that have the dual function as input and output devices. For example, input/output system 114 may include one or more touch sensitive screens, which display an image and therefore are an output device and accept input when the screens are pressed by a finger or stylus, for example. The touch sensitive screens may be sensitive to heat and/or pressure. One or more of the input/output devices may be sensitive to a voltage or current produced by a stylus, for example. Input/output system 114 is optional, and may be used in addition to or in place of output system 102 and/or input device 104.
FIG. 2 is a block diagram of an example of system 200, which may store the machine code for solving for electromagnetic fields and other electromagnetic quantities. System 200 may include action extremizer 201a, which may include basis function builder 201b. System 200 may include user interface 202 having tolerance choices 204, grid choices 206, output choices 208, basis function choices 210, and material parameter choices 212. Memory 106 may also include basis functions 214, initial state generator 218, and output generator 220. In other embodiments, system 200 may include additional components and/or may not include all of the components listed above.
In an embodiment, system 200 is an embodiment of memory system 106, and the blocks of system 200 represent different functions of the code that solves for electromagnetic fields performs, which may be different modules, units and/or portions of the code. Alternatively, system 200 may be a portion of the processor system, such as an Application Specific Integrated Circuit (ASIC), and/or another piece of hardware in which the code of system 200 is hardwired into system 100.
Notation
The notation of Doran and Lasenby in Geometric Algebra for Physicists (Cambridge University Press, 2003) in SI units is used in the current specification. For reference, some details of the notation of Doran and Lasenby are given in the notation section.
A frame vector of 4D space-time is represented by γα  for α∈{0,1,2,3}, with γ0 equal to the time-like frame vector and with γ0γ0=1, and γiγi=−1 for i∈{1,2,3}, and γαγβ=0 for α#β. A reciprocal frame vector of 4D space-time is represented by γa for α∈{0,1,2,3}, with γαγα=+1 for α∈{0,1,2,3} and γaγβ=0 for α≠β. A frame vector of the 3D space of the inertial frame associated with γ0 is represented by {right arrow over (e)}i≡γiγ0 for i∈{1,2,3}. The electromagnetic field F is defined to equal the antisymmetric part of the space-time vector derivative of the space-time vector potential A,

F=∇A, 

where the space-time vector derivative is related to the time and vector derivative in 3D space by





  ▽
  =
  
    
      (
      
        
          
            1
            c
          
          ⁢
          
            ∂
            
              ∂
              t
            
          
        
        -
        
          ▽
          →
        
      
      )
    
    ⁢
    
      γ
      0
    
  




the space-time potential A is related to the scalar potential Φ and vector potential {right arrow over (A)} in 3D space by





  A
  =
  
    
      (
      
        
          
            ɛ
            0
          
          ⁢
          Φ
        
        +
        
          
            1
            
              c
              ⁢
              
                
              
              ⁢
              
                μ
                0
              
            
          
          ⁢
          
            A
            →
          
        
      
      )
    
    ⁢
    
      γ
      0
    
  




 is the outer product of geometric algebra, γ0 is the time-like space-time velocity vector defining the inertial frame associated with the 3D space vector potential {right arrow over (A)} and scalar potential Φ, and quantities with an over-script arrow such as {right arrow over (A)} are always vectors in the 3D space of the inertial frame defined by γ0. In this specification, the word “potential” is generic to the space-time vector potential, to the scalar and vector potential in 3D space together or separately, to the “media potential”





  
    
      A
      m
    
    =
    
      
        (
        
          
            ɛ
            ⁢
            
              
            
            ⁢
            Φ
          
          +
          
            
              1
              
                v
                ⁢
                
                  
                
                ⁢
                μ
              
            
            ⁢
            
              A
              →
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  
  ,




and/or to other simply related quantities including a discontinuous potential that is related to a continuous potential by a gauge transformation.

The electromagnetic field F is related to the electric field {right arrow over (E)} and “magnetic B-field” or “magnetic intensity” {right arrow over (B)} by



  
    F
    =
    
      
        
          ɛ
          0
        
        ⁢
        
          E
          →
        
      
      +
      
        
          1
          
            c
            ⁢
            
              
            
            ⁢
            
              μ
              0
            
          
        
        ⁢
        III
        ⁢
        
          B
          →
        
        ⁢
        
          
        
        ⁢
        where
      
    
  




  
    
      III
      ≡
      
        
          
            e
            →
          
          1
        
        ⁢
        
          
            e
            →
          
          2
        
        ⁢
        
          
            e
            →
          
          3
        
      
    
    =
    
      
        γ
        0
      
      ⁢
      
        γ
        1
      
      ⁢
      
        γ
        2
      
      ⁢
      
        γ
        3
      
    
  



is the pseudoscalar of the geometric algebra of both 3D space and 4D space-time. The 3D cross product is related to the wedge product via the pseudoscalar by III{right arrow over (a)}×{right arrow over (b)}={right arrow over (a)}{right arrow over (b)}. In general, the field G is a function of F and a polarization field P, or G=f(F,P). Although the methods described herein are not limited to linearly polarizable material, for linearly polarizable media the field G is the sum of F and a polarization field P,

G=F+P, 

where the 4D space-time polarization field P is composed of the 3D space vector electric polarization {right arrow over (P)} and magnetic polarization vector {right arrow over (M)} according to





  P
  =
  
    
      P
      →
    
    -
    
      III
      ⁢
      
        1
        c
      
      ⁢
      
        M
        →
      
    
  




so that G may be written as





  
    G
    =
    
      
        D
        →
      
      +
      
        III
        ⁢
        
          1
          c
        
        ⁢
        
          H
          →
        
      
    
  
  ,




where the electric displacement field {right arrow over (D)} is given by

{right arrow over (D)}=ε0{right arrow over (E)}+{right arrow over (P)}, 

and the “magnetic H-field” or “magnetic field” {right arrow over (H)} is given by





  
    H
    →
  
  =
  
    
      
        1
        
          μ
          0
        
      
      ⁢
      
        B
        →
      
    
    -
    
      
        M
        →
      
      .
    
  




In this specification, the word “field” is generic to F or G, or their parts E, B, D, or H, or the simply related media field Fm.
The polarizations {right arrow over (P)} and {right arrow over (M)} are generally modeled as functions of {right arrow over (E)} and {right arrow over (B)}, often linear functions, but not necessarily. The space-time vector field J representing charge-current density in 4D space-time volumes is related to the charge density ρ and 3D vector current density {right arrow over (J)} by the equation




  J
  =
  
    
      (
      
        ρ
        +
        
          
            1
            c
          
          ⁢
          
            J
            →
          
        
      
      )
    
    ⁢
    
      γ
      0
    
  




and the space-time vector field K representing charge-current density on 3D boundaries in 4D space-time is related by the equation





  K
  =
  
    
      (
      
        σ
        +
        
          
            1
            c
          
          ⁢
          
            K
            →
          
        
      
      )
    
    ⁢
    
      γ
      0
    
  




The convention of Mathematica from Wolfram Research that expressions are grouped by rounded brackets (parentheses) while function arguments are enclosed by square brackets [like these] is used. Function arguments may be implied or written explicitly, so that, for example, the action may be written as either S or S[A,∇A].
Extremizer 201a extremizes the action integral by adjusting coefficients of a sum of basis. After the coefficients have been adjusted by the extremizer, the sum of basis functions is a solution or an approximation of a solution to the electromagnetic fields. Basis function builder 201b computes parameters of basis functions and/or selects basis functions. Basis function builder may compute the basis functions based on boundary conditions that the user inputs. User interface 202 may be used for receiving input for setting up the problem to solve and outputting results of computing electromagnetic fields. Tolerance choice 204 is an input for entering the tolerance for performing the computations or another form of input for determining the accuracy with which to perform the computations.
Grid choices 206 includes one or more input fields for defining the space in which the problem is solved, including a description of boundaries between regions with different polarizabilities. Grid choices 206 may also include input fields for defining the initial state of the system. The grid choices 206 may divide the computation region into two or more smaller computation regions or cells, if appropriate.
In an embodiment, a grid may be chosen to divide space or space-time into computation regions that are simplices, or to divide the boundary between regions into simplices. In the current specification, a simplex (which in plural form is simplexes or simplices) refers to a generalization of the notion of a triangle or tetrahedron to arbitrary dimension. Specifically, an n-simplex is an n-dimensional polytope, which is the convex hull of n+1 vertices. For example, a 2-simplex is a triangle, a 3-simplex is a tetrahedron, and a 4-simplex is a pentachoron. Simplices may be desirable when the parameterized potential is defined to be a linear function of position within each simplex. Using simplices, a continuous potential may be parameterized by the values of the continuous potential at all simplex vertices, and in an embodiment the field F may be a constant within each simplex because the field F is defined to be a linear combination of derivatives of A. Also, the field G may be a constant within each simplex if the field G is a function of only the field F, whether G is a linear or nonlinear function of F. In other embodiments, G are F are not constants within a simplex. Simplices may be defined that cover all of the simulation space, or may be combined with regions of other or arbitrary shape. Including simplices with or between regions of arbitrary shape may make it easier to define good potential basis functions.
An example of a situation where it may be convenient to have some regions that are simplices and some that are not is to cover a region containing a nonlinear material with simplices, and to use a single space-time region for a homogenous linearly polarizable medium outside the nonlinear material. In this example, the boundary between the nonlinear and linearly polarizable media is represented by lower dimensional simplices.
In an embodiment, each region of uniform polarization may be one computational region bounded by a surface that is a patch work of triangles (or simplices), and each triangle may have a curved or flat surface.
Basis functions 210 may include a set of default basis functions that the user can choose, such as those specified by boundary values and calculated with the help of Green's theorem as an integral of the boundaries of each simplex. Basis functions 210 may also include an input charge-current source or associated basis field. Basis function choices 210 may include a list of default basis functions, which the user may choose. In an embodiment, the default basis functions, when multiplied by a series of quantities (which may be referred to as parameters) and summed together, may form parameterized functions, and solving for the parameters solves the electromagnetic equations. The basis functions 210 may include potential basis functions and field basis functions. In this specification, the term basis function is generic to potential basis functions, field basis functions, and other basis functions. Basis functions 210 may include forms of basis functions, which have parameters that are determined by basis function builder 201b. 
In an embodiment, each potential basis function may be specified by potential values on boundaries along with the requirement that at non-boundary points the Euler-Lagrange equation is satisfied by the potential for any set of parameter values.
In another embodiment, each potential basis function may be specified by values of the scalar potential and tangential values of the vector potential on boundaries and the requirement that the potential satisfies the Lorenz condition at region points next to a boundary, along with the requirement that at non-boundary points the potential satisfies the wave equation in the media for any set of parameter values.
Basis functions may be defined in terms of fields that would result from fictitious “virtual” charge and current densities, such as point dipole moments, in a corresponding fictitious space filled with an unbounded uniform polarizable medium. In one embodiment, one or more virtual point dipole moments at each of a series of points are used to define each basis function within each region with uniform polarizability. The positions, directions, and type (electric and/or magnetic) of the virtual dipole moments may be chosen to form a good set of basis functions. A good set of basis functions is a set basis functions capable of representing any function that may represent the electromagnetic fields in the non-boundary regions. In an embodiment a good set of basis functions is a complete set of basis functions. In an embodiment, the virtual dipole moments and/or other virtual charge and current densities are located outside of a computation cell and/or region in which the basis function is being defined.
Material parameters 212 may include the material parameters that the user can choose for each region of the space in which the problem is being solved, for example. In an embodiment, material parameters may include combinations of material parameters associated with common materials, so that the user can just specify the name of the material and the combination of parameters associated with that material may be assigned to the region chosen. The material parameters may include, user selectable choices for values of the permeability, polarizability, magnetization, saturation magnetization, susceptibility, permittivity, conductivity, resistivity, and dielectric constant, for example.
Basis function 214 may include an algorithm for choosing basis functions when the user has not chosen and/or may include an algorithm for converting the user's input into a function that is called by the code as the basis functions that are used by least action extremizer 201a to extremize the action integral and solve for the fields, in addition to or instead of basis function builder 201b. 
An Embodiment of the Architecture of System 200
Action extremizer 201a is a module that solves for the electromagnetic fields by extremizing the action. In general, action extremizer 201a computes numerical values for a set of parameters of basis functions (e.g., the vector and scalar potentials from which the electric and magnetic fields may be derived). In an embodiment, the potential functions are a parameterized continuous electromagnetic potential. The values of the parameters are computed within a predetermined tolerance to extremize an action integral. The action integral is the integral of the Lagrangian density. The Lagrangian density contains terms for the electromagnetic field in vacuum and/or in polarizable media and for the interaction of the electromagnetic field with electric charge and current. The terms of the electromagnetic fields may describe linear or nonlinear polarizable media.
A method is described for accurately and efficiently computing values of electromagnetic fields, suitable for use in various fields of applied physics and engineering ranging from magnetostatics to RF engineering to integrated optics. An electromagnetic potential is defined that is parameterized by the electromagnetic potential's tangential components at boundaries between regions with uniform polarizability, and parameter values are chosen that extremize the classical electromagnetic action. Useful general results are derived using the geometric algebra of space-time. The method is compared with the widely used method of moments.
The Principle of Least Action
The current section contains a summary of the principle of least action as applied to electromagnetism in space-time, using the notation of and results from [1,2], and SI units. For simplicity the discussion that follows is worded in terms of linearly polarizable media, as an example, but the same general principles may be applied to other media. The electromagnetic action S with a space-time vector charge-current source density J is a scalar-valued functional S[A, ∇A] of a continuous space-time vector field A and derivatives ∇A of A, over all of space-time volume u, given by the integral

S=∫u(1⁄2F·F−A·J)du  (1)

where the electromagnetic field F is a space-time bivector field defined as a derivative of the space-time potential A, a space-time vector field, by

F≡∇A  (2)

The total source J≡Jf+Jb is the sum of a “free” source density Jf and a “bound” source density Jb≡∇·P where, as mentioned above,





  P
  =
  
    
      P
      →
    
    -
    
      I
      ⁢
      
        
      
      ⁢
      I
      ⁢
      
        
      
      ⁢
      I
      ⁢
      
        1
        c
      
      ⁢
      
        M
        →
      
    
  




is the electric vector plus magnetic bivector polarization. For simplicity, the displacement-magnetic field G is assumed to be a linear function of the electromagnetic field F. However, taking the displacement-magnetic field G to be a linear function of the electromagnetic filed F is not necessary and the displacement-magnetic field G may be a nonlinear function of electromagnetic F in this case. The quantity A·J can be integrated by parts to rewrite the action as

S=∫u(1⁄2F·G−A·Jf)du  (3)

where (as mentioned above) the displacement-magnetic field G≡F+P is a linear function of F since P is. In the simple case of isotropic polarizability, the equation for the displacement-magnetic field G can be written as





  
    
      
        
          
            G
            ⁡
            
              [
              F
              ]
            
          
          ≡
          
            
              
                (
                
                  ɛ
                  
                    ɛ
                    0
                  
                
                )
              
              ⁢
              
                F
                ·
                
                  γ
                  0
                
              
              ⁢
              
                γ
                0
              
            
            +
            
              
                (
                
                  
                    μ
                    0
                  
                  μ
                
                )
              
              ⁢
              F
            
          
        
        ⩓
        
          
            γ
            0
          
          ⁢
          
            γ
            0
          
        
      
    
    
      
        (
        4
        )
      
    
  




where the permittivity ε and permeability μ are scalar functions of position in the rest frame of the medium, associated with the unit time-like vector γ0. The principle of least action says that variation δS of the action S with respect to any variation δA of the field A must equal zero for any physically realizable field A:

δ∫u(1⁄2F·A−Jf)du=0  (5)

After writing electromagnetic field F in terms of electromagnetic potential A and using linear dependence of displacement-magnetic intensity field G on the electromagnetic field F, the first term of equation (5) can be integrated by parts so that equation (5) can be written as

∫uδA·(∇·G−Jf)du=0  (6)

Equation (6) is true if and only if the Euler-Lagrange equation,

∇·G−Jf=0  (7)

holds throughout space-time u.

F and therefore G do not depend on the specific choice of ∇·A, resulting in a gauge freedom. The gauge freedom may be removed by requiring that A satisfies the Lorenz condition,

∇·A=0  (8)

However, other gauges may be used instead.

Maxwell's Equations

The following section contains a summary of the expression of the Euler-Lagrange equations using vectors and scalars in 3D space.
The space-time bivector field F may be projected into two parts, one part containing and one part not containing a unit time-like vector γ0 associated with any particular inertial reference frame, as

F=F·γ0γ0+Fγ0γ0  (9)

The first term of equation (9) is a 3D space vector proportional to the electric field {right arrow over (E)} and the second is a 3D space bivector proportional to the magnetic intensity {right arrow over (B)}. Using SI units, the first term of equation (9) is




  
    
      
        F
        =
        
          
            
              ɛ
              0
            
            ⁢
            
              E
              →
            
          
          +
          
            
              1
              
                c
                ⁢
                
                  
                
                ⁢
                
                  μ
                  0
                
              
            
            ⁢
            III
            ⁢
            
              B
              →
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




where ε0 and μ0 are the permittivity and permeability of free space, where constants, c=1/√{square root over (ε0μ0)} and III is the unit pseudoscalar (III may sometimes be written as I). Following the convention [1,2], an arrow over the letter is used to represent only 3D vectors.

Similarly, the space-time bivector field G may be expressed as the sum of parts projected onto and rejected by γ0,

G=G·γ0γ0+Gγ0γ0  (11)

the two terms of equation (11) give the displacement {right arrow over (D)}≡ε0{right arrow over (E)}+{right arrow over (P)}=εE and magnetic field





  
    
      H
      →
    
    ≡
    
      
        
          1
          
            μ
            0
          
        
        ⁢
        
          B
          →
        
      
      -
      
        M
        →
      
    
  
  =
  
    
      1
      μ
    
    ⁢
    
      B
      →
    
  




according to





  
    
      
        
          G
          =
          
            
              D
              →
            
            +
            
              III
              ⁢
              
                1
                c
              
              ⁢
              
                H
                →
              
            
          
        
        ,
      
    
    
      
        (
        12
        )
      
    
  




The scalar and space-time bivector parts of the product of the Euler-Lagrange equation with γ0 give the first and second of Maxwell's equations,




  
    
      
        
          ∇
          
            ·
            
              D
              →
            
          
        
        =
        
          ρ
          f
        
      
    
    
      
        (
        13
        )
      
    
  
  
    
      
        
          
            ∇
            
              ×
              
                H
                →
              
            
          
          -
          
            
              ∂
              
                D
                →
              
            
            
              ∂
              t
            
          
        
        =
        
          
            J
            f
          
          →
        
      
    
    
      
        (
        14
        )
      
    
  




The space-time bivector and pseudoscalar parts of the product of the mathematical identity ∇∇A=0 with γ0 give the third and fourth of Maxwell's equations,




  
    
      
        
          
            ∇
            
              ×
              
                E
                ⇀
              
            
          
          +
          
            
              ∂
              
                B
                ⇀
              
            
            
              ∂
              t
            
          
        
        =
        0
      
    
    
      
        (
        15
        )
      
    
  
  
    
      
        
          ∇
          
            ·
            
              B
              →
            
          
        
        =
        0
      
    
    
      
        (
        16
        )
      
    
  




Discontinuities in Polarizability

Discontinuities in polarizability of the medium with change in position in space correspond to discontinuities in permittivity E or permeability μ. Although the space-time potential A is continuous everywhere by assumption, discontinuity in polarizability generally corresponds to discontinuities in derivatives of A and therefore in F and in G. If space-time is filled with bounded regions of 4D volume having continuous polarizability with discontinuities only at the boundaries between the bounded regions, then such discontinuities in F and G occur only at the boundary points. Let the collection of boundary points be called β and the collection of region points be called u and let the corresponding surface charge-current density and spatial charge-current density be called Kf and Jf, respectively. Then the equation from which the Euler-Lagrange equation was deduced can, in the instant case, be written as

∫uδA·(∇·G−Jf)du+∫βδA·(n·ΔG−Kf)dβ=0  (17)

for any variation δA, where n is a unit normal space-time vector at the boundary, ΔG is the change in G across such a boundary in the direction n, and du and dβ are scalar-valued integration differentials. The integration differential du is an infinitesimal volume in u and the integration differential dβ is an infinitesimal area on the boundary surface β separating regions of space-time volume u with continuous polarizability.

The Method of Least Action

In the general theoretical framework above, any variation δA in the field A is considered. But in numerical computations, typically the field A is parameterized with a finite number of parameters cα  that may range over all possible values or may be constrained to range over some specified set of values. For simplicity, consider A to be a linear function of parameters cα,

A=aαcα  (18)

where the aα are basis fields for the field A, the subscripted index ranges over a set of integers, and use the convention of summing over repeated dummy indices. Each basis field aα is defined and continuous at every point of space-time, including boundary points. Some parameters may be known or specified, corresponding to “known” or “incident” fields, and others unknown; for simplicity, let the parameters cα for α≠0 be unknown and that for α=0 be known, and choose c0=1. The convention that a Greek index such as a ranges over all values while a Roman index such as i ranges over i≠0 is used herein.

Substituting A=aαcα, then extremize the action with respect to variations of A
that are described by variations δcj of the parameters cj, that is,




  
    δ
    ⁢
    
      
    
    ⁢
    A
  
  =
  
    
      
        (
        
          
            ∂
            A
          
          
            ∂
            
              c
              j
            
          
        
        )
      
      ⁢
      δ
      ⁢
      
        
      
      ⁢
      
        c
        j
      
    
    =
    
      
        a
        j
      
      ⁢
      δ
      ⁢
      
        
      
      ⁢
      
        
          c
          j
        
        .
      
    
  




The result is true for any set of values of the variations δci including δcj=δi,j where is δi,j the Dirac delta function, for which equation (17) above becomes the set of equations indexed by i,

∫uai·(∇·G−Jf)du+∫βai·(n·ΔG−Kf)dβ=0  (19)

Equation (19) is a general result that may be applied by the method of least action to compute electromagnetic fields. Specifically, equation (19) applies to both linear and nonlinear media, although for simplicity the discussion is continued below for linear media.

Since F is a linear function of A and G is a linear function of F, F and G can each be written as corresponding sums of basis functions,




  
    
      
        
          F
          =
          
            
              f
              α
            
            ⁢
            
              c
              α
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              where
              ⁢
              
                
              
              ⁢
              
                f
                α
              
            
            =
            
              
                ∇
                Λ
              
              ⁢
              
                
              
              ⁢
              
                a
                α
              
            
          
          ,
          and
        
      
    
    
      
        (
        20
        )
      
    
  
  
    
      
        
          G
          =
          
            
              g
              α
            
            ⁢
            
              c
              α
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            where
            ⁢
            
              
            
            ⁢
            
              g
              α
            
          
          =
          
            
              
                ɛ
                
                  ɛ
                  0
                
              
              ⁢
              
                
                  f
                  α
                
                ·
                
                  γ
                  0
                
              
              ⁢
              
                γ
                0
              
            
            +
            
              
                
                  μ
                  0
                
                μ
              
              ⁢
              
                f
                α
              
              ⁢
              
                
              
              ⁢
              Λ
              ⁢
              
                
              
              ⁢
              
                γ
                0
              
              ⁢
              
                
              
              ⁢
              
                
                  γ
                  0
                
                .
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




Consequently, the integral function above, the set of equations (19), can be written in terms of the basis functions fα, and gα, as

∫uai·(∇·gαcα−Jf)du+∫βai·(n·Δgαcα−Kf)dβ=0  (22)

It is convenient to put all terms containing unknown parameters (α=j≠0) on the left, and all others (including α=0 terms) on the right; the result can be written explicitly as a matrix equation,

mi,jcj=bi  (23)

where

mi,j≡∫uai·(∇·gj)du+∫βai·(n·Δgj)dβ  (24)

and

bi≡−∫uai·(∇·g0−Jf)du−∫βai·(n·Δg0−Kf)dβ  (25)

The preceding system of equations, equations (23), (24) and (25), can be solved for the parameters cj, and then using the value mi,j, and bi, the value of any field at any point can be calculated.
The solving of equations (23), (24) and (25) is especially useful when combined with the use of “media potentials” (which are potential functions that are dependent on the media parameters) in polarizable media and the use of potentials that are discontinuous across the boundaries between regions containing material with different polarizabilities, as will be described in later sections, and when the basis functions are chosen so that the volume integrals are zero for any set of parameter values. Despite the simplicity of solving equations (23), (24) and (25), solving equations (23), (24) and (25) has not been previously used in computational electromagnetism.
Since solving equation (19) or equations (23), (24) and (25) to compute electromagnetic fields is based on the principle of least action, in this specification the solution method is referred to as the method of least action.
Vector Algebra Expression
As alluded to above, each space-time vector quantity w is related to a relative scalar w0 and relative 3D space vector {right arrow over (w)} in a frame associated with the unit time-like vector γ0 by

w=wγ0γ0=(w·γ0+wγ0)γ0=(w0+{right arrow over (w)})γ0 

For the space-time vector position r, boundary normal n, basis potential ai, free charge-current volume density Jf, free charge-current boundary density Kf, and derivative ∇, the corresponding scalar and 3D vector quantities are related by




  
    r
    =
    
      
        (
        
          ct
          +
          
            r
            ⇀
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  




  
    n
    =
    
      
        (
        
          
            n
            ·
            
              γ
              0
            
          
          +
          
            n
            ⇀
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  




  
    
      a
      i
    
    =
    
      
        (
        
          
            
              ɛ
              0
            
            ⁢
            
              Φ
              i
            
          
          +
          
            
              (
              
                1
                c
              
              )
            
            ⁢
            
              (
              
                1
                
                  μ
                  0
                
              
              )
            
            ⁢
            
              
                a
                1
              
              ⇀
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  




  
    
      J
      f
    
    =
    
      
        (
        
          
            ρ
            f
          
          +
          
            
              1
              c
            
            ⁢
            
              
                J
                ⇀
              
              f
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  




  
    
      K
      f
    
    =
    
      
        (
        
          
            σ
            f
          
          +
          
            
              1
              c
            
            ⁢
            
              
                K
                ⇀
              
              f
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  




  
    ▽
    =
    
      
        γ
        0
      
      ⁡
      
        (
        
          
            
              (
              
                1
                c
              
              )
            
            ⁢
            
              ∂
              t
            
          
          +
          
            ▽
            ⇀
          
        
        )
      
    
  



(26)

The expressions for r, n, ai Jf, Kf, and ∇ can be used to rewrite the matrix and array elements above in terms of scalar and 3D vector quantities. In simple cases such that all media at non-boundary volume points V and boundary points s in 3D space are stationary in one inertial reference frame, n·γ0=0 at all boundary points and these elements may be rewritten as

mi,j≡∫t∫V(φi({right arrow over (∇)}·{right arrow over (d)}j)−{right arrow over (a)}i·({right arrow over (∇)}×{right arrow over (h)}j−∂t{right arrow over (d)}j))dVdt+∫t∫s(φi({right arrow over (n)}·Δ{right arrow over (d)}j)−{right arrow over (a)}i·({right arrow over (n)}×{right arrow over (h)}j))dsdt   (27)

and

bi≡−∫t∫V(φi({right arrow over (∇)}·{right arrow over (d)}0−ρf)−{right arrow over (a)}i·({right arrow over (∇)}×{right arrow over (h)}0−∂t{right arrow over (d)}0−Jf))dVdt−∫t∫s(φi·({right arrow over (n)}·Δ{right arrow over (d)}0−σf)−{right arrow over (a)}i·({right arrow over (n)}×{right arrow over (h)}0−Kf))dsdt   (28)

Harmonic Time Dependence

If all medium boundaries are stationary in one inertial frame associated with γ0, the time coordinate can be defined as




  t
  =
  
    
      (
      
        1
        c
      
      )
    
    ⁢
    
      
    
    ⁢
    
      r
      ·
      
        γ
        0
      
    
  




and the 3D space position vector as {right arrow over (r)}=rγ0 at any point r of space-time; if in addition all time dependence is harmonic, such as for one Fourier component after applying a Fourier transform, the complex vector representation of fields with an implied factor of e−iωt may be applied. In the instant case the general expressions for the matrix and array elements for frequency ω are identical to those of (26) and (27), but with ∂t replaced by −iω and integration done over only the volume V and boundary s, and not time t.

The formulation of the general expression for the matrix and array elements allows simulation of electrical conductivity by using complex-valued permittivity ε. Since such a permittivity has frequency dependence of




  1
  ω




for small frequencies ω, multiplying every row in the matrix equation (22) containing a factor of such a permittivity by the frequency ω and canceling these factors symbolically before numerical calculation of the matrix elements results in a set of equations that can then be solved without any numerical problems for any frequency, including ω=0. Other diverging factors such as





  
    1
    
      ω
      -
      
        ω
        0
      
    
  
  ,




representing a physical resonance with numerical problems at frequency ω0, can be similarly eliminated.

Parameterized Potential Satisfying the Euler-Lagrange Equation

It is convenient to choose A=aαcα to satisfy the Euler-Lagrange equation ∇·G=Jf where G=gαcα with gα=g[∇aα], for any set of unknown parameters ci at all non-boundary points. The equation ∇·G=Jf (where G=gαcα with gα=g[∇aα]) will be satisfied for any set of unknown parameters ci if the basis potential functions satisfy

∇·g0=Jf 

∇·gi=0  (29)

at all non-boundary points. In the instant case the volume integrals in the matrix elements given by (24) and (25), or equivalently by (27) and (28), are all identically zero.

Choosing A to satisfy the Euler-Lagrange equation can generally be done if space is modeled as made up of homogeneous polarizable regions. If space is modeled as made up of homogeneous polarizable regions, each potential basis function aα may be defined by specifying the value of potential basis function aα at all points on boundaries between homogeneous regions, and by defining the function within each homogenous region to satisfy the corresponding Euler-Lagrange equation while having specified boundary values. For homogeneously polarizable regions, computationally practical expressions for such basis functions can be found as described later.
The Euler-Lagrange Equation in Polarizable Media and Media Quantities
The following section on the Euler-Lagrange Equation in Polarizable Media describes a method for easily solving the Euler-Lagrange equation in regions with uniform polarizability, by introducing a “media potential” with components that are linear transformations of the potential components and that satisfy the wave equation. Introducing a “media potential” allows symbolic expression and fast numerical computations of basis functions that satisfy the Euler-Lagrange equation at non-boundary points.
The fundamental physical space-time vector operator ∇ and vector quantities A and J, when expressed as relative quantities in an inertial frame characterized by γ0, for example, A=Aγ0γ0=(A·γ0+Aγ0)γ0, are related to associated scalar and 3D vector quantities in SI units by




  
    
      
        ∇
        
          =
          
            
              γ
              0
            
            ⁡
            
              (
              
                
                  (
                  
                    1
                    c
                  
                  )
                
                ⁢
                
                  
                    ∂
                    t
                  
                  ⁢
                  
                    +
                    
                      ∇
                      →
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        30
        )
      
    
  
  
    
      
        A
        =
        
          
            (
            
              
                
                  ɛ
                  0
                
                ⁢
                
                  
                
                ⁢
                φ
              
              +
              
                
                  (
                  
                    1
                    c
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    
                      μ
                      0
                    
                  
                  )
                
                ⁢
                
                  A
                  →
                
              
            
            )
          
          ⁢
          
            γ
            0
          
        
      
    
    
      
        (
        31
        )
      
    
  
  
    
      
        
          J
          f
        
        =
        
          
            (
            
              
                ρ
                f
              
              +
              
                
                  (
                  
                    1
                    c
                  
                  )
                
                ⁢
                
                  
                    J
                    →
                  
                  f
                
              
            
            )
          
          ⁢
          
            γ
            0
          
        
      
    
    
      
        (
        32
        )
      
    
  




where the quantity Jf represents all “free” electric charge source ρf, and electric current source Jf, defined as any source that is not described by derivatives of the electric polarization {right arrow over (P)} or magnetic polarization {right arrow over (M)} of the medium. Jf, is related to the total charge-current source J by





  
    J
    =
    
      
        J
        f
      
      +
      
        J
        b
      
    
  
  ,
  
    where
    ⁢
    
      
    
    ⁢
    
      (
      
        
          J
          b
        
        =
        
          
            ρ
            b
          
          +
          
            
              (
              
                1
                c
              
              )
            
            ⁢
            
              
                J
                →
              
              b
            
          
        
      
      )
    
    ⁢
    
      γ
      0
    
  




is the “bound” source, defined as source that is described by the derivatives ρb=−{right arrow over (∇)}·{right arrow over (P)} and Jb={right arrow over (∇)}×{right arrow over (M)}·∂t{right arrow over (P)} of the electric polarization {right arrow over (P)} and magnetic polarization {right arrow over (M)} of the medium, or equivalently by





  
    J
    b
  
  ≡
  
    
      ∇
      
        ·
        P
      
    
    ⁢
    
      
    
    ⁢
    where
    ⁢
    
      
    
    ⁢
    P
  
  ≡
  
    
      P
      →
    
    -
    
      
        (
        
          1
          c
        
        )
      
      ⁢
      I
      ⁢
      
        
      
      ⁢
      I
      ⁢
      
        
      
      ⁢
      I
      ⁢
      
        
      
      ⁢
      
        
          M
          →
        
        .
      
    
  




Note that since Jf is defined as any source that is not described by derivatives of the electric polarization {right arrow over (P )} or magnetic polarization {right arrow over (M)} of the medium, the induced charge ρb and current source {right arrow over (J)}b in an electrical conductor, described by a complex permittivity, is a “bound” source Jb, not a “free source” Jf. Consequently, in this specification, the charged current source Jf may be referred to as the “specified” source instead of “free” source to avoid confusion.

Next, the “media” quantities are defined for media at rest in an inertial frame represented by γ0 by replacing ε0→ε and μ0→μ everywhere ε0 and μ0 would otherwise occur in the equations for free space, including in c=1/√{square root over (ε0μ0)}, where ε0 and μ0 are the permittivity and permeability of free space, respectively, while E and p are the corresponding parameters of a particular media. Thus, the media vector derivative, media potential, and media charge-current are given in terms of components of the corresponding non-media quantities by




  
    
      
        
          ∇
          m
        
        ⁢
        
          ≡
          
            
              γ
              0
            
            ⁡
            
              (
              
                
                  (
                  
                    1
                    v
                  
                  )
                
                ⁢
                
                  
                    ∂
                    t
                  
                  ⁢
                  
                    +
                    
                      ∇
                      →
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        33
        )
      
    
  
  
    
      
        
          A
          m
        
        =
        
          
            (
            
              
                ɛ
                ⁢
                
                  
                
                ⁢
                φ
              
              +
              
                
                  (
                  
                    1
                    v
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    μ
                  
                  )
                
                ⁢
                
                  A
                  →
                
              
            
            )
          
          ⁢
          
            γ
            0
          
        
      
    
    
      
        (
        34
        )
      
    
  
  
    
      
        
          J
          m
        
        =
        
          
            (
            
              
                ρ
                f
              
              +
              
                
                  (
                  
                    1
                    v
                  
                  )
                
                ⁢
                
                  
                    J
                    →
                  
                  f
                
              
            
            )
          
          ⁢
          
            γ
            0
          
        
      
    
    
      
        (
        35
        )
      
    
  




where v=1/√{square root over (εμ)}, which is the speed of a light in a media having the material parameters ε and μ, while the speed of light in a vacuum is given by c=1/√{square root over (ε0μ0)}. When computing the harmonic time dependence at frequency ω, and using complex amplitudes, ∂t is replaced by −iω and k≡ω/c in ∇ is replaced by km=ω/v to form ∇m.

The Euler-Lagrange equation may be rewritten in terms of these quantities as




  
    
      
        
          
            
              ▽
              m
            
            ·
            
              G
              m
            
          
          =
          
            J
            m
          
        
        ⁢
        
          

        
        ⁢
        where
      
    
    
      
        (
        36
        )
      
    
  
  
    
      
        
          
            
              G
              m
            
            ≡
            
              ▽
              m
            
          
          ⩓
          
            A
            m
          
        
        =
        
          
            
              ɛ
              0
            
            ⁢
            
              E
              →
            
          
          +
          
            
              (
              
                1
                v
              
              )
            
            ⁢
            
              (
              
                1
                μ
              
              )
            
            ⁢
            III
            ⁢
            
              B
              →
            
          
        
      
    
    
      
        (
        37
        )
      
    
  




The wedge product of any space-time vector quantity, including ∇m, with itself is still zero, and consequently,

∇mGm=0,  (38)

which may be combined with the rewritten Euler-Lagrange equation as

∇mGm=Jm  (39)

It is useful to require that Am satisfies the “media Lorenz condition,”

∇m·Am=0  (40)

Although the “media Lorenz condition” is not equivalent to the Lorenz condition—the media Lorenz condition may be written as




  
    
      
        (
        
          1
          
            v
            2
          
        
        )
      
      ⁢
      
        
          ∂
          t
        
        ⁢
        φ
      
    
    +
    
      
        ∇
        →
      
      ⁢
      
        ·
        
          A
          →
        
      
    
  
  =
  0




while me Lorenz condition, ∇·A=0, may be written as





  
    
      
        (
        
          1
          
            c
            2
          
        
        )
      
      ⁢
      
        
          ∂
          t
        
        ⁢
        φ
      
    
    +
    
      
        ∇
        →
      
      ⁢
      
        ·
        
          A
          →
        
      
    
  
  =
  0




—either are equally valid gauges to which the electromagnetic equations may be constrained to remove the gauge invariance, thereby simplifying solving the electromagnetic equations numerically. Using the media Lorenz condition, the Euler-Lagrange equation simplifies to the wave equation

∇m2Am=Jm  (41)

With the expressions of equations (37), (38), (39), (40), and (41), solutions to the Euler-Lagrange equation can be found in linearly polarizable media by transforming any boundary conditions on the potential A to boundary conditions on the media potential Am and any specified source Jf to a media source Jm, solving the media wave equation for Am, and then transforming the solution from Am back to A.
Basis Functions Defined by Boundary Values
A useful method of defining a space-time potential in a bounded region, such as a potential basis function aα, is to
1) identify the space-time vector value aα of the space time potential and the space-time vector value of the normal derivative n·∇aα of the space time potential, representing 8 degrees of freedom, on the region side of all boundary points,
2) require that, within the region, the potential satisfies the Euler-Lagrange equation,
3) require that within the region the potential also satisfies a gauge condition, and
4) use the gauge condition and Green's Theorem (Green's third identity) on the side of each of the boundary points that is within the region (in which the current computation is being performed), as constraints to reduce the number of degrees of freedom at each boundary point from 8 to 3. It may be convenient to choose the 3 remaining degrees of freedom to be the components of the potential that are tangential to the boundary in space-time. Specifically, the 4 space-time components of the potential at every boundary point plus the 4 space-time components of the normal derivative of the potential at every boundary point gives 8 degrees of freedom.
Next, Greens Theorem is applied, which gives 4 equations (or 4 degrees of constraint) for every boundary point that relates all 8 of the degrees of freedom reducing the number of degrees of freedom to 4. The Lorenz condition provides one more equation (or 1 more degree of constraint), which relates only derivatives and further reduces the number of degrees of freedom to 3. One may choose values for any 3 of the 8 quantities (e.g., based on boundary conditions), and compute the remaining 5 quantities from the 3 chosen quantities.
It can be convenient to compute the potential from the boundary values using the corresponding medium potential, medium vector derivative, and other corresponding quantities such as the medium gauge condition and medium Euler-Lagrange equation. It may be convenient to choose the 3 degrees of freedom to be the tangential components of the potential function.
The 3 chosen degrees of freedom (e.g., the tangential components of the potential function) at each boundary point can be given by a finite number of parameters in a model of the potential, from which all 8 degrees of freedom of the potential and its normal derivative, and therefore the fields fα and gα, can be quickly calculated at all points on the boundary. The potential and field value at any point in the region may then be calculated from the values on the boundary using Greens Theorem [3].
Basis functions defined by the values on the boundary are easy to define and calculate if every point of space is either part of a region with uniform polarizability, or on the boundary between such regions. Then within each region, a medium-Lorenz condition may be chosen such that the medium potential satisfies the medium wave equation, for which Green's function and theorem are simple and numerically tractable.
The boundary between regions may be modeled or approximated as a set of connected triangles, with the potential specified at each vertex by 3 parameters and defined to vary linearly with position at all other points on each triangle.
Each such basis function may be chosen to have nonzero tangential boundary components on only one localized part of the boundary, such as by choosing the parameters of the basis function to be nonzero at only one vertex. Choosing nonzero tangential boundary components on only one localized part of the boundary results in the integrands of the boundary integrals of (19) being zero everywhere except in the localized part of the boundary having the nonzero tangential boundary components, since the integrand is independent of the perpendicular component of the potential. The computation time required to compute the value of each integral from previously computed potential and field values is then linear in the size of the problem (e.g., the number V of triangle vertices).
The application of Greens theorem (Green's third identity) to define the basis potentials, however, requires the computation of order p2 matrix elements and inversion of the resulting p by p matrix, where p is the number of vertex points. The matrix mi,j of equations (7,9,11) is also is of order p by p and also must be inverted. The time required to solve electromagnetic problems by the application of Green's theorem method of least action may be dominated by these two computations.
This method results in good basis functions for a wide variety of geometries, including thick or thin wires and thick or thin sheets, with any electric and magnetic polarizability and any electric conductivity.
Stress Tensor
Conservation Laws
Noether's theorem depends on the satisfying the Euler-Lagrange equations that follow from Hamilton's principle of least action (briefly, Noether's theorem states that any differentiable symmetry of the action of a physical system—e.g., a smooth transformation that does not affect the action—has a corresponding conservation law). Solutions using the method of least action that satisfy ∇·G−Jf=0 at all non-boundary points and

∫βai·(n·ΔG−Kf)dβ=0

for all basis functions ai, satisfy a modified Noether's theorem that gives a modified conservation law for the electromagnetic stress-energy tensor T, where matrix elements of T are given by Tμν=FγμFγν. Tμν represents the flux through a hyperplane perpendicular to γμ of the ν component of the energy-momentum density.
Noether's Theorem applied to the invariance of the electromagnetic action with respect to the symmetry of translation in time is ∇·T=0 at every point of space-time. From ∇·T=0 it follows that n·ΔT=0 at every point of any physical or mathematical surface with normal vector n where ΔT is the change in T across the surface. The equation n·ΔT=0 represents the conservation of energy-momentum through the surface at the point being considered. The modified Noether's theorem is ∇·T=0 at all non-boundary points, and ∫βai·(n·ΔT)dβ for all basis functions ai. ∇·T=0 describes the conservation of energy and momentum at all non-boundary points, and ∫βai·(n·ΔT)dβ describes a potential-weighted boundary integral conservation law for energy and momentum at boundary points. For localized basis functions, as described in the section “An embodiment of the method of basis functions defined by boundary values,”∫βai·(n·ΔT)dβ ensures that the integral or average of energy momentum over a small patch identified by the localized basis function ai—but not at every infinitesimal point — is exactly conserved across the boundaries between regions of computation.
Calculating Potential Values Using Virtual Sources
The phrase “physical source” is used to refer to any charge-current source that exists in the situation being simulated, and the phrase “virtual source” is used to refer to any charge-current source that does not exist in the situation being simulated, but rather is a mathematical artifice used to help calculate potentials and fields in analogy with virtual images in electrostatics. Virtual sources on boundaries are often called equivalent sources in computational electromagnetism literature.
Virtual sources may be used to define a basis potential ai within any one particular region R. The basic idea is that a fictitious infinite space with uniform polarizability is considered, with fictitious virtual charge-current source jiR in addition to any physical charge-current ji (take ji=J for i=0 and j=0 otherwise), from which the potential that satisfies the Euler-Lagrange equation and the associated field F is calculated. The virtual charge-current source jiR is chosen to be nonzero only at points not in region R. That is, the virtual charge-current source jiR is located at points on the boundary or outside of the region. The potential may be chosen to satisfy the wave equation and the Lorenz condition. The virtual charge-current source is parameterized, and the parameters are chosen so that the resulting potential meets the boundary conditions (e.g., the specified scalar potential and tangential vector potential values on the boundary) within an acceptable error. Parameterizing the virtual charge-current source results in an expression for the basis potential ai at any point {right arrow over (r)} in region R that is an acceptably good approximation, within region R, for the original problem involving a space with boundaries between regions of uniform polarizability. Every region is parameterized, and then the parameterization process is repeated for every basis potential.
Although the basis potential ai is calculated using the idea of a fictitious space and a virtual source, ai satisfies the Euler-Lagrange equation in the region R and satisfies the boundary condition regardless of the existence of any real source. Consequently, the basis potential ai is also an acceptable potential function for the original problem even though in that problem there is or may be different polarizability and sources outside of region R. The result is that for each basis potential, for each region with uniform polarizability, there are virtual sources located outside the region (plus the physical source for i=0, located in the region, in an embodiment) from which the potential for that basis function in that region can be calculated.
If the virtual sources are well chosen, the resulting potential can satisfy the boundary conditions to a good approximation and satisfy the wave equation and the Lorenz condition exactly. For example, the virtual source for each basis potential and each region may be a collection of point electric and magnetic dipoles with well-chosen locations, and with parameterized amplitudes chosen to satisfy the boundary conditions within a good approximation. Then, both the potential and the electromagnetic field associated with a given virtual source can be quickly calculated using simple well-known expressions for the potential and field due to dipoles.
By choosing a large enough set of parameters and corresponding virtual sources, the basis potential ai can be chosen to yield the correct field to an approximation that is as good as desired. Note that the parameters of the basis potential are chosen for each basis potential ai for each region R to make ai acceptably continuous across all boundaries in the problem, and are subsequently treated as constants; the parameters chosen to approximate each basis potential ai are not the parameters ci of the parameterized potential A=Σiciai that are determined by extremizing the action.
A useful measure of error in meeting the boundary conditions is the integral over the boundary of |(ΔAn)γ0|2, where ΔA is the difference between the space-time potential defined by virtual sources and the specified boundary values, and n is a unit space-time vector field normal to the boundary. Parameters describing the virtual sources for any basis function in any region can be chosen to minimize the measure of error found from the integral over the boundary of |(ΔAn)γ0|2.
Calculating Potential Values as Approximate Solutions to the Euler-Lagrange Equation
Continuous basis functions that exactly or approximately satisfy the Euler-Lagrange equation at non-boundary points and have specified values at boundary points, or that satisfy the wave equation at non-boundary points and the Lorenz condition and have specified Lorenz-gauge-equivalent boundary values, may be defined in various ways.
For example, if a region is very thin compared with the radius of curvature of the region, such as a matching region, or if the wavelength in the region is small compared with the radius of curvature of the boundary of the region, such as a piece of formed sheet metal, it may be possible to quickly identify simple acceptable approximate expressions for the potentials and fields. For example, in the case where the region is very thin compared with the radius of curvature of the region, the potential may be chosen as the product of the potential value on the boundary times a function of the perpendicular distance from the boundary chosen so that the resulting potential approximately or exactly satisfies the Euler-Lagrange equation. The function of the perpendicular distance might, for example, be found as, or approximated by, a power series, an exponential function, or the product of a power series and exponential function.
In a polarizable medium, the medium potential Am is generally used and transforms to the potential A after finding a desired solution. Computing Am can be a useful method, because the differential equation for Am is simple. Assuming for simplicity that there is no specified charge or current Jm inside the region of interest, the differential equation for Am is

∇m2Am=0.

In any particular orthonormal coordinate system {x,y,z}, the equation for Am becomes





  
    
      (
      
        
          1
          
            v
            m
            2
          
        
        ⁢
        
          
            ∂
            t
            2
          
          ⁢
          
            -
            
              
                ∂
                x
                2
              
              ⁢
              
                -
                
                  
                    ∂
                    y
                    2
                  
                  ⁢
                  
                    -
                    
                      ∂
                      z
                      2
                    
                  
                
              
            
          
        
      
      )
    
    ⁢
    
      A
      m
    
  
  =
  0.




The preceding equation for Am might be used, for example, if a region is very thin compared with the radius of curvature of the region. For simplicity, choose z to be perpendicular to the boundary in the region of interest. It might be assumed that no quantities, including Am, change quickly tangentially to the boundary, so that the x and y derivatives may be neglected. Then the above equation for Am may be approximated as,




  
    
      (
      
        
          1
          
            v
            m
            2
          
        
        ⁢
        
          
            ∂
            t
            2
          
          ⁢
          
            -
            
              ∂
              z
              2
            
          
        
      
      )
    
    ⁢
    
      A
      m
    
  
  ≈
  0




If there are quantities that vary harmonically with time and if the harmonically varying quantities of time are represented with complex fields, the above equation may be replaced by



  
    
      
        (
        
          
            -
            
              
                ω
                2
              
              
                v
                m
                2
              
            
          
          -
          
            ∂
            z
            2
          
        
        )
      
      ⁢
      
        A
        m
      
    
    ≈
    0
  




  
    
      
        
          or
          ⁢
          
            

          
          (
          
            
              k
              m
              2
            
            +
            
              ∂
              z
              2
            
          
          )
        
        ⁢
        
          A
          m
        
      
      ≈
      0
    
    ,
  



where km=|ω|/vm is the medium wavenumber. The solution to the preceding equation may be written as an exponential function with a generally complex argument. Other approximations and solutions may also be used. For example, the region may contain a boundary of discontinuity in polarizability, in which case the potential approximation may be continuous but piecewise linear across the discontinuity.
From expressions for Am, the potential A may be computed, and then the fields F and then G may be computed on the boundary of the region. Assuming the potential A and field G have already been determined on the other side of the boundary, the change ΔG in the field G across the boundary can be calculated. Using the calculation of ΔG, the boundary integrals required for extremizing the action may also be calculated.
General Method
FIG. 3 is a flowchart of an embodiment of a method 300 that is implemented by processor system 300. In step 302, a determination is made of how to set up the grid, such as the size of the different regions of the problem area. In step 304, material parameters are chosen for each region. In step 306, a determination is made as to what basis functions to use for solving the electromagnetic fields. In an embodiment, the basis functions are parameterized solutions to the electromagnetic equations in a homogeneous region. In step 308, the action is extremized (e.g., minimized), which may involve adjusting the parameters of the parameterized basis functions to extremize the action integral at the boundary between homogenous regions. In step 310, the output of action extremizer 201a is formatted and presented to the user.
In an embodiment, each of the steps of method 300 is a distinct step. In another embodiment, although depicted as distinct steps in FIG. 3, steps 302-310 may not be distinct steps. In other embodiments, method 300 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 300 may be performed in another order. Subsets of the steps listed above as part of method 300 may be used to form their own method.
FIG. 4 is a flowchart of an embodiment of a machine implemented method 400 for solving the electromagnetic equations. Method 400 may be an embodiment, of step 308 of method 300. In step 402, the region in which the problem is being solved is divided into a series of homogenous regions, each homogeneous region being a region in which electromagnetic properties of the material such as permittivity, permeability, and electrical conductivity are homogeneous throughout the region. For example, the machine may choose the dimensions of the matrices and the number of iterations in the loops in the computer code that correspond to the representing the fields and parameters of the equations that are appropriate for the chosen regions. In step 404, choose a parameterized potential function that satisfies the Euler-Lagrange electromagnetic equations in the homogeneous regions but not necessarily on the boundaries between regions, which results in the volume integrals that appear in the equation for extremizing the action to be identically zero, leaving only boundary integrals to be calculated, and choose the functions to satisfy a gauge condition to simplify subsequent calculations (The Euler-Lagrange electromagnetic equations are typically written using tensor algebra or geometric algebra of space-time and are equivalent to Maxwell's inhomogeneous equations the two equations without charge density or current which are typically written using vector algebra of 3D space. The other two of Maxwell's equations are equivalent to a mathematical identity when written using tensor or geometric algebra of space-time. A practical choice of such a parameterized potential function is a sum of terms, each term equal to a parameter times a basis function. In step 405, the potential is further characterized by choosing how the potential is parameterized (tangential components of the potential values on the boundary in space-time) and calculating an expression that gives other necessary values (the non-tangential component, and all components of the normal derivative) in terms of the parameters (the tangential components of the potential in space-time are equal to the tangential components of the 3D space vector potential and the scalar potential). For example, the user may enter a choice of basis functions and/or the machine may automatically choose the basis functions depending on the homogeneous regions chosen in step 402. In step 406, the equations to be satisfied by the parameters are identified by writing them as symbolic equations appropriate for choices made so far. The machine may automatically write/determine the equations based on the choices made so far. Alternatively, the user may be offered a choice of equations to solve and/or may be provided with a field for entering the equation that the user desires to solve. For the choices made here, each of these equations contains a term for each parameter, multiplied typically by one boundary integral. In step 407, for any one of these equations that has a potentially diverging factor of 1/f where f may be very small or zero, as will typically occur if the problem contains an electrical conductor that is represented by a complex-value permittivity, the equation is first multiplied by f and simplified symbolically to cancel any factors of 1/f before numerical evaluation of coefficients of parameters in the equation. Step 407 may be performed as a result of user input making entering the choice or the code may automatically identify the 1/f dependence and choose the equations resulting from the multiplication by f as the equation to solve. In the last step, 408, the equations are solved by the computer for numerical values of the parameters.
In an embodiment, each of the steps of method 400 is a distinct step. In another embodiment, although depicted as distinct steps in FIG. 4, step 402-406 may not be distinct steps. In other embodiments, method 400 may not have all of the above steps and/or may have other steps in addition to or instead of those listed above. The steps of method 400 may be performed in another order. Subsets of the steps listed above as part of method 400 may be used to form their own method.
Regions and Boundaries
FIG. 5 shows an example 500 of homogeneous regions. Example 500 includes region 502, region 504, and boundary 506. One region may have a finite extent and be completely surrounded by the other, and one region may extend to infinity in all directions and completely surround the other. In other embodiments, example 500 may include additional components and/or may not include all of the components listed above.
Region 502 is homogeneous region 1, which has a homogeneous set of material parameters. In other words, throughout region 502 each of the material parameters is assigned a uniform value. The material parameters may include the permittivity (and/or susceptibility), permeability, polarization, magnetization, resistivity (and/or conductivity), for example. Parameter may also be included that specify the charge density and current density. A specified electric polarization or magnetization may be represented by the corresponding specified bound charge or bound current densities. Region 504 is homogeneous region 2, which also has a homogeneous set of material parameters, which may be different than those of region 502. Boundary 506 separates region 502 and region 504, and in an embodiment, is where the computations are primarily formed. Region 502 and region 504 may represent two physical regions that have distinctly different sets of material parameters. A region having a continuously varying set of material parameters may be modeled in various ways, such as by dividing the region into smaller regions of homogeneous material parameters.
FIG. 6 shows an example 600 of computational regions corresponding to the homogeneous regions of example 500. Example 600 includes region 602, region 604, and boundary 606. In other embodiments, system 600 may include additional components and/or may not include all of the components listed above.
Region 602 is an interior region of homogeneous region 1, and region 604 is an interior region of homogeneous region 2. In this specification, region points may generally be considered to exclude boundary points, but the phrase “interior region point” or “non-boundary point” may be used to make it explicitly clear that the point is in the region and not a boundary point if it is important in a discussion that the point is not a boundary point. In region 602 and region 604 no actual computations may need to be carried out, if the basis function for regions 602 and 604 are chosen so as to identically satisfy the Euler Lagrange equations. Each potential basis function extends over all of space and the potential basis function, or a potential related by a gauge transformation to the potential basis function, is continuous at all points of space, which in the example of FIG. 6 includes regions 602 and 604. Each such continuous potential function, though, typically has a “kink” across a boundary, corresponding to discontinuity in the derivative of the function. The values of any given basis function aj in either or both region 602 and region 604 may be defined with the help of virtual sources, although different virtual sources will be used for each region, and the material parameters, such as polarizability, of each region may differ. The computational parameters, or simply the parameters (e.g., the coefficient ci multiplying each basis function in the expressions for any of the potential or electromagnetic fields, such as A=Σj ajcj), are independent of region or position in space or time.
Boundary 606 includes points representing a boundary between two regions. Boundaries are modeled as mathematical surfaces, which are usually smooth. A real physical boundary may be very close to a mathematical surface, such as the boundary between a glass and air, or may have some small, but negligible, thickness, such as the boundary between a piece of wood and adjacent concrete. The computation of the electromagnetic fields by extremizing the action integrals, are primarily performed using integrals over the points of boundary 606, allowing the computational parameters ci to be chosen to extremize the action.
The word “region” is generally used to refer to a volume containing material with uniform polarizability since solutions to the wave equation are well known for regions having uniform polarizability, but regions with non-uniform polarizability may also be used, especially if solutions are known. Also, although the polarizability may be discontinuous across the boundary between regions, the polarizability is not necessarily discontinuous. For example, a volume with uniform polarizability can be divided into two regions, joined by a boundary across which the polarizability does not change. Dividing the volumes into two regions can be convenient for various reasons. For example, dividing the volume into two regions allows the use of different methods of defining basis functions in these two adjacent regions for faster or more accurate computations.
Volumes in 4D space-time may be denoted by u, and 3D boundaries in 4D space-time may be denoted by β. Volumes in 3D space may be denoted by V, and 2D boundaries in 3D space may be denoted by s.
Example Using Green's Theorem
In the following section illustrating an example using Green's Theorem, the problem of calculating the fields at all points for a simple example of a planar sheet of oscillating current parallel to a planar boundary between two media with different polarizabilities is solved.
FIG. 7 shows a diagram illustrating elements of an example 700 to which the method of least action is applied. Example 700 includes medium 702, medium 704, interface 706, z-axis 708, and origin 710. A person familiar with electromagnetism may also use the ideas of incident wave 712, travel direction 714, transmitted wave 716, travel direction 718, reflected wave 720, and travel direction 722. The ideas of FIG. 7 are not needed with the method using Green's theorem, but the ideas of FIG. 7 are identified here to help explain the method.
Consider example 700 in which an oscillating current sheet is the source of a plane wave that is incident on a flat boundary between two regions with homogenous electric and magnetic polarizabilities, with the direction of wave propagation perpendicular to the surface. In FIG. 7, medium 702 is the medium on the right side of the diagram and the functions and quantities associated within medium 702 have the subscript R. Medium 702 has a permittivity ∈R and a permeability of μR. The phase velocity of waves in medium 702's regions is νR1/√{square root over (μR∈R)}, and the wave number in medium 702 is kR=ω/νR, where ω is the angular frequency of the wave. In other problems other factors may be considered.
Similarly, medium 704 is the medium on the left side of the diagram and the functions and quantities associated within medium 704 have the subscript L. Medium 704 has a permittivity εL and a permeability of μL. The phase velocity of waves in medium 704's regions is νL=1/√{square root over (μL∈L)}, and the wave number in medium 702 is kL=ω/νL. It may be assumed that mediums 702 or 704 are idealized in the sense that neither is conductive and both transmit electromagnetic waves without loss, or a complex permittivity may be used to represent electrically conductive media with resistivity.
Interface 706 is the interface between the two media. In the coordinate system of FIG. 7, z-axis 708 indicates the position of the waves traveling within mediums 702 and 704. Origin 710 is the point on z-axis 708 at which the value of the position coordinate is 0. Although the physics does not depend on the coordinate system, the choice of coordinates simplifies the computations, so that issues that do not relate to demonstrating the method do not need to be discussed.
Incident wave 712 is a plane wave of light entering from the right hand side of FIG. 7. The source of the incident wave is modeled as a sheet of oscillating current perpendicular to the z axis. The source of incident wave 712 and the material parameters of media 702 and 704 are the inputs to the problem. The incident wave (that would be due to the source if the incident wave were not interacting with the system being simulated) may alternatively be an input instead of the source of the wave, but in the current example the simpler method of using the source as input is applied. Travel direction 714 is the direction in which incident wave 712 travels.
Similarly, reflected wave 720 is a wave of light that was reflected from interface 706 as a result of incident wave 712 hitting interface 706. Travel direction 722 is the direction in which reflected wave 720 travels, which is the opposite direction as the travel direction 714 of incident wave 712. Whereas, transmitted wave 716 is a wave of light that was transmitted through interface 706 as a result of incident wave 712 hitting interface 706. Travel direction 718 is the direction in which transmitted wave 716 travels, which is the same direction as incident wave 712 (the wave vector of transmitted wave, {right arrow over (k)}L, is therefore parallel to {right arrow over (k)}R, but has a different magnitude).
Using the method of least action to solve for the resulting fields in example 700, a set of basis potential functions must first be specified. Applying the method of least action requires specifying boundary values and the differential equation that is satisfied at non-boundary points. It is not yet necessary to actually find expressions for the basis functions, and it is simpler not to.
The current example is done using Green's theorem methods. With Green's theorem, the basis functions satisfy the wave equation and the Lorenz condition in media at all non-boundary points, so that the volume integrals in the action are zero. The basis function a0 is chosen to satisfy ∇·g0=J for the specified current source J and a0=0 on the boundary, and basis function a1 to satisfy ∇·g1=0 and a1=1 on the boundary. There are no other independent boundary conditions that meet the given symmetries of the instant problem, so there are only the two basis functions a0 and a1 needed to solve the problem of example 700.
Applying the method of least action requires the knowing of the parameterized value of the potential A on all boundaries, and of the change ΔG in the electromagnetic field G across all boundaries. The potential A=a0c0+a1c1 is directly parameterized on the boundaries, so the potential's value at boundary points is known. The field G is a function of the field F, which is a function of derivatives of the potential A. Specifically, the field F is given by F=∇A=n n·∇A+n n∇A, where n is a unit space-time vector perpendicular, or normal, to the boundary. The derivative tangential to the boundary, which is n∇A, is zero by the assumed symmetry in the current problem, and the derivative perpendicular to the boundary, which is n·∇A, can be found using Greens function methods as follows.
Let the permittivity be εR and permeability be μR for 0<z (points to the right), and εL and μL for z<0 (points to the left), and let the physical source J[z] be a an oscillating uniform current sheet located at z=zJ>0 with current in the x direction, perpendicular to z. The current sheet radiates with wave number kR.
All information necessary to solve the instant problem with only the given information and using Green's function methods can be found without explicitly finding any basis functions. The method of least action is applied first, and then the basis functions using Green's function methods are found explicitly.
Let the current sheet be oscillating parallel to the x axis, which has unit vector {circumflex over (x)}. The parameterized potential A to be used to extremize the action is the sum of the basis potential functions, which may be written as,

A[z]=c0a0[z]+c1a1[z]

To extremize the action, the variation SS of S with respect to variation of the parameters ci for i≠0 must be equal to zero. In the current example the only non-zero value of i is i=1, so the requirement that the variation of the action be equal to 0 may be written as




  
    
      
        ∫
        ∫
      
      
        x
        ,
        y
      
    
    ⁢
    
      
        a
        1
      
      ·
      
        (
        
          
            n
            ·
            Δ
          
          ⁢
          
            
          
          ⁢
          
            g
            1
          
        
        )
      
    
    ⁢
    
      d
      x
    
    ⁢
    
      d
      
        yc
        1
      
    
  
  =
  
    
      -
      
        
          ∫
          ∫
        
        
          x
          ,
          y
        
      
    
    ⁢
    
      
        a
        1
      
      ·
      
        (
        
          
            n
            ·
            Δ
          
          ⁢
          
            
          
          ⁢
          
            g
            0
          
        
        )
      
    
    ⁢
    
      d
      x
    
    ⁢
    
      d
      
        yc
        0
      
    
  




By assumption in the instant problem all functions are independent on the position {x, y} on the boundary, which implies that the integrands are equal:

a1·(n·Δg1)c1=−a1·(n·Δg1)c0 

Rewriting the 4D space-time quantities in the preceding equation in terms of corresponding 3D quantities in an inertial frame of the boundary with frame vectors parallel to the coordinate axes, and using the fact that with only a 3D vector source (the current sheet) the scalar potential is zero in the current example and c0=1, results in the equation

{right arrow over (a)}1·({circumflex over (z)}×Δ{right arrow over (h)}1)c1=−{right arrow over (a)}1·({circumflex over (z)}×Δ{right arrow over (h)}0)

so that c1 satisfies





  
    c
    1
  
  =
  
    -
    
      
        
          
            a
            1
          
          →
        
        ·
        
          (
          
            
              z
              ^
            
            ×
            Δ
            ⁢
            
              
            
            ⁢
            
              
                h
                →
              
              0
            
          
          )
        
      
      
        
          
            a
            1
          
          →
        
        ·
        
          (
          
            
              z
              ^
            
            ×
            Δ
            ⁢
            
              
            
            ⁢
            
              
                h
                →
              
              1
            
          
          )
        
      
    
  




This represents the solution that extremizes the action. But at this point we do not yet have expressions for the changes Δ{right arrow over (h)}i in the magnetic field basis functions across the boundary. To calculate a numerical solution an expression of the changes Δ{right arrow over (h)}i in the magnetic field basis functions across the boundary are needed. Expression of the changes Δ{right arrow over (h)}i in the magnetic field basis functions across the boundary are needed.
Changes Δ{right arrow over (h)}i in the magnetic field basis functions across the boundary are calculated using the field




  
    f
    i
  
  =
  
    
      ▽
      ⁢
      
        
      
      ⁢
      
        a
        i
      
    
    =
    
      
        ▽
        ⁢
        
          
        
        ⁢
        
          γ
          0
        
        ⁢
        
          γ
          0
        
        ⁢
        
          a
          i
        
      
      =
      
        
          (
          
            
              1
              c
            
            ⁢
            
              
                ∂
                t
              
              ⁢
              
                -
                
                  ▽
                  →
                
              
            
          
          )
        
        ⁢
        
          
            (
            
              
                
                  ε
                  0
                
                ⁢
                
                  φ
                  i
                
              
              -
              
                
                  1
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    
                      μ
                      0
                    
                  
                
                ⁢
                
                  
                    a
                    →
                  
                  i
                
              
            
            )
          
          .
        
      
    
  




Using complex vector notation for harmonic variation at frequency ω and the fact that in the current example the scalar potential φi equals zero (since there is no charge density source) and since therefore {right arrow over (∇)}·{right arrow over (a)}i also equals zero (by the Lorenz condition), fi is given by





  
    f
    i
  
  =
  
    
      
        (
        
          
            -
            
              
                i
                ⁢
                
                  
                
                ⁢
                ω
              
              c
            
          
          -
          
            ▽
            →
          
        
        )
      
      ⁢
      
        (
        
          
            -
            
              1
              
                c
                ⁢
                
                  
                
                ⁢
                
                  μ
                  0
                
              
            
          
          ⁢
          
            
              a
              →
            
            i
          
        
        )
      
    
    =
    
      
        
          
            1
            
              
                c
                2
              
              ⁢
              
                μ
                0
              
            
          
          ⁢
          i
          ⁢
          
            
          
          ⁢
          ω
          ⁢
          
            
              a
              →
            
            i
          
        
        +
        
          
            1
            
              c
              ⁢
              
                
              
              ⁢
              
                μ
                0
              
            
          
          ⁢
          
            ▽
            →
          
        
      
      ⩓
      
        
          a
          →
        
        i
      
    
  




Comparing the above expression for fi with the expression




  
    F
    =
    
      
        
          ɛ
          0
        
        ⁢
        
          
            e
            →
          
          j
        
      
      +
      
        
          1
          
            c
            ⁢
            
              
            
            ⁢
            
              μ
              0
            
          
        
        ⁢
        III
        ⁢
        
          
            b
            →
          
          j
        
      
    
  
  ,




results in

{right arrow over (b)}i={right arrow over (∇)}×{right arrow over (a)}i 

and

{right arrow over (e)}i=iω{right arrow over (a)}i 

In the current example with all fields independent of x and y, we have

{right arrow over (b)}i=({circumflex over (z)}∂z)×{right arrow over (a)}i={circumflex over (z)}×∂z{right arrow over (a)}i 

and therefore





  
    
      h
      →
    
    i
  
  =
  
    
      
        1
        μ
      
      ⁢
      
        
          b
          →
        
        i
      
    
    =
    
      
        1
        μ
      
      ⁢
      
        z
        ^
      
      ×
      
        
          ∂
          z
        
        ⁢
        
          
            a
            →
          
          i
        
      
    
  




Next the normal derivatives ∂z{right arrow over (a)}i of the potential on the boundary must be found. Although in this simple example it is possible to correctly guess that a simple plane wave is a useful basis function and using plane waves the normal derivative and other quantities can be calculated, for the general case of arbitrary curved boundaries convenient basis functions are difficult to guess. Consequently, in this example the general method using Green's theorem methods is illustrated. The normal derivative values of the Green's theorem method will allow the calculation of the required changes Δ{right arrow over (h)}i in {right arrow over (h)}i.
Green's theorem can be inverted to find the normal derivative of the potential on the boundary as a function of the values of the potential on the boundary. The general 3D result as applied to a complex 3D vector potential {right arrow over (a)}i may be written




  
    
      
        a
        →
      
      i
    
    ⁡
    
      [
      
        
          r
          ′
        
        →
      
      ]
    
  
  =
  
    
      
        ∮∮
        
          s
          =
          
            ∂
            V
          
        
      
      ⁢
      
        
          (
          
            
              
                
                  -
                  
                    n
                    ^
                  
                
                ·
                
                  
                    ▽
                    →
                  
                  r
                
              
              ⁢
              
                ψ
                [
                
                  
                    r
                    →
                  
                  -
                  
                    
                      r
                      →
                    
                    ′
                  
                
                ]
              
              ⁢
              
                
                  
                    a
                    →
                  
                  i
                
                ⁡
                
                  [
                  
                    r
                    →
                  
                  ]
                
              
            
            +
            
              
                ψ
                [
                
                  
                    r
                    →
                  
                  -
                  
                    
                      r
                      →
                    
                    ′
                  
                
                ]
              
              ⁢
              
                
                  n
                  ^
                
                ·
                
                  
                    ▽
                    →
                  
                  r
                
              
              ⁢
              
                
                  
                    a
                    →
                  
                  i
                
                ⁡
                
                  [
                  
                    r
                    →
                  
                  ]
                
              
            
          
          )
        
        ⁢
        
          d
          s
        
      
    
    +
    
      
        
          ∫
          
            ∫
            ∫
          
        
        V
      
      ⁢
      
        ψ
        [
        
          
            r
            →
          
          -
          
            
              r
              →
            
            ′
          
        
        ]
      
      ⁢
      
        J
        ⁡
        
          [
          
            r
            →
          
          ]
        
      
      ⁢
      
        d
        V
      
    
  




We can evaluate these integrals using polar coordinates {ρ, φ, z} to describe vectors {right arrow over (r)}=ρ cos [φ]{circumflex over (x)}+ρ sin [φ]ŷ+z {circumflex over (z)} with the z axis chosen to be perpendicular to the boundary. We take the current density Ji to be uniform and nonzero for i=0 at z=zJ>0, and equal to 0 for i=1. The integrals can be evaluated with the result




  
    
      
        
          a
          →
        
        i
      
      ⁡
      
        [
        
          z
          ′
        
        ]
      
    
    =
    
      
        
          Sign
          ⁡
          
            [
            
              z
              ′
            
            ]
          
        
        ⁢
        
          
            X
            ′
          
          ⁡
          
            [
            
              z
              -
              
                z
                ′
              
            
            ]
          
        
        ⁢
        
          
            
              a
              →
            
            i
          
          ⁡
          
            [
            z
            ]
          
        
      
      -
      
        
          Sign
          [
          
            z
            ′
          
          ]
        
        ⁢
        
          X
          ⁡
          
            [
            
              z
              -
              
                z
                ′
              
            
            ]
          
        
        ⁢
        
          
            
              a
              →
            
            i
            ′
          
          ⁡
          
            [
            z
            ]
          
        
      
      +
      
        
          X
          ⁡
          
            [
            
              
                z
                J
              
              -
              
                z
                ′
              
            
            ]
          
        
        ⁢
        
          J
          i
        
      
    
  




  
    
      
    
    ⁢
    where
  




  
    
      
    
    ⁢
    
      
        X
        ⁡
        
          [
          z
          ]
        
      
      =
      
        
          ∫
          
            ∫
            
              
                ψ
                ⁡
                
                  [
                  
                    ρ
                    ,
                    φ
                    ,
                    z
                  
                  ]
                
              
              ⁢
              ρ
              ⁢
              
                d
                ρ
              
              ⁢
              
                d
                φ
              
            
          
        
        =
        
          
            -
            
              1
              
                2
                ⁢
                
                  
                
                ⁢
                ik
              
            
          
          ⁢
          
            e
            
              ik
              ⁢
              
                
                  z
                  2
                
              
            
          
        
      
    
  




  
    
      
    
    ⁢
    
      
        
          X
          ′
        
        ⁡
        
          [
          z
          ]
        
      
      =
      
        
          
            ∂
            z
          
          ⁢
          
            X
            ⁡
            
              [
              z
              ]
            
          
        
        =
        
          
            -
            
              Sign
              ⁡
              
                [
                z
                ]
              
            
          
          ⁢
          
            1
            2
          
          ⁢
          
            e
            
              ik
              ⁢
              
                
                  z
                  2
                
              
            
          
        
      
    
  



and we've used the fact that {circumflex over (n)} is by definition a vector that points away from the region containing z′ to write

{circumflex over (n)}·{right arrow over (∇)}r=−Sign[z′]∂z 

Although the basis functions and Green's function are continuous at all points, their derivatives are discontinuous at z=0, so we must be careful when evaluating quantities near z=0. We evaluate the boundary integral at z=+ε/2 or z=−ε/2 where ε is a very small positive number, depending on which side of the boundary is of interested. For functions that are continuous across the boundary, ε can be replaced by 0. The equation for {right arrow over (a)}i[z′] then becomes

{right arrow over (a)}i[z′]=Sign[z′]χ′[−z′]{right arrow over (a)}i[0]−Sign[z′]χ[−z′]∂z{right arrow over (a)}i[±ε/2]+χ[zJ−z′]Ji 

z′ is now evaluated close to the boundary, at some small number with the same sign as z but with at least slightly larger magnitude than z—we use z′=±ε. Then





  
    
      
        a
        →
      
      i
    
    ⁡
    
      [
      
        ±
        ε
      
      ]
    
  
  =
  
    
      
        1
        2
      
      ⁢
      
        
          
            a
            →
          
          i
        
        ⁡
        
          [
          
            ±
            ε
          
          ]
        
      
    
    +
    
      
        Sign
        ⁡
        
          [
          
            ±
            ε
          
          ]
        
      
      ⁢
      
        1
        
          2
          ⁢
          
            
          
          ⁢
          
            ik
            ±
          
        
      
      ⁢
      
        
          ∂
          z
        
        ⁢
        
          
            
              a
              →
            
            i
          
          ⁡
          
            [
            
              
                ±
                ε
              
              /
              2
            
            ]
          
        
      
    
    -
    
      
        1
        
          2
          ⁢
          
            ik
            ±
          
        
      
      ⁢
      
        e
        
          
            ik
            ±
          
          ⁢
          
            z
            J
          
        
      
      ⁢
      
        J
        i
      
    
  




The source current amplitude Ji is chosen so that source current amplitude Ji creates a potential of unit amplitude at the boundary for i=0 of





  
    
      1
      
        2
        ⁢
        ik
      
    
    ⁢
    
      e
      
        ikz
        J
      
    
    ⁢
    
      J
      i
    
  
  =
  
    
      x
      ^
    
    ⁢
    
      
        δ
        
          i
          ,
          0
        
      
      .
    
  




Then

∂z{right arrow over (a)}i[±ε]=Sign[±ε]ik±({right arrow over (a)}i[±ε]+2{circumflex over (x)}δi,0)

This is 4 equations, for +ε and −ε, for each value 0 or 1 of i. These 4 equations are

∂z{right arrow over (a)}0[+ε]=2ik+

∂z{right arrow over (a)}0[−ε]=0

∂z{right arrow over (a)}1[+ε]=ik+

∂z{right arrow over (a)}1[−ε]=−ik+

Next, these derivatives are used to find the change across the boundary in the field:



  
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          h
          →
        
        0
      
    
    =
    
      
        
          
            
              h
              →
            
            0
          
          ⁡
          
            [
            
              +
              ɛ
            
            ]
          
        
        -
        
          
            
              h
              →
            
            0
          
          ⁡
          
            [
            
              -
              ɛ
            
            ]
          
        
      
      =
      
        
          
            
              1
              
                μ
                R
              
            
            ⁢
            
              z
              ^
            
            ×
            
              
                ∂
                z
              
              ⁢
              
                
                  
                    a
                    →
                  
                  0
                
                ⁡
                
                  [
                  
                    +
                    ɛ
                  
                  ]
                
              
            
          
          -
          
            
              1
              
                μ
                L
              
            
            ⁢
            
              z
              ^
            
            ×
            
              
                ∂
                z
              
              ⁢
              
                
                  
                    a
                    →
                  
                  0
                
                ⁡
                
                  [
                  
                    -
                    ɛ
                  
                  ]
                
              
            
          
        
        =
        
          
            
              
                -
                
                  1
                  
                    μ
                    R
                  
                
              
              ⁢
              2
              ⁢
              
                y
                ^
              
              ⁢
              
                ik
                R
              
            
            -
            0
          
          =
          
            
              -
              2
            
            ⁢
            
              y
              ^
            
            ⁢
            i
            ⁢
            
              
                k
                R
              
              
                μ
                R
              
            
          
        
      
    
  




  
    
      
    
    ⁢
    and
  




  
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          h
          →
        
        1
      
    
    =
    
      
        
          
            
              h
              →
            
            1
          
          ⁡
          
            [
            
              +
              ɛ
            
            ]
          
        
        -
        
          
            
              h
              →
            
            1
          
          ⁡
          
            [
            
              -
              ɛ
            
            ]
          
        
      
      =
      
        
          
            
              1
              
                μ
                R
              
            
            ⁢
            
              z
              ^
            
            ×
            
              
                ∂
                z
              
              ⁢
              
                
                  
                    a
                    →
                  
                  1
                
                ⁡
                
                  [
                  
                    +
                    ɛ
                  
                  ]
                
              
            
          
          -
          
            
              1
              
                μ
                L
              
            
            ⁢
            
              z
              ^
            
            ×
            
              
                ∂
                z
              
              ⁢
              
                
                  
                    a
                    →
                  
                  1
                
                ⁡
                
                  [
                  
                    -
                    ɛ
                  
                  ]
                
              
            
          
        
        =
        
          
            
              
                -
                
                  1
                  
                    μ
                    R
                  
                
              
              ⁢
              
                (
                
                  
                    y
                    ^
                  
                  ⁢
                  
                    ik
                    R
                  
                
                )
              
            
            +
            
              
                
                  -
                  1
                
                
                  μ
                  L
                
              
              ⁢
              
                (
                
                  
                    y
                    ^
                  
                  ⁢
                  
                    ik
                    L
                  
                
                )
              
            
          
          =
          
            
              -
              
                y
                ^
              
            
            ⁢
            
              i
              ⁡
              
                (
                
                  
                    
                      k
                      R
                    
                    
                      μ
                      R
                    
                  
                  +
                  
                    
                      k
                      L
                    
                    
                      μ
                      L
                    
                  
                
                )
              
            
          
        
      
    
  



Then the transmission amplitude is




  
    c
    1
  
  =
  
    
      -
      
        
          
            
              a
              →
            
            1
          
          ·
          
            (
            
              
                z
                ^
              
              ×
              Δ
              ⁢
              
                
                  h
                  →
                
                0
              
            
            )
          
        
        
          
            
              a
              →
            
            1
          
          ·
          
            (
            
              
                z
                ^
              
              ×
              Δ
              ⁢
              
                
                  h
                  →
                
                1
              
            
            )
          
        
      
    
    =
    
      -
      
        
          2
          ⁢
          
            
              k
              R
            
            
              μ
              R
            
          
        
        
          
            
              k
              R
            
            
              μ
              R
            
          
          +
          
            
              k
              L
            
            
              μ
              L
            
          
        
      
    
  




with transmission intensity





  
    
      
      
        c
        1
      
      
    
    2
  
  =
  
    
      
      
        
          2
          ⁢
          
            
              k
              R
            
            
              μ
              R
            
          
        
        
          
            
              k
              R
            
            
              μ
              R
            
          
          +
          
            
              k
              L
            
            
              μ
              L
            
          
        
      
      
    
    2
  




These results can be used to write either basis function at any point. For example, for i=1 and the region L for which z′<0, the i=1 basis function is




  
    
      
        a
        →
      
      1
    
    ⁡
    
      [
      
        z
        ′
      
      ]
    
  
  =
  
    
      
        
          -
          
            
              ∂
              n
            
            ⁢
            
              χ
              ⁡
              
                [
                
                  -
                  
                    z
                    ′
                  
                
                ]
              
            
          
        
        ⁢
        
          
            
              a
              →
            
            1
          
          ⁡
          
            [
            0
            ]
          
        
      
      +
      
        
          χ
          ⁡
          
            [
            
              -
              
                z
                ′
              
            
            ]
          
        
        ⁢
        
          
            ∂
            n
          
          ⁢
          
            
              
                a
                →
              
              1
            
            ⁡
            
              [
              0
              ]
            
          
        
      
    
    =
    
      
        
          
            +
            
              1
              2
            
          
          ⁢
          
            Exp
            ⁡
            
              [
              
                
                  -
                  i
                
                ⁢
                
                  
                
                ⁢
                
                  k
                  L
                
                ⁢
                
                  z
                  ′
                
              
              ]
            
          
        
        +
        
          
            1
            2
          
          ⁢
          
            Exp
            ⁡
            
              [
              
                
                  -
                  i
                
                ⁢
                
                  
                
                ⁢
                
                  k
                  L
                
                ⁢
                
                  z
                  ′
                
              
              ]
            
          
        
      
      =
      
        +
        
          Exp
          ⁡
          
            [
            
              
                -
                i
              
              ⁢
              
                
              
              ⁢
              
                k
                L
              
              ⁢
              
                z
                ′
              
            
            ]
          
        
      
    
  




while the i=0 basis function equals 0 for z′<0, so the potential A for z′<0 is

A[z′]=c1Exp[−ikLz′], 

which represents a leftward traveling wave on the left side of the boundary.
The expression for A[z′] might be used at the “start” of a solution by someone with some familiarity and intuition about the problem and using a different solution method. A key feature of the method disclosed here is that even for complex 3D problems, no familiarity or intuition is needed because the solution method is an unambiguous recipe that applies to all circumstances with no free parameters and can be easily calculated on a computer.
A 3D Example
FIG. 8 shows a sample problem 800. Sample problem 800 includes dipole 802, polarizable sphere 804. Dipole 802 has a moment pointing in the direction of the arrow representing the dipole. Polarizable sphere 804 is made from a homogeneous polarizable material and the space outside of the sphere is nonpolarizable. The surface of the sphere 804 is approximated by connected triangles. The objective of problem 800 is to solve for the electric and magnetic fields induced by dipole 802 inside and outside of the sphere. The problem will not be completely solved here, but the calculation of basis functions using two methods that may be used to solve the problem, Green's theorem and virtual sources, will be discussed.
Space may be divided into two regions for the purposes of computing the electromagnetic field in the example of FIG. 8. One region may be the interior of the sphere 804, the other region may be everything outside of sphere 804, and the surface of the sphere is the boundary between these two regions. Other methods of defining basis functions may additionally divide either or both of these two regions (the region including the inside of sphere 804 and the region including everywhere else) with homogeneous polarizability into two or more regions.
A general method for defining a set of basis functions using either Green's Theorem or virtual sources is to first i) for each basis function, specify the values of the tangential components of the space-time vector potential field at all boundary points between homogeneous regions, then ii) specify expressions or a method for quickly calculating potential values and field values at any boundary point from the specified tangential potential components, for a potential that satisfies the Euler-Lagrange equation at all non-boundary points. Specifying the values of the tangential components of the space-time vector potential field at all boundary points between homogeneous regions, and specifying expressions or a method for quickly calculating field values at any boundary point allows the action to be extremized. After extremizing the action, it is necessary to iii) quickly calculate at least field values and possibly potential values at any non-boundary point.
First consider step i) in FIG. 8. For basis index i=0, choose the potential to be zero at all boundary points, and to satisfy the Euler-Lagrange equation, with J equal to the specified source dipole 802, at all non-boundary points. For each basis function i≠0, choose the potential to be nonzero at only one vertex on the boundary, to be a linear function of position on each triangular segment of the boundary, to be continuous at all points, and to satisfy the Euler-Lagrange equation with J=0 at all non-boundary points. For each boundary vertex, define a vector {circumflex over (n)} that is normal to the physical boundary (such as, for example, an average of the normal vectors of the triangles that share that vertex), and choose three basis potential functions: one with nonzero scalar potential, and two with specified vector potential values perpendicular to the normal 3D space vector at that vertex (the normal vector component is one of the unknowns that is found).
Now consider step ii) in FIG. 8: step ii) can be done using Green's theorem following the recipe previously outlined. Alternatively, if virtual sources are being used, for each basis function, choose a set of virtual sources inside the sphere to define the basis function outside the sphere such that the discrepancy between the potential calculated from the virtual sources and the specified boundary values for the basis potential is minimized, or more accurately reduced to within an acceptable tolerance. Similarly, a set of virtual sources may be chosen outside the sphere to define the basis function inside the sphere. Each virtual source may be a parameterized collection of point charges, point electric dipoles and/or magnetic dipoles, or more complex sources. After the virtual sources are chosen to define a basis potential, the same virtual sources may be used to calculate the corresponding electric and magnetic field F or G. Next, for each of the basis potentials, which are derived from the physical and virtual sources, the potential inside the sphere may be defined as a linear combination of potentials due to virtual sources located outside the sphere. For convenience a linear combination of the same set of virtual sources may be chosen for each basis function, but for each basis function the coefficients of the combination is chosen that gives the smallest integrated error relative to the specified values of the basis function on the boundary. Note that these coefficients are in addition to the parameters cj used to extremize the action.
There is now a set of basis functions, aj, each one defined over all of space, that can be used to define a parameterized potential A=Σjajcj. The parameters cj are chosen to extremize the action. The parameterized potential A results in an associated set of volume integrals that equal zero at all non-boundary points for any set of parameter values ci. Although the potential resulting from using virtual sources may only approximately satisfy the Lorenz-gauge-equivalent boundary conditions, more virtual sources can always be chosen, so that the error is smaller than any required value.
The following paragraphs provide greater emphasis on technical details.
FIG. 9 shows an example 900 of a placement of virtual sources inside the sphere. Example 900 shows sphere 804 with a polyhedron 902 inside having virtual dipoles 904 at the vertices of the polyhedron that is inside the spherical boundary. Polyhedron 902 is used to aid in locating the dipoles 904, which are placed close to the inner surface of the sphere 802. Dipoles 904 are used to generate the basis potentials ai outside the sphere. The potential in the outer region from each dipole 904 in the inner region is used as a different basis function ai having a unit dipole moment. For each basis potential ai defined outside the sphere with the help of just one virtual dipole, the basis potential ai is defined inside the sphere as a linear combination of potentials due to virtual dipoles located outside the sphere (which are discussed further in conjunction with FIG. 10, below), with the coefficients chosen to minimize (reduce to within a predetermined acceptable tolerance) the effective discontinuity of the basis potential ai across the surface of the sphere. A possible measure of effective discontinuity is described in another section. The end result is a set of basis functions, with each basis function defined outside the sphere by one virtual dipole (or one real dipole in the case of i=0), and defined inside the sphere by a linear combination of virtual dipoles (a different combination for each value of the index i). The coefficients of the linear combination used to define the basis function for each basis index i are determined early in the solution by minimizing the discontinuity at boundary points, and are in addition to the parameters ci that are later chosen to extremize the action.
FIG. 10 shows an example 1000 of a placement of virtual sources outside the sphere. Example 1000 shows sphere 802 with a polyhedron 1002 outside having virtual dipoles 1004 at the vertices of the polyhedron. Polyhedron 1002 is used to aid in locating the dipoles 1004, which are placed close to the outer surface of the sphere 802. Dipoles 1004 are used to generate the basis potentials ai inside the sphere. For each basis function ai, already defined in the outer region and on the spherical boundary as the potential resulting from one dipole source, the potential ai is defined inside the sphere by a linear combination of the potential resulting from dipoles 1004 outside the sphere, with the amplitudes of the dipoles chosen to minimize the discontinuity in the basis potential at the boundary. Each resulting basis potential ai is defined at all points in space, and is used to define the parameterized potential A=Σiajcj.
FIG. 11 shows an example 1100 of an arrangement of dipoles on the polyhedron. Example 1100 shows polyhedron 902 with virtual dipoles 904 at the vertices of the polyhedron and electric dipole 1102, magnetic dipole 1104, and magnetic dipole 1106. Electric dipole 1102 points towards the surface of the sphere and is perpendicular to the surface of the sphere. Magnetic dipoles 1104 and 1106 are perpendicular to the electric dipole 1102 and are therefore parallel to the surface of the sphere at the point on the sphere to which the electric dipole points.
It can be shown that only the scalar potential and the tangential part of the vector potential need to be defined and be continuous at boundary points, in order to specify a potential throughout all of space that uniquely determines the fields. All possible potentials can be specified, to some level of approximation, by dividing the boundary into boundary sections, and specifying the average scalar potential and tangential vector potential on each boundary section. One simple choice of dipoles to generate an approximation to such potential values on the boundary, and to generate the associated potential throughout a region, is one electric dipole near each boundary section with a moment perpendicular to the nearby boundary, and two magnetic dipoles near each boundary section with moments tangential to the nearby boundary. Three such dipole moments at each vertex are represented in FIG. 11, which represents 36 dipole moments and corresponding degrees of freedom.
At a frequency equal to zero, one pair of virtual dipoles—one inside and one outside the sphere—at the correct locations can be used to define the exact solution for the fields of the simple ideal case of a real dipole located outside of a polarizable sphere. But in more general cases, such as non-zero frequencies, non-spherical objects, and applied fields from sources more complex than point dipoles, the exact solution method of solving for the field resulting from a charged object outside of the shape does not apply and may be difficult to implement even approximately, while the method of least action with basis functions defined with the help of virtual sources may be applied with good results.
Each basis function ai (resulting from dipoles near the surface of the object inside and outside of the object) described above is approximately continuous everywhere, and a linear combination A=Σj aj cj of these basis functions satisfies the Euler-Lagrange equation at every non-boundary point for any set of parameter values ci for i≠0 and with c0=1, but does not generally satisfy the Euler-Langrange equation at boundary points. As outlined earlier, values of the parameters cj in the linear combination of basis functions that form the parametized potential extremize the action.
Although point dipole virtual sources are very useful for representing and visualizing geometry, and have very simple and easily calculated potentials and fields, for smoother fields, smoother virtual charge and current densities may be used instead of point dipoles.
Example of a 2D Simplex Mesh
FIG. 12 shows an example 1200 of a mesh of simplices that may be used in computing electromagnetic fields. Example 1200 includes wires 1204 and 1206, and simplices 1208 having nodes 1210 and boundaries 1212.
FIG. 12 shows a two-dimension problem, which was chosen because the situation of FIG. 12 can be graphically represented in 2D. In FIG. 12 there is a metal object that varies in the x and y directions (in the plane of the paper), and extends very far in the z direction (perpendicular to the paper) so that the situation may approximate a 2D problem, with all quantities independent of z and with harmonic dependence on time.
Wires 1204 have a current that travels out of the paper in the left (which are represented by large grey dots), wires 1206 have a current that travels into of the paper on the left (which are represented by large black dots). Wires 1204 and 1206 may represent a coil that is stretched in the z direction.
Computation of the resulting field may be performed on a mesh of simplices. Simplices 1208 are an example of a mesh of simplices that may be used for performing the field computations. Nodes 1210 are the vertexes of the simplices, and boundaries 1212 are the walls between the simplices (connecting the vertexes). The size of the simplices may be varied according to the amount of variation expected in a particular region. Areas with higher variation in the field may include a larger number of simplices, but the simplices will tend to be smaller than other areas, and areas with less variation in the fields may be have a smaller number of simplices, but the simplices will tend to be larger.
Such a problem can usefully model characteristics of a real 3D situation, but with much less computation. The equations are solved using integrals over the interior of each simplex 1208 and integrals over the boundaries 1212 of each simplex. As in FIG. 12, simplices need not be used throughout the entire region in which the field is being computed, but rather may be used, for example, for regions containing nonlinear media such that the field may be approximated as being uniform within each simplex.
Other methods of defining computationally useful regions of space may also be used. For example, if the physical situation is symmetric with rotation about an axis, simplices in a 2D half-plane bounded by the axis may be defined, and then 3D volumes of rotation may be defined and the 3D volumes may be associated with virtual sources by rotating the simplices about the axis.
Nonlinear Embodiments
The potential A is a function of the parameters ci. For simplicity take the parameterization to be linear in the parameters. If a parameterization is chosen that is nonlinear in the parameters, a solution may be found that extremizes the action by any of various other methods, such as Newtonian iteration with linearized approximations to the potentials and fields.
Also, for simplicity it has been assumed that the fields G, {right arrow over (D)}, and {right arrow over (H)} are linear functions of the fields F, {right arrow over (E)}, and {right arrow over (B)}, respectively, but these may be nonlinear functions in which case the Lagrangian density may need additional corresponding terms, and solutions may be found that extremize the action by any of various methods, such as using perturbation theory and choosing a set of basis functions that includes a fundamental frequency and harmonics.
An example of a nonlinear field G is an electrically and magnetically polarizable medium with an electric polarization P that saturates according to




  
    P
    ⁡
    
      [
      E
      ]
    
  
  =
  
    
      α
      E
    
    ⁢
    
      E
      0
    
    ⁢
    Arc
    ⁢
    
      
    
    ⁢
    
      Tan
      ⁡
      
        [
        
          E
          
            E
            0
          
        
        ]
      
    
  




and magnetic polarization M that saturates according to





  
    M
    ⁡
    
      [
      B
      ]
    
  
  =
  
    
      α
      B
    
    ⁢
    
      B
      0
    
    ⁢
    Arc
    ⁢
    
      
    
    ⁢
    
      Tan
      ⁡
      
        [
        
          B
          
            B
            0
          
        
        ]
      
    
  




where aE, E0, aB, and B0 are constants that characterize the medium. The corresponding electric and magnetic interactions are

UE[E]=αEE02 Log [1+(E/E0)2]

UB[B]=(αB)B02 Log [1+(B/B0)2]

and the Lagrangian is

L=(1⁄2)F·F−A·Jf+U 

where U=UE+UB 

represents the interaction between the field and the medium. Setting to zero the variation of the action with respect to parameters ci gives the same set of equations (19) but with





  
    G
    ≡
    
      F
      +
      
        
          ▽
          F
        
        ⁢
        U
      
    
  
  =
  
    E
    +
    
      
        
          α
          E
        
        ⁢
        E
      
      
        1
        +
        
          
            (
            
              E
              /
              
                E
                0
              
            
            )
          
          2
        
      
    
    +
    
      
        1
        c
      
      ⁢
      
        III
        ⁡
        
          (
          
            B
            -
            
              
                
                  α
                  B
                
                ⁢
                B
              
              
                1
                +
                
                  
                    (
                    
                      B
                      /
                      
                        B
                        0
                      
                    
                    )
                  
                  2
                
              
            
          
          )
        
      
    
  




where ∇F is the multivector derivative with respect to F. As a result of the denominators in the above expression, G is a nonlinear function of E and B and therefore of F, so equation (19) is no longer linear in the solution parameters ci and computing a solution may be more difficult.

In the limit of very large parameters E0 and B0, the example above reduces to expressions for linearly polarizable media. In particular,




  
    
      U
      E
    
    →
    
      
        1
        2
      
      ⁢
      
        E
        ·
        P
      
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      P
    
  
  =
  
    
      
        
          α
          E
        
        ⁢
        E
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        
          U
          B
        
      
      →
      
        
          1
          2
        
        ⁢
        
          1
          
            c
            2
          
        
        ⁢
        
          B
          ·
          M
        
        ⁢
        
          
        
        ⁢
        where
        ⁢
        
          
        
        ⁢
        M
      
    
    =
    
      
        α
        B
      
      ⁢
      
        B
        .
      
    
  




We can combine this with F·F=E2−(1/c2)B2 to rewrite the Lagrangian as





  
    L
    =
    
      
        
          
            (
            
              1
              2
            
            )
          
          ⁢
          
            F
            ·
            G
          
        
        -
        
          
            A
            ·
            
              J
              f
            
          
          ⁢
          
            
          
          ⁢
          where
          ⁢
          
            
          
          ⁢
          G
        
      
      =
      
        
          (
          
            E
            +
            P
          
          )
        
        +
        
          
            (
            
              1
              c
            
            )
          
          ⁢
          
            III
            ⁡
            
              (
              
                B
                -
                M
              
              )
            
          
        
      
    
  
  ,




or alternatively and equivalently as




  
    L
    =
    
      
        
          1
          2
        
        ⁢
        
          F
          ·
          F
        
      
      -
      
        A
        ·
        
          J
          f
        
      
      +
      U
    
  




  where




  
    U
    =
    
      
        1
        2
      
      ⁢
      
        (
        
          
            E
            ·
            P
          
          +
          
            
              1
              
                c
                2
              
            
            ⁢
            
              B
              ·
              M
            
          
        
        )
      
    
  



represents the interaction between the electromagnetic field and the linearly polarizable medium.

Continuity Errors

In an embodiment, the least action method requires that the potential be continuous at all points, including boundary points, and so computation by the method of least action is most easily analyzed for errors and understood if the potential is continuous at all points. But the potential may be discontinuous in at least two acceptable ways and the method of least action will still be useful, as explained below.
The first way that the potential may be discontinuous is that it may be “effectively continuous” although not continuous, where effectively continuous means that a gauge transformation can remove any discontinuity present. Specifically, even after requiring the Lorenz condition, 0=∇·A in terms of space-time quantities (or 0=(1/c)∂tΦ+{right arrow over (∇)}·{right arrow over (A)} in terms of 3D space quantities), for any solution A=γ0(Φ−{right arrow over (A)}) to these equations, A′=A+∇ψ is also a solution if the scalar field ψsatisfies ∇2 ψ=0 (or equivalently, in terms of 3D space quantities, at least for stationary media,




  
    
      A
      ′
    
    →
  
  =
  
    
      
        A
        →
      
      +
      
        
          ▽
          →
        
        ⁢
        ψ
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        
          Φ
          ′
        
      
    
    =
    
      Φ
      +
      
        
          ∂
          ψ
        
        
          ∂
          t
        
      
    
  




is also a solution if the scalar field ψ satisfies





  
    
      
        
          
            
              ▽
              →
            
            2
          
          ⁢
          ψ
        
        -
        
          
            
              ∂
              2
            
            ⁢
            ψ
          
          
            ∂
            
              t
              2
            
          
        
      
      =
      0
    
    )
  
  .




Since this is a 2nd order differential equation, the value of ψ is uniquely determined at every point of a 4D space-time volume, if either ψ or the directional derivative of ψ perpendicular to the boundary is specified on the 3D boundary of the 4D volume. We can therefore always choose such a field ψ to exactly cancel any discontinuity in the component of A perpendicular to any boundary in 4D space-time (or in terms of 3D space quantities, at least for stationary media, to exactly cancel any discontinuity in the component of {right arrow over (A)} perpendicular to any boundary in 3D space). A potential that is continuous except for a discontinuous perpendicular vector part at a boundary is therefore effectively continuous and is not a problem.

The second way that a basis potential may be discontinuous is that the basis potential may be only approximately effectively continuous across a boundary, due to imperfect matching of basis potential values at points on the boundary between the two adjacent regions. The imperfect matching of basis potential values at points on the boundary, generally occurs with the method of virtual sources but not with the Green's Theorem method. In this case the basis functions defined on the two sides of the boundary may be chosen for each basis potential so that some measure of total error due to discontinuity across the boundary is minimized. One useful measure of dissimilarity between the values of basis potentials on side I of the boundary,




  
    
      a
      i
      I
    
    =
    
      
        (
        
          
            
              ɛ
              0
            
            ⁢
            
              φ
              i
              I
            
          
          +
          
            
              1
              
                c
                ⁢
                
                  
                
                ⁢
                
                  μ
                  0
                
              
            
            ⁢
            
              
                
                  a
                  1
                
                →
              
              I
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  
  ,




and the values of basis potentials on side II of the boundary,





  
    
      a
      i
      II
    
    =
    
      
        (
        
          
            
              ɛ
              0
            
            ⁢
            
              φ
              i
              II
            
          
          +
          
            
              1
              
                c
                ⁢
                
                  
                
                ⁢
                
                  μ
                  0
                
              
            
            ⁢
            
              
                
                  a
                  1
                
                →
              
              II
            
          
        
        )
      
      ⁢
      
        γ
        0
      
    
  
  ,




is





  
    
      
      
        
          (
          
            
              Δ
              ⁢
              
                
              
              ⁢
              
                a
                i
              
            
            ⩓
            n
          
          )
        
        ⁢
        
          γ
          0
        
      
      
    
    2
  
  =
  
    
      
        
          
            ɛ
            0
            2
          
          ⁡
          
            (
            
              
                φ
                i
                I
              
              -
              
                φ
                i
                II
              
            
            )
          
        
        2
      
      +
      
        
          1
          
            
              c
              2
            
            ⁢
            
              μ
              0
              2
            
          
        
        ⁢
        
          (
          
            
              
                (
                
                  
                    
                      
                        a
                        i
                      
                      →
                    
                    I
                  
                  -
                  
                    
                      
                        a
                        i
                      
                      →
                    
                    II
                  
                
                )
              
              2
            
            -
            
              
                (
                
                  
                    n
                    ^
                  
                  ·
                  
                    (
                    
                      
                        
                          
                            a
                            i
                          
                          →
                        
                        I
                      
                      -
                      
                        
                          
                            a
                            i
                          
                          →
                        
                        II
                      
                    
                    )
                  
                
                )
              
              2
            
          
          )
        
        ⁢
        
          
        
        ⁢
        where
        ⁢
        
          
        
        ⁢
        Δ
        ⁢
        
          
        
        ⁢
        
          a
          i
        
      
    
    =
    
      
        a
        i
        I
      
      -
      
        a
        i
        II
      
    
  




This expression for the local error in basis function i at a point on the boundary due to discontinuity across the boundary excludes the perpendicular vector component since the vector component perpendicular to the boundary does not need to be continuous as discussed above. The corresponding total error is the boundary integral

errori=∫β|(Δain)γ0|2dβ

This error expression can be used by choosing quantities that are used to define either or both (φiI,{right arrow over (a)}iI) and (φiII,{right arrow over (a)}iII), such as with virtual source amplitudes, such that errori is minimized. The choice of basis functions for (φiI, {right arrow over (a)}iI) and (φiII, {right arrow over (a)}iII)that minimize errori may be made before the action is extremized. This error in continuity of a basis potential function at boundary points is independent of the results of extremizing the action.
Defining potentials so that the potentials are identically effectively continuous at boundaries, such as by using potential basis functions parameterized by values of tangential components on boundaries as described previously, has advantages of easier theoretical analysis and more accurate results, but potentials defined so that the potentials are only approximately continuous at boundaries as outlined above may be simpler and faster to compute.
Gauge-Equivalent Potentials
Discontinuity of the potential across boundaries appears to violate an initial assumption of the principle of least action, that the potential is a continuous function at all points.
However, it can be shown that given any potential A′ that satisfies the Euler-Lagrange equation and the media Lorenz condition, and is continuous across the boundaries except for the perpendicular component of the potential A′, the potential A=A′−∇λ satisfies the Euler-Lagrange equation, is continuous at all points including boundary points, and results in the same field ∇A=∇A′, where λ is any continuous scalar field such that at the boundaries, λ=0 and n·(A′−∇λ) is continuous, where n is the boundary normal. The resulting potential A generally cannot satisfy the Lorenz condition 0=∇·A or media Lorenz condition, since doing so requires that λ satisfies a 2nd order differential equation, ∇·A′=∇2λ for the Lorenz condition, and the necessary boundary conditions over-determine a solution to such an equation. A and A′ have the same tangential boundary values, result in the same field F, and differ by only a gauge transformation; we may say such potentials are “gauge-equivalent”.
An Embodiment of the Method of Basis Functions Defined by Boundary Values
The current section discusses the calculation of potentials and fields at boundary points. Specifically, the current section describes a method for calculating all components of the potential, and calculating the normal directional derivative of the potential at all boundary points enclosing a region with uniform polarizability, given the boundary conditions of only the tangential components of the potential. The electromagnetic field at all boundary points can then be calculated from the components of the potential and the normal directional derivative of the potential, which allows evaluation of the boundary integrals needed to extremize the action.
The first step is to specify the value of each basis potential aα and the normal derivative of the basis potential aα at boundary points by a) requiring that each basis potential aα satisfies the corresponding homogenous or inhomogeneous Euler-Lagrange equation and the media Lorenz condition, and therefore the media wave equation, at all points enclosed by the given boundary, b) giving the values of each basis potential aα tangential components at all boundary points, and c) using the media Lorenz condition and Greens Theorem for the media wave equation as constraints to calculate the basis potential normal component and all components of the normal derivative of the basis potential at boundary points. For a choice of basis potentials, that meet requirements (a), (b), and (c), the volume integrals in the equation expressing extremization of the action are all identically zero, and the coefficients ci can be varied in the total potential A=aαcα to extremize the boundary integrals of the action.
To evaluate the boundary integrals needed to extremize the action, the values of each electromagnetic field basis function gα must be found on each side of every boundary at every boundary point. The method described in the current section enables the efficient calculation of the normal component of a space-time vector potential a and the normal directional derivatives of all components of a at all boundary points, given the tangential components of a, for a potential that satisfies the Euler-Lagrange equation and the Lorenz condition such as any one of the basis potentials aα. The value of any field basis function gα can be calculated from the boundary values and normal derivatives of the potential basis function aα. A useful method of defining the value and normal derivative of each space-time basis potential function aα on the boundary of a region may be to require that within the region in which the computation is being performed that the potential satisfies ∇·gα−δ0,αJf=0 (where δ0,α=1 when α=0 and δ0,α=0 for all other values of α). The potential function a and the potential function's normal derivatives at all boundary points are defined in terms of a finite number of variables. The potential a may represent, for example, any one of the basis functions aα. The following simple model illustrates the method, although the same method can be used to define smoother albeit more complex models, or less smooth models.
First, a general curved boundary is approximated by connected boundary simplices. For a 2D boundary in 3D space (applicable to cases in which time-varying fields are represented by Fourier components in frequency space, for example), the boundary simplexes are triangles and it is useful to visualize the instant case as representative. The unit vector normal to the surface of the simplex s, may be written as nS. At each vertex v, a unit vector nS is specified, which may be normal to the physical boundary that is being approximated by the connected simplices, which may be defined as the normalized sum of the area vectors of the simplices that share that vertex. The resulting potential solution depends only weakly on the choice of normal vectors nv, so the exact definition is not critical.
At each vertex v, we define the potential parameters to be the value of the space-time vector potential av≡a[rv] which have 4 degrees of freedom, and the derivative in the direction nv of the components of a that are perpendicular to nv, which are ∂vavv≡(nv·∇)(nvnva[rv])=

(nv·∇)·(nvnva[rv])+(nv·∇)(nvnva[rv])=(nv·∇)·[(nv·nva[rv])+(nvnva[rv])+(nv·∇)[(nv·nva[rv])+(nvnva[rv]),

and which have 3 degrees of freedom. The derivative in the direction nv of the component of a that is parallel to nv is determined from the values of a on the boundary by the medium Lorenz condition. At any one vertex, this derivative in the direction nv of the component of a that is parallel to nv is generally different for each triangle that shares that vertex. All 4 components of the potential and all 4 components of the normal derivative of the potential at all points on the boundary are expressed in terms of only 7 parameters at each vertex. The tangential components of the potential are continuous across any boundary, and so have the same values as the boundary is approached from either side, but the normal component of the potential and all components of the directional derivative of the potential are generally different on the two sides of a boundary between media with different polarizabilities; each side must be treated independently.
The potential a at any point on a boundary simplex is defined to be the linear function of position on that simplex that matches the vertex values av. Recall that the media potential am is just equal to a linear transformation of the components of a at each point, so it is possible to use either the function a or am as the potential (the form of the resulting equations are unchanged) and transform from one to the other as needed.
Now, as a result of defining the potential a to be the linear function of position on that simplex that matches the vertex values av, one can derive expressions for the potential a and for the normal derivative (ns·∇)a of the potential at every boundary simplex point on both sides of the boundary, in terms of potential parameters that have 7 degrees of freedom per vertex. 7 degrees of freedom is too many degrees for the boundary conditions of a space-time vector function that satisfies a wave equation in the region enclosed by the boundary, making the potential in this region over-constrained. Green's theorem is applied to eliminate 4 of the 7 degrees of freedom in the parameters av (with 4 degrees) and nv·∇nvnvav (with 3 degrees) at each vertex v, as follows.
For simplicity, consider only the important practical case of a space composed of stationary bounded regions of uniform polarizability. For convenience, the computation is performed in the 3D algebra of an inertial frame of the boundaries. Assume harmonic time dependence, as is the case for Fourier components, and parameterize the potential by the potential's complex valued components on boundaries. Given such a basis potential a on the boundary of a region V, the potential's value a at any point in the region enclosed by the boundary s=∂V of V or on the boundary s, such as a vertex point rv is related to the potential value a and normal derivative ∇na of the potential on the entire boundary by Green Theorem,

a[{right arrow over (rv)}]=∫s=∂V(ψ[{right arrow over (r)}−{right arrow over (rv)}]∇na[r]−∇ψ[{right arrow over (r)}−{right arrow over (rv)}]a[{right arrow over (r)}])ds+∫Vjf[{right arrow over (r)}]ψ[{right arrow over (r)}−{right arrow over (rv)}]dV  (42)

where ∇n={right arrow over (n)}·{right arrow over (∇)} and a suitable Green's function for the potential a is





  
    
      
        
          ψ
          ⁡
          
            [
            
              r
              →
            
            ]
          
        
        =
        
          
            1
            
              4
              ⁢
              
                
              
              ⁢
              π
              ⁢
              
                
                
                  Γ
                  →
                
                
              
            
          
          ⁢
          
            e
            
              ik
              ⁢
              
                
                
                  Γ
                  →
                
                
              
            
          
        
      
    
    
      
        (
        43
        )
      
    
  




Equations (42) and (43) apply if the medium's polarizability is zero. If the medium's polarizability is not zero, then a similar expression but with a, jf, {right arrow over (∇)}, and k replaced by the media quantities am, jm, {right arrow over (∇)}m, km, as described earlier, is used.
Writing one equation for each boundary simplex vertex v of the simulation with p vertex points, the potential a[{right arrow over (r)}v] on the left hand side equals a the potential value at the position {right arrow over (rv)} of vertex v, and the potential a[{right arrow over (r)}] and the normal derivative ∇na[{right arrow over (r)}] of the portential in the integrals is a linear function of the potential parameters av and ∂vavv on each triangle of the boundary. Consequently, equations (42) and (43) express linear relationships between the potential parameter av for one particular vertex on the left, and all potential parameters, av and ∂vavv=nv·∇nvnva[{right arrow over (rv)}], for all vertices on the right.
These p space-time vector equations make 4p scalar equations of constraint (where p is the number of vertex points). These constraints can be used to write all 7p parameters as linear functions of the 3p parameters nvnvav (i.e., the components of the potential a that are perpendicular to the vertex normal vector nv) at any boundary vertex v. The Lorenz or media Lorenz condition can then be applied at any boundary point to also calculate the 8th degree of freedom (the normal derivative of the normal component of the potential) at any boundary point.
Each basis function ai is chosen to be described by setting one component of the vertex parameter nvnvav at one vertex equal to unity, and all other vertex parameters and the source jf to zero. The basis function a0, may be chosen to be described by setting the 3p vertex parameters at each vertex to equal zero but setting the source jf to equal the specified source Jf or Jm if using media quantities, of the simulation. There are then 3p basis functions ai and associated coefficients ci, one corresponding to each of the 3p parameters nvnvav.
Quantities can be numerically evaluated to obtain a 7p×3p matrix for each region, giving the 4p components of the potential A=aαcα and the 3p normal derivatives of the potential components perpendicular to nv at the p vertices as linear functions of the 3p basis function coefficients ci and of position on each boundary triangle. The normal derivative of the potential component perpendicular to the simplex at any point on any boundary simplex can be numerically evaluated from these values.
From the resulting expressions, expressions for the field F as a linear function of the 3p parameters nvnvav and for the field G as a linear function of F are written on both sides of every boundary point. The next step is to numerically evaluate the boundary integrals needed to find the coefficients ci that extremize the action, and numerically solve for the coefficients ci.
With a choice of basis functions described by the vertex parameters and within the approximation of using simplices to represent the physical boundary, each integral needed to extremize the action has a non-zero integrand over only a localized region of the boundary for which the tangential components of the corresponding basis function are non-zero. These integrals using localized basis potentials can be much faster to compute than integrals using non-localized basis potentials.
Calculation of Potentials and Fields at Non-Boundary Points
Given the values of a potential A and the potential's normal derivatives at all boundary points—such as either a basis potential or the potential that extremizes the action—the potential A[{right arrow over (r)}] and the fields F=∇A and G[F] can be calculated at any point {right arrow over (r)} using Green's theorem as applied to A and to G, using the media quantities Am and Gm for example.
To find the potential A in a region with zero polarizability, Green's theorem expression from the previous section can be used with the final potential solution A in place of a.
To find the field F in a region with zero polarizability, Green's theorem expression for Maxwell's equation can be used,

F[{right arrow over (r)}′]=∫s=∂VΨ[{right arrow over (r)}−{right arrow over (r)}′]{right arrow over (n)}F[{right arrow over (r)}]ds−∫VΨ[{right arrow over (r)}−{right arrow over (r)}′]γ0j[{right arrow over (r)}]dV  (44)

where an appropriate Green's function is





  
    Ψ
    ⁡
    
      [
      
        r
        →
      
      ]
    
  
  =
  
    
      
        (
        
          
            -
            ik
          
          +
          
            ▽
            →
          
        
        )
      
      ⁢
      
        φ
        ⁡
        
          [
          
            r
            →
          
          ]
        
      
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      k
    
    ≡
    
      
        ω
        c
      
      .
    
  




Alternatively, F can be numerically calculated from values of A at nearby points.

For a region with non-zero polarizability (including complex electric polarizability, representing electrical conductivity), the same expressions, but with the media quantities Gm, km, and jm in place of F, k, and j, are used.
Additional Constraints
Each potential and field may be parameterized as a sum of parameters ci times corresponding basis functions. The method of least action identifies parameter values that extremize the action.
For example the charge Q=∫V ρdV=0 in a 3D volume V may be rewritten using the Euler-Lagrange equation ∇·G=J dotted with γ0, or {right arrow over (∇)}·{right arrow over (D)}=ρ, to give ∫V {right arrow over (∇)}·{right arrow over (D)}dV=Q. Applying the divergence theorem gives ∫s=∂V{right arrow over (n)}·{right arrow over (D)}ds=Q. If the charge is known—typically Q=0 for non-zero frequencies when using complex amplitudes of Fourier expansions—then this equation is a linear constraint on the basis coefficients ci via {right arrow over (D)}.
The action may be extremized subject to a constraint equation such as the preceding example by Lagrange's method. Such constraints may be enforced by defining an auxiliary action function S′ given by

S′=S+λ∫s=∂V{right arrow over (n)}·{right arrow over (D)}ds  (46)

where λ is a Lagrange multiplier in the current example, and then finding parameters ci and λ that simultaneously satisfy the variational equations δciS′=0 and the constraint equation ∫s=∂V{right arrow over (n)}·{right arrow over (D)}ds=Q.

Doing so may improve numerical performance even if not required for solution. For example, numerical errors may result in a very small but nonzero effective variation in the net charge and an associated longitudinal electric field wave, and these errors may be smaller using such a constraint.
An Embodiment of a Method of Computing Electromagnetic Quantities
FIG. 13 shows an embodiment of a method 1300 of computing electromagnetic quantities. Method 1300 is an embodiment of a new general method of computational electromagnetism that is applicable to physical situations involving any number of stationary objects or regions of space with uniform linear electric and magnetic polarizability and/or electrical conductivity. The main restrictions of the method 1300 compared to the more general method are stationary objects, electric current and charge oscillate at one frequency (if there is any oscillation), and electric and magnetic polarizations that are linearly proportional to the electric and magnetic fields. Method 1300 may be used to quickly calculate the electromagnetic field at any point of spacetime that contains any number of stationary physical objects of any shape, where each is made of a uniform material with electric and magnetic polarizability and electrical conductivity of any values as long as the electromagnetic quantities being calculated are linear functions of the field, and any specified oscillating electric current or charge at any frequency. As mentioned elsewhere, Green's 3rd identity is

A[r]=∫(∂ng[r−r′]A[r]−g[r−r′]∂nA[r′])3r, 

which may be used for computing electromagnetic quantities, if the potential A and the directional derivatives ∂nA (which are normal to the 3D boundaries of the objects in 4D space-time) are known at all boundary points (where ∂nA=n·∇A).
The method calculates the boundary quantities (e.g., ∂nA), and based on the boundary quantities others are computed. The method may calculate the boundary quantities in two steps (steps 1302 and 1312, step 1312, will be discussed below after step 1302).
In step 1302, the basis potential functions are chosen that extremize the integral of the Lagrangian over nonboundary points, but do not, generally, extremize the integral of the Lagrangian over boundary points. In other words, the basis potential functions ai extremize the equation

∫(ai·(∇·G)−ai·j)4r, 

but do not necessarily extremize
∫(ai(n·ΔG)−ai·K)3 r, where G is the electric displacement-magnetic intensity field, j is the charge-current density, and K is the surface charge-current density.
Choosing basis functions a, that extremize the Lagrangian integral within the region but not necessarily on the surface of the region results in basis functions in which each basis function is defined at every point of every region in space (although characterized and uniquely identified by values at only boundary points), that satisfy the Euler-Lagrange equations (∇·G=0; e.g., Maxwell's equations) within each region but not across the boundaries between regions.
To elaborate in more detail, in an embodiment, in step 1302, basis potential functions that extremize the integral of the Lagrangian over all non-boundary points, may be performed as follows. Note that extremizing the integral of the Lagrangian over region points is equivalent to choosing functions that satisfy the Euler-Lagrange equation (Maxwell's inhomogeneous equations for the electromagnetic Lagrangian) at all region points. The electromagnetic Euler-Lagrange equation has a gauge freedom that may be conveniently eliminated by also requiring that the Lorenz condition be satisfied, and so functions that also satisfy the Lorenz condition are chosen. When the Lorenz condition is applied to the electromagnetic Euler-Lagrange equations, the electromagnetic Euler-Lagrange equations reduce to the simpler wave equation. Consequently, basis functions that satisfy the wave equation and the Lorenz condition are chosen.
A unique solution to a 2nd-order differential equation, including the wave equation, in any region enclosed by a boundary, may be identified by
(1) specifying the value of the solution at every point on the boundary (Dirichlet boundary conditions),
(2) specifying the normal derivative of the solution at every point on the boundary (Neuman boundary conditions), or
(3) specifying some combination of values and normal derivative (mixed boundary conditions).
In the case of a space-time vector valued function such as the electromagnetic potential A (having components φ, {right arrow over (A)}), there are 4 degrees of freedom for each the value and normal derivative (which are the components of n·∇A, which in turn are n·∇φ and n·∇{right arrow over (A)}), which result in a total of 8 degrees of freedom at each point of the boundary, which correspond to (φ, {right arrow over (A)}, n·∇φ, and n·∇{right arrow over (A)}). The vector value of the function (corresponding to the Dirichlet condition) include four degrees of freedom (the time like component of the vector function is the fourth degree of freedom), the vector-valued normal derivative of the function (Neuman) includes four alternative degrees of freedom, or some combination totaling 4 degree of freedom (mixed) at each point to uniquely specify a solution. In an embodiment, mixed boundary conditions are chosen, which include the three space-time tangential components n nA of the potential A and the normal component n n·(∂nA) of the normal derivative ∂nA at every point on the boundary.
Using the three space-time tangential components n nA of the potential and the normal derivative ∂nA as the boundary conditions identify a unique solution to the wave equation.
However, in an embodiment, the normal component of the normal derivative of the potential basis function

nn·(∂nai)

is chosen to satisfy the Lorenz condition, ∇·ai=0, on the boundary.
So, the value of the normal component of the normal derivative of the potential basis function, n n·(∂n ai), is actually determined by the choice of n n ai on the boundary. The choice of n n ai on the boundary, along with requiring the potential A to satisfy the wave equation, guarantees that the potential A satisfies the Lorenz condition at all points enclosed by the boundary, because

∇2A=0

implies
∇2(∇·A)=0, so that ∇·A the Laplacian of the potential satisfies the wave equation with the boundary condition that ∇·A equals 0 at the boundary, which has the unique solution ∇·A=0 everywhere.
In other words, a solution that satisfies the wave equation and the Lorenz condition is uniquely and exactly specified by the choice of just the three tangential components of the potential n nA of A at all boundary points. The one normal component n n·(∂nA) of ∂nA can also be immediately computed at all boundary points by applying the Lorenz condition. However, in this embodiment, all 4 components of the potential A and all 4 component of the normal derivative of the potential ∂nA on the boundary are needed in order to apply Green's 3rd Identity to calculate the potential A at any point in the region enclosed by the boundary.
For example, before choosing the potential, such as the basis functions a, that will be used to construct the final potential A=ai ci having coefficients that are chosen to extremize the boundary integral in the variation of the action, the physical situation is defined. Defining the physical situation includes defining all of the boundaries and the polarizabilities of the medium on each side of every boundary. So, the normal n to the boundary is already defined at each boundary point, before the electromagnetic potentials are computed. The boundary is a 3D boundary in 4D space-time of the 4D volume swept out by a 3D object through time. For an object that is stationary relative to the observers, the normal is the 4D space-time normal vector n to the 3D boundary, the normal is really a vector field since the normal is potentially different at each point of the boundary, but will usually just be called “the normal vector.” The normal vector is perpendicular to the unit vector in the time direction and so is essentially the same thing as the 3D space vector that is perpendicular to the 2D boundary in 3D space. Although the definition of the normal may seem like a lot of totally unnecessary complication compared with just using the a 3D vector that is normal to the 2D boundary, using the 4D normal vector defined, above, actually makes the computations simpler once the electromagnetic fields and other related quantities are incorporated into the computation, because the electromagnetic quantities are intrinsically 4D and therefore much simpler to compute with, than using the familiar 3D quantities—electric field, magnetic field, vector potential, and scalar potential.
So, to begin, the boundary normal, n, is given (or computed from an equation describing or approximating the shape of the surface) at each point of the boundary. Then the tangential components of the potential are specified at every boundary point. The tangential components may be conveniently expressed by the symbols n n^A. The equivalent expression using vector algebra instead of geometric algebra requires that the introduction of a local orthonormal frame—local meaning that there is a different frame at every boundary point. For simplicity, in this example, the time-like part of the surface will be ignored and only a 2D boundary in 3D space will be considered—which often may is nearly the true in the case of stationary objects and boundaries. Then, the orthonormal frame of vectors may be represented as {ex, ey, ez}. The direction of the frame vector representing the x-direction ex may be chosen to be in the direction normal to the boundary: ex=n. The vector potential A can then be expanded in terms of this frame as

A=exex·A+eyey·A+ezez·A. 

Since ex=n, A can be written as,

A=exex·A+eyey·A+ezez·=nn·A+eyey·A+ezez·A. 

Using geometric algebra, A can alternatively be expressed as,

A=(1)A=(nn)A=n(nA)=n(n·A+n^A)=nn·A+nn^A, 

where the last term n n^A is the same as the ey and ez terms in the previous equation, but does not require expressly specifying the frame vectors ey, ez.
Now, using the usual vector algebra expression—the first equation above—it will be shown how the Lorenz condition is applied to determine the normal component of the vector potential. Geometric algebra could be used, but that is not necessary and does not make it easier or clearer in this simple example, and so vector algebra will be used. As a reminder, at every boundary point there is a different local frame {ex, ey, ez}. During computation, each of these local frame vectors, at each boundary point, is represented by components in a “global” cartesian coordinate system with associated global frame vectors, say {eX, eY, eZ}, and each local frame vector may be expressed using the local frame's scalar components in the global frame: for example,

ex=eXeX·ex+eYeY·ex+eZeZ·ex=eX*(some number)+eY*(some other number)+eZ*(some third number),

and while setting up to perform an actual computation with these numbers, the “components” of ex in the global frame, are saved as a triplet of numbers {some number, some other number, some third number} for use during the computation.
Returning to the Lorenz condition, in the local frame, the Lorenz condition ∇·A=0
can be written as

0=(∂/∂x)Ax+(∂/∂y)Ay+(∂/∂z)Az+(∂/∂t)At 

where Ax=A·ex, Ay=A·ey, As=A·ez, and At=A·et. (the vector potential is made up of Ax, Ay, and Az, and the scalar potential is At). Since the tangential components of A, that is Ay, Az and At, are specified at every boundary point, and changes in y and z correspond to changing position in directions tangential to the boundary (remember that the computation uses the local frame, for which this is true by definition), in this example, each derivative (∂/∂x)Ax, (∂/∂y)Ay, (∂/∂z)Az, and (∂/∂t)At can be computed exactly. When using Bezier functions, the numerical calculation of the normal component is simple and exact (within the precision of real numbers on the computer), and not an approximation (Bezier's function approximating a function P on a surface in a 4D space may be written as P (x, y, z, t)=τhijklmno(hl)(1−x)l-hxh(im)(1−y)m-iyi(jn)(1−z)n-jzj(ko)(1−t)o-ktkPhijk, where h,i,j,k are dummy indices running from 0 to l,m,n,o, respectively; l,m,n,o are the maximum values of indices h,i,j,k in the x, y, z, and t directions, respectively; Phijk, is a value of a quantity at position approximated by the Bezier function at coordinates xh,yi,zj,tk). Thus, applying the Lorenz condition to the boundary point of interest gives the derivative of the normal component in the normal direction as,

(∂/∂x)Ax=(∂/∂y)Ay−(∂/∂z)Az−(∂/∂t)At 

exactly, at every boundary point. The value of (∂/∂x)Ax is the same thing as ex·(∂A/∂x), just in a different notation; which in turn is the same thing as n·(∂nA), just in yet another different notation. Finally, now that this scalar quantity n·(∂nA) is known, one can multiply n·(∂nA) by the known vector n, giving n n·(∂nd).
The 4 still-unknown components may be determined as follows. Good approximations to the desired boundary functions for the normal component of the potential n n·A and the tangential components of the normal derivatives of the potential n n(∂nA) may be defined by choosing functional forms that depend on a finite number of parameters, and then applying Green's 3rd Identity to write constraints on the parameters that determine the values of the parameters. For example, the boundary may be covered with triangular patches having a total of V vertices, and for each component, a functional form is chosen that is a simple linear function of position on each triangle, with parameters given by the values of the normal component of the potential n n·A and the tangential components of the normal derivative of the potential n(∂nA) at the vertices of the triangles. Then Green's 3rd Identity is applied to each vertex, resulting in 4V scalar equations that can be solved for these 4V values of the normal component of the potential n n·A and the tangential components of the normal derivative of the potential n n(∂nA) at the V vertices.
Solving the 4V scalar equations results in functions having a functional forms results in an electromagnetic field F=∇A that may be discontinuous at the boundaries between the triangular patches. The discontinuities between the patches can be removed by using smooth, though more complex, functional forms for the normal component of the potential n n·A and the tangential components of the normal derivative of the potential n n(∂nA), such as a Bezier functions with continuous tangential derivatives across edges of patches.
In summary, in step 1302, the basis functions are chosen according to the following:
a) In substep 1304, the 3 tangential components of the potential n nA at the boundary are specified exactly at every boundary point (e.g., as input to the problem), then in substep 1306 the value of normal component of the normal derivative of the potential n·∂nA is computed exactly at every boundary point based on the Lorenz condition. The values of tangential components of the potential n nA and normal component of the normal derivative of the potential n n·∂nA determine exactly the corresponding solution that satisfies both the wave equation and the Lorenz condition throughout the region enclosed by the boundary.
b) However, although the values of tangential components of the potential n nA and normal component of the normal derivative of the potential n n·∂nA at the boundaries determine the exact solution at all enclosed points, values of the basis functions at the enclosed points cannot be easily computed until the values of the remaining 4 boundary components, the normal component of the potential n n·A and the tangential components of the normal derivative n(∂nA) are known. Accordingly in substep 1308, parameters for a parameterized representation of the values of the normal components of the potential n nA and tangential components of the normal derivative n n(∂nA) are determined so that each of the 4 components of Green's 3rd Identity is exactly satisfied at V boundary points. In other words, the remaining 4 boundary components of n nA and n n(∂nA) are computed by representing the remaining 4 boundary components n n·A and n n(∂nA) with 4V parameterized functions and then determining optimal values of the parameters by choosing the parameters so that each of the 4 components of Green's 3rd Identity (ai[r]=∫(∂ng[r−r′]ai[r]−g[r−r′]∂nai[r′])3r,) is exactly satisfied at V boundary points. In other words, using the choice of ai[r] for the interior of the region, the components the normal derivative of the potential basis function, n n·(∂n ai), the choice of the tangential components of the potential n nai on the boundary, the tangential components of the normal derivatives of the potential n n(∂n ai) and the normal component of the potential n n·ai can be solved for.
Two notes regarding step 1302 are as follows. The normal component of the potential, n n·A, will generally be discontinuous across a boundary, while a fundamental physical assumption is that the potential is continuous everywhere in spacetime. This discontinuity, however, can be removed by choosing a different gauge as follows.
In substep 1310, to remove the discontinuity in the normal component of the potential n n·A, a gauge transformation to A′=A+∇χ is performed to the potential on one side of the boundary, with the scalar χ chosen so that the normal component of the normal derivative of the scalar n·∇χ equals the difference between the normal components of the potential n·(A1−A2) between the original values of the normal component of the potential n·A on the two sides, 1 and 2, of the boundary (or n·∇χ=n·(A1−A2)). Then, in order for the tangential components of potential in the new gauge A′ to remain continuous, the tangential components of the gradient of the scalar χ is set to 0 at the boundary,—in other words the relationship n n∇χ=0 is maintained at the boundary.
One could choose a gauge such that ∇·A′=n·(A[1]−A[2]) to remove the discontinuity in the potential. However, the gauge ∇·A′=n·(A[1]−A[2]) would not be consistent with using the Lorenz gauge at the boundaries. Applying either gauge transformation, since ∇∇χ=0, A and A′ will give the same result for the electric and magnetic field, since F=∇ A=∇A′.
Also note that all basis functions calculations for any one region and associated boundary are more conveniently computed by using the “media” quantities Am and ∇m that correspond to the physical potential A and derivative ∇, the media quantities are simple linear functions of the physical potential A and derivative ∇, that depend only on the 4-velocity of the medium and the electric and magnetic polarizabilities of the medium.
Possible Implementation Details for Step 1302
There are various ways that details of Step 1302 may be implemented. One group of methods uses Bezier techniques to represent boundaries and fields on the boundaries. Possible variations of Bezier techniques of increasing complexity and accuracy are listed below.
There are various ways that details of Step 1302 may be implemented. One group of methods uses Bezier techniques to represent boundaries and fields on the boundaries. Possible variations of Bezier techniques of increasing complexity and accuracy are listed below.
(1) In one embodiment, the boundary may be represented by linear Beziers (flat triangles), and use true normals to each triangle. Also the potential A and the normal derivative of the potential ∂nA by linear Beziers. However, this embodiment, may result in discontinuous F and numerical inaccuracies, and singularities in A due to singularities in tangential derivatives of boundary points.
(2) In another embodiment, with improved basis functions, instead of representing ∂nA by linear Beziers, i.e., linear functions of position on each triangle, functions that are still simple but more closely approximate the diverging normal derivatives at the edges and vertices. For example, a 2D solution to the Laplace equation may represent each ∂nA basis function at and near edges.
(3) In another embodiment, the boundary is represented by linear Beziers (flat triangles), but the normals to the triangular surface are not constant on each triangle but rather are set equal to a linear interpolation between vertices, represented also by linear Beziers. Then also the potential A and the normal derivative of the potential ∂nA are represented by linear Beziers. Also the basis function components of the potential A and the normal derivative of the potential ∂nA are defined at triangle points (that is at the vertices of the triangles) by rotating the vector values of the basis function at the associated vertex, by the same rotation that transforms the vertex normal to the local triangle normal. Using non-constant normals results in discontinuous F and numerical inaccuracies, but no singularities in A.
In another embodiment, the boundary is represented by cubic Beziers that are continuous everywhere but with normals that are continuous only at the vertices. Then the potential A and normal derivative of the potential ∂nA that are represented with linear Beziers are continuous everywhere, but may have discontinuous first derivatives at edges of the triangular boundary patches and the electromagnetic field F may be discontinuous at these edges. The potential A is easily determined by requiring that Greens 3rd Identity and the Lorenz condition are satisfied at vertices.
(5) In another embodiment, the boundary is represented by cubic G1 (“Generally continuous 1st derivatives”) Beziers, n nA is represented by cubic G1 Beziers, n n·A is represented by linear G0 (“Generally continuous 0th derivatives—i.e., continuous function) Beziers, ∂nA by linear G0 Beziers.
In step 1312, scalar parameters ci are chosen to form a linear combination ci ai of the scalar parameters ci times space-time vector potential basis functions ai determined by step 1302 are chosen that extremize the integral of the Lagrangian over all boundary points. This linear combination gives the desired boundary quantities.
To elaborate further regarding step 1312, after characterizing and finding basis functions as described in Step 1302 above, the second step is simple. A linear combination of parameters times basis functions are used as an Ansatz for the solution that extremizes the action. The parameters of the basis function are found by solving the set of linear equations that result from taking derivatives of the action with respect to the parameters and setting the derivatives of the action integral to zero. The resulting set of equations is linear in the parameters, with coefficients equal to integrals over the boundary, with each integrand given by values and normal derivatives of potential basis functions on the boundary as found in Step 1302.
The result of solving for the coefficients is a numerical approximation to the potential A and the normal derivatives of the ∂nA on boundaries, whose accuracy will depend on the choice of parameterizable functions used for the values of the potential A and the normal derivatives of the potential ∂nA on the boundaries.
Applications
The system and method may be used to design the shape, placement, and materials for magnetic recording write heads, antenna, the core of a transformer, the core of electromagnets, permanent magnets, and/or electromagnets for generators, and/or transmission lines, electric conductors and electronic components in larger assemblies such as computers and cell phones, microwave devices, and optical devices, including optical and electro-optical integrated circuits.
Alternatives and Extensions
Each embodiment disclosed herein may be used or otherwise combined with any of the other embodiments disclosed. Any element of any embodiment may be used in any embodiment.
Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the essential teachings of the invention.

## Claims

1. A method comprising:
determining, by a machine, basis potential functions that extremize an integral of an electromagnetic Lagrangian over nonboundary points, but that do not, necessarily, extremize the integral of the Lagrangian over boundary points, the machine including a processor system having one or more processors and a memory system;
determining, by the processor system, scalar parameters ci of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over boundary points; and
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination.

2. The method of claim 1, the determining of the basis functions includes selecting, by the machine, the basis potential functions ai by requiring the basis functions ai be such that for any set of parameters ci, the linear combination A=ciai satisfies an equation at all non-boundary points, which using geometric algebra notation is expressed as


∇·G−J=0

where G is a function of the field F=∇ΛA, J is a volume current density,
and ∇· the inner product of the vector derivative with the function being operated upon,
without requiring the basis functions ai to satisfy


∫s(ai·(n·ΔG−K)r=0


for any set of parameters ci, where S is the 3D boundary in 4D space-time across which the derivative F of the potential A and therefore G may be discontinuous, unit vectors n are normal to S, K is a surface current density, and ΔG=G(1)-G(2), where G(1) is a value of the field G on one side of
boundary of a computational region and G(2) is a value of the field G on another side of the boundary of the computational region.

3. The method of claim 1, the determining of the basis functions includes at least determining, by the machine, basis functions that satisfy a Lorenz condition at non-boundary points.

4. The method of claim 1 the determining of the basis functions includes at least determining, by the machine, basis functions that satisfy an electromagnetic wave equation and a Lorenz condition at non-boundary points.

5. The method of claim 1, the determining of the basis functions includes at least determining, by the machine, the basis function from three space-time tangential components nΛA of the potential A and a normal component n n·(∇nA)of a normal Derivative ∇nA at points on at least one boundary of at least one computation region, the normal being perpendicular to a surface of the at least one boundary.

6. The method of claim 1, the determining of the basis functions includes at least determining, by the machine, a normal component of the normal derivative of the potential basis function, n n·(∇nA) that satisfy a Lorenz condition, ∇m·Am=0, on a boundary of the computational region, the normal being perpendicular to a surface of the boundary.

7. The method of claim 1, the determining of the basis functions includes at least determining, by the machine, a value for a normal component of a derivative along a normal of the potential basis function, n n·(∇nA), based on values of tangential components of the potential n nΛA on the boundary, the normal being perpendicular to a surface of the boundary.

8. The method of claim 1, the determining of the basis functions includes at least
determining an approximation to values at the boundary of functions giving a normal component of a potential n n·A and tangential components of a derivative along the normal of the potential n nΛ( ∇nA)by choosing functional forms that depend on a finite number of parameters, and
determining, by the machine, values for the parameters by applying Green's 3rd Identity, the normal being perpendicular to a surface of the boundary.

9. The method of claim 1, the determining of the basis functions includes at least determining, by the machine, a functional form for each component of a potential that is normal to a surface of the boundary n n·A and of tangential components of a derivative of the potential along a normal, n nΛ(∇nA), based on a boundary that is covered with triangular-_patches having a total of V vertices, the functional form being a linear function of the scalar parameters, with the parameters given by the values of the normal components of the potential n n·A and tangential components of derivative along the normal of the potential n nΛ(∇nA) at the vertices of the triangles, the normal being perpendicular to a surface of the boundary.

10. The method of claim 9, the determining of the basis functions further includes at least applying, by the machine, Green's 3rd Identity to each vertex, and solving a resulting 4V scalar equations for 4V values of n n·A and n nΛ(∇nA) at the V vertices.

11. The method of claim 1, further comprising: smoothing, by the machine, an electromagnetic field F=∇ΛA computed based on the basis functions determined during the determining of the basis functions.

12. The method of claim 1, the determining of the basis functions includes at least
determining, by the machine, 3 components n nΛA at boundary points;
determining, by the machine, values of n n·∇nA at boundary points based on a Lorenz condition and the components of n nΛA;
determining, by the machine, components of n n·A and n nΛ(∇nA) at the boundary by at least determining parameters for a parameterized representation of the values of n n·A and n nΛ(∇nA)so that each of the 4 components of Green's 3rd Identity is satisfied at V boundary points.

13. The method of claim 1, the determining of the basis functions includes at least removing, by the machine, a discontinuity in a normal component of the potential, n n·A.

14. The method of claim 1, the removing of the discontinuity includes at least, applying, by the machine, a different gauge transformation A′=A+∇χ, χ is a scalar function, A is a potential in a particular gauge, and A′ is the potential after the gauge transformation, performed for the potential on one side of the boundary of the computational region, where χ is determined so that normal components of gradients of the scalar n·∇χ equals a difference of normal components of the potential n·(A1-A2)between values of normal components of the potential n·A on the two sides, 1 and 2, of the boundary of the computational region.

15. The method of claim 14, the removing of the discontinuity includes at least determining, by the machine, a value of a scalar function χ that satisfies a relationship, requiring tangential components of the scalar χ to be 0, n nΛ∇χ=0, at the boundary of the computational region.

16. The method of claim 1, further comprising representing, by the machine, position values of boundary points represented by Bezier surfaces that are continuous and with normals that are continuous at the vertices, therein resulting in A.

17. The method of claim 1, further comprising representing, by the machine, position values of boundary points by Bezier surfaces that are continuous where that two volumes meet, without requiring the Bezier surfaces to have normals that are continuous at a meeting between two or more Bezier surfaces between the volumes, but are continuous elsewhere.

18. The method of claim 1, further comprising representing, by the machine, potential values at boundary points, by Beziers, the Beziers, that represent the potential values at boundary points, being required to be continuous where that two volumes meet, having vector derivatives that are continuous on each side of a boundary patch without requiring the Beziers to be smooth at a meeting between two or more Bezier surfaces between volumes.

19. A method comprising:
displaying a user interface having one or more fields for inputting parameters of an electromagnetic system, the machine including a processor system having one or more processors and a memory system;
receiving, at the machine, parameters of materials that make up of the system;
receiving at the machine, parameters indicating locations of boundaries between different regions having different material parameters;
determining, by the machine, basis potential functions that individually extremize an integral of an electromagnetic Lagrangian over nonboundary points;
determining, by the processor system, scalar parameters ci, of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over boundary points, where computations performed to determine the scalar parameters are performed on the integral of the Lagrangian over the boundary points;
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination; and
returning, by the machine, a representation of the electromagnetic quantities of interest for the parameters of the electromagnetic system.

20. A method comprising:
displaying a user interface having one or more fields for inputting parameters of an electromagnetic system, the machine including a processor system having one or more processors and a memory system;
receiving, at the machine, parameters of materials that makeup a magnet within an electromagnetic system;
receiving at the machine, parameters indicating locations of boundaries of the magnet;
determining, by a machine, basis potential functions that extremize an integral of an electromagnetic Lagrangian over nonboundary points, the determining of the basis functions being performed by requiring the basis functions individually extremize the integral of the electromagnetic Lagrangian over nonboundary points without requiring the basis function to extremize the Lagrangian over boundary points, the machine including a processor system having one or more processors and a memory system;
determining, by the processor system, scalar parameters ci of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over the boundary points, where computations performed to determine the scalar parameters are performed on the integral of the Lagrangian over the boundary points;
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination;
determining a shape of a magnet within an electromagnetic device, based on the determining of the electromagnetic quantities of interest; and
building the magnet having the shape determined.

21. A method comprising:
displaying a user interface having one or more fields for inputting parameters of an electromagnetic system, the machine including a processor system having one or more processors and a memory system;
receiving, at the machine, parameters of materials that makeup a magnet within an electromagnetic system;
receiving at the machine, parameters indicating locations of boundaries of the magnet;
determining, by a machine, basis potential functions that extremize an integral of an electromagnetic Lagrangian over nonboundary points, the determining of the basis functions being performed by requiring the basis functions individually extremize the integral of the electromagnetic Lagrangian over nonboundary points without requiring the basis function to extremize the Lagrangian over boundary points, the machine including a processor system having one or more processors and a memory system;
determining, by the processor system, scalar parameters ci of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over boundary points, where computations performed to determine the scalar parameters are performed on the integral of the Lagrangian over the boundary points;
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination;
determining a material of a magnet within an electromagnetic device, based on the determining of the electromagnetic quantities of interest; and
building the magnet having the material determined.

22. A method comprising:
displaying a user interface having one or more fields for inputting parameters of an electromagnetic system, the machine including a processor system having one or more processors and a memory system;
receiving, at the machine, parameters of materials that makeup the electromagnetic system, which include an antenna within an electromagnetic system;
receiving at the machine, parameters indicating locations of boundaries of the electromagnetic system having the antenna;
determining, by a machine, basis potential functions that extremize an integral of an electromagnetic Lagrangian over nonboundary points, the determining of the basis functions being performed by requiring the basis functions individually extremize the integral of the electromagnetic Lagrangian over nonboundary points without requiring the basis function to extremize the Lagrangian over boundary points, the machine including a processor system having one or more processors and a memory system;
determining, by the processor system, scalar parameters ci of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over boundary points, where computations performed to determine the scalar parameters are performed on the integral of the Lagrangian over the boundary points;
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination;
determining a shape of an antenna based on the determining of the electromagnetic quantities of interest; and
building the antenna having the shape determined.

23. A method comprising:
displaying a user interface having one or more fields for inputting parameters of an electromagnetic system, the machine including a processor system having one or more processors and a memory system;
receiving, at the machine, parameters of materials that makeup electrical components within an electromagnetic system;
receiving at the machine, parameters indicating locations of boundaries of the electrical components;
determining, by a machine, basis potential functions that extremize an integral of an electromagnetic Lagrangian over nonboundary points, the determining of the basis functions being performed by requiring the basis functions individually extremize the integral of the electromagnetic Lagrangian over nonboundary points without requiring the basis function to extremize the Lagrangian over boundary points, the machine including a processor system having one or more processors and a memory system;
determining, by the processor system, scalar parameters ci of a linear combination A=ci ai of space-time vector potential basis functions ai that extremize the integral of the Lagrangian over boundary points, where computations performed to determine the scalar parameters are performed on the integral of the Lagrangian over the boundary points;
determining, by the machine, electromagnetic quantities of interest from the scalar parameters determined during the determining of the scalar parameters and from the linear combination;
determining an arrangement of electrical components within an assembly of electrical components based on the determining of the electromagnetic quantities of interest; and
building the assembly of electrical assembly having the placement of electrical components.

24. The method of claim 9, the triangular patches not being flat.