Abstract:
Methods and systems for magnetostatic modeling of a magnetic object is disclosed. A varying surface charge density is established at a surface of a magnetic object modeled by a magnetostatic model. Thereafter, a varying magnetic charge is generally distributed throughout a volume of the magnetic object to thereby accurately and efficiently model the magnetic object across a wide range of magnetic curves utilizing the magnetostatic model. The magnetic curves can be configured to generally comprise at least one non-linear magnetic curve and/or least one linear magnetic curve. Such magnetic curves may also comprise at least one magnetic curve in a magnetized direction and/or non-magnetized direction. Such magnetic curves are generally referred to as “BH curves”.

Description:
TECHNICAL FIELD 
   The present invention is generally related to magnetostatic modeling methods and systems. The present invention is also related to methods and systems for modeling magnetic and ferrous objects. The present invention is additionally related to boundary element modeling methods and systems. 
   BACKGROUND OF THE INVENTION 
   The energy present in a magnetostatic structure has been used in a wide range of applications, including magnetic sensors utilized in a variety of technical and commercial applications, including in particular, automotive applications. The generation of a voltage in a conductor by the changing of a magnetostatic structure or the movement of a magnetostatic structure relative to the conductor is a well-known concept. The aforementioned conductors commonly use a permanent magnet made of electrically conducting metal. 
   In the development of magnetic sensors, it is often necessary to create various types of magnetic sensor data processing algorithms and systems capable of localizing, quantifying, and classifying such objects based on their magnetostatic fields. In general, a magnetostatic field may be generated by any combination of three physical phenomena: permanent or remanent magnetization, magnetostatic induction, and electromagnetic induction. The first phenomena can occur in objects that contain metals of the ferromagnetic group, which includes iron, nickel, cobalt, and their alloys. These may be permanently magnetized either through manufacture or use. Second, fields external to the object may induce a secondary field in ferromagnetic structures and also paramagnetic structures if the mass and shape sufficiently enhance the susceptibility. Third, the object may comprise a large direct current loop that induces its own magnetic field. 
   Many of the current magnetostatic modeling methods applicable to magnetic sensor development rely upon boundary element modeling software. Such software generally utilizes both direct and indirect boundary element methods as well as finite element methods to accurately model magnetic properties of various structures/solids and their interaction with surrounding components. The boundary element method has become an important technique in the computational solution of a number of physical problems. In common with the better-known finite element method and finite difference method, the boundary element method is essentially a mathematical and algorithmic technique that can be utilized to solve partial differential equations. Boundary element techniques generally have earned the important distinction that only the boundary of the domain of interest requires discretisation. For example, if the domain is either the interior or exterior to a sphere, then the resulting diagram will depict a typical mesh, and only the surface is generally divided into elements. Thus, the computational advantages of the boundary element technique over other methods can be considerable, particularly in magnetic modeling applications. 
   One particular modeling software and its associated algorithms and software modules that have been utilized by the present inventor at Honeywell is referred to collectively as “Narfmm”. Such magnet models generally have always assumed a relative permeability (i.e., μ in units of Gauss/Oersted) equal to one. This assumption results in magnet models with “magnetic charge” residing only on the surface of the magnet. This is a good approximation for magnet materials such as sintered SmCo and NdFeB that have μ between 1 and 1.1. For magnet materials, however, with a greater μ, such as NdFeB powder in plastic with μ equal to 1.3, assuming μ equal to one, large errors typically can result. Also for nonlinear BH curve materials, such as AlNiCo, magnetostatic models such as Narfmm models can result in a substantial error. For ferrous objects, magnetostatic models such as Narfmm generally assume infinite permeability, which forces the “magnetic charge” to reside only on the surface of the ferrous object. If this is not a good assumption, software models such as Narfmm models have been inadequate. 
   Based on the foregoing, the present inventor has concluded that a more accurate model for magnets and ferrous objects should have a varying surface charge density at the magnetic object surface and also a varying magnetic charge distributed throughout the volume of the magnetic object. The present invention thus improves modeling accuracy by describing a method for modeling magnets and ferrous objects, which have any defined BH curve within modeling methods, such as, for example, the Narfmm software, thereby eliminating prior art limitations. 
   BRIEF SUMMARY OF THE INVENTION 
   The following summary of the invention is provided to facilitate an understanding of some of the innovative features unique to the present invention and is not intended to be a full description. A full appreciation of the various aspects of the invention can be gained by taking the entire specification, claims, drawings, and abstract as a whole. 
   It is, therefore, one aspect of the present invention to provide a method and system for accurately and efficiently modeling a magnetic object. 
   It is another aspect of the present invention to provide a method and system for accurately and efficiently modeling a ferrous object. 
   It is yet another aspect of the present invention to provide an improved magnetostatic modeling method and system. 
   It is still another aspect of the present invention to provide an improved magnetostatic modeling method and system for use with boundary element modeling. 
   Methods and systems for magnetostatic modeling of a magnetic object are disclosed herein. A varying surface charge density is established at a surface of a magnetic object modeled by a magnetostatic model. Thereafter, a varying magnetic charge is generally distributed throughout a volume of the magnetic object to thereby accurately and efficiently model the magnetic object across a wide range of magnetic curves utilizing the magnetostatic model. The magnetic curves can be configured to generally comprise at least one non-linear magnetic curve and/or at least one linear magnetic curve. Such magnetic curves may also comprise at least one magnetic curve in a magnetized direction and/or non-magnetized direction. Such magnetic curves are generally referred to herein as “BH curves”. 
   The magnetostatic model may be created using a magnetostatic-modeling module (e.g., software) such as, for example, boundary element-modeling module software. The magnetic object to be modeled can be a magnet or another ferrous object. The magnetic object to be modeled can also be an anisotropic magnet. The magnetostatic modeling methods and systems described herein can be applied to magnets with a large μ, such as NdFeB-based magnets and non-linear BH curve materials such as AlNiCo, or to any value of μ. The present invention thus discloses a method and system for accurately and efficiently modeling magnets and ferrous objects, which have any defined BH curve with a magnetostatic model such as can be derived from magnetostatic-modeling software. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention. 
       FIG. 1  depicts a graph illustrating a BH curve of a magnet and BH curve of magnet elements, in accordance with a preferred embodiment of the present invention; 
       FIG. 2  depicts a graph illustrating a BH curve of a magnet and a BH curve of magnet elements in a magnetized Z-direction, in accordance with a preferred embodiment of the present invention; 
       FIG. 3  depicts a graph illustrating a BH curve of a magnet and a BH curve of magnet elements in a non-magnetized direction, in accordance with a preferred embodiment of the present invention; 
       FIG. 4  depicts a graph illustrating a BH curve of a magnet and a BH curve in the magnetized Z-direction of the magnet to be modeled, in accordance with a preferred embodiment of the present invention; 
       FIG. 5  depicts a graph illustrating a BH curve of a magnet and a BH curve of magnet elements in a non-magnetized X-direction, in accordance with a preferred embodiment of the present invention; 
       FIG. 6  depicts a first iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention; 
       FIG. 7  depicts a second iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention; 
       FIG. 8  depicts a third iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention. 
       FIG. 9  illustrates a pictorial representation of a data processing system, which may be utilized in accordance with the method and system of the present invention; and 
       FIG. 10  depicts a block diagram illustrative of selected components in a computer system, which can be utilized in accordance with the method and system of the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate an embodiment of the present invention and are not intended to limit the scope of the invention. 
     FIG. 1  illustrates a graph  100  illustrating a BH curve  102  of a magnet and BH curve  104  of magnet elements, in accordance with a preferred embodiment of the present invention. BH curve  102  is a BH curve of a magnet to be modeled, according to Eq. (1) B=α·H+B r  wherein α=B r /H c . BH curve  104  represents a BH curve for an n th  magnet element based on the formulation of B=H+M n  such that an intersection point  106  exists between BH curve  102  and BH curve  104 . The intersection point  106  is equal to (B n , H n ), wherein B n  represents the magnetic flux density at the n th  magnet element (Gauss), and H n  represents the magnetic field intensity at the n th  magnet element (Oersted). BH curve  102  generally crosses axis  110  at point  114  (i.e., B r ), and the axis  112  at point  118  (i.e., −H c ). BH curve  104  crosses axis  110  at point  116  (i.e., M n ). In general, the magnet to be modeled has a BH curve  102  as shown in  FIG. 1  and Equation (1).
   B=α·H+B   r    (1) 
   In general, B represents the magnetic flux density (Gauss); α represents the slope of the line and also the μ of the magnet (Gauss/Oersted); H represents the magnetic field intensity (Oersted); and B r  represents the residual induction (Gauss). H c  represents the coercive force (Oersted). In this model the μ variable is generally equal to the α variable only in the magnetized direction. The variable μ in the non-magnetized direction is equal to unity. 
   The magnet volume is generally divided into volume elements. Each n th  volume element is itself a magnet that will be modeled with a standard magnet model such as Narfmm with a BH curve shown  104  in  FIG. 1  and equation (2).
 
 B=H+M   n   (2)
 
   Note that although the present invention is discussed and illustrated herein with respect to a standard magnetostatic modeling software package such as Narfmm, those skilled in the art can appreciate that such a magnetostatic modeling mechanism or module is not a limiting feature of the present invention but represents an illustrative example only of one modeling system to which the present invention may apply. Narfmm is thus presented herein for general illustrative and edification purposes only, and other modeling software packages or methodologies can be employed. 
   With respect to Equation (2), B represents the magnetic flux density (Gauss); H represents the magnetic field intensity (Oersted); and M n  represents the residual induction of the n th  magnet element (Gauss). 
   In order to model the magnet, the value of M n  for each n th  volume element is determined. Each magnet element will lie somewhere on the actual BH curve line  102  shown in  FIG. 1  with respect to Equation (1). The magnet element can be modeled with the μ equal to one BH curve as determined in Equation (2) if the proper M n  can be determined. If the intersection point  106  (B n ,H n ) is known, M n  can be determined as shown in Equation (3), since the slope is equal to one.
 
 M   n   =B   n   −H   n    (3)
 
   With respect to Equation (3), once all of the M n  results are known, a standard Narfmm magnet model (i.e., modeling software) can be used for each magnet element, summing all of the magnet elements&#39; contributions through superposition to obtain the magnetic field from the whole magnet. The standard Narfmm magnet model refers to a magnet model wherein the magnetic charge resides completely on the surface of the magnet element, which is easier to model in comparison to a distribution throughout the volume. 
   The defining relation for the flux density inside a magnet with μ equal to one is:
 
 B=μ·H+M+B   e    (4)
 
   With respect to Equation (4), B represents the magnetic flux density (Gauss); μ represents the relative permeability, which is equal to one (Gauss/Oersted); H represents the magnetic field strength (Oersted); M represents the residual magnetic induction (Gauss); and B e  represents the magnetic flux density from sources external to the magnet (Gauss). 
   For the n th  magnet volume element, using Equation (4) and replacing μ with 1, Equation (5) results as indicated below.
 
 B   n   =H   n   +M   n   +B   en    (5)
 
   With respect to Equation (5), B en  represents the magnetic flux density in the magnetized direction on magnet element n from the other magnet sources external to the magnet element (Gauss). Note that the center of the magnet volume element is used as the field point to determine the BH curve&#39;s intersection point in all equations. The larger the number of magnet elements, the smaller the element size, and the smaller the error associated with subdividing the magnet into a finite number of sections. Any arbitrary level of accuracy can be obtained by increasing the number of magnet elements to the proper level. 
   Additionally, H n  can be expressed in normalized terms as indicated in Equation (6) below.
 
 H   n   =M   n   ·H   Nn    (6)
 
   With respect to Equation (6), H Nn  generally represents the normalized H in the magnetized direction at the center of the n th  magnet element (Oersted/Gauss). 
   H Nn  is calculated with the standard Narfmm magnet equations by letting the residual induction be equal to unity. 
   
     
       
         
           
             
               
                 
                   B 
                   en 
                 
                 = 
                 
                   
                     ∑ 
                     
                       
                         m 
                         = 
                         1 
                       
                       
                         m 
                         ≠ 
                         n 
                       
                     
                     P 
                   
                   ⁢ 
                   
                     
                       M 
                       m 
                     
                     · 
                     
                       B 
                       Nmn 
                     
                   
                 
               
             
             
               
                 ( 
                 7 
                 ) 
               
             
           
         
       
     
   
   With respect to Equation (7), P represents the total number of magnet elements; and B Nmn  represents the normalized magnetic flux density from magnet element m to magnet element n in the magnetized direction (unitless). B Nmn  is calculated with the standard Narfmm magnet equations by letting the residual induction of magnet element m be equal to unity. Thus, substituting Equation (6) and Equation (7) into Equation (5) yields the formulation of Equation (8), as indicated below. 
   
     
       
         
           
             
               
                 
                   B 
                   n 
                 
                 = 
                 
                   
                     
                       M 
                       n 
                     
                     · 
                     
                       H 
                       Nn 
                     
                   
                   + 
                   
                     M 
                     n 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       
                         M 
                         m 
                       
                       · 
                       
                         B 
                         Nmn 
                       
                     
                   
                 
               
             
             
               
                 ( 
                 8 
                 ) 
               
             
           
         
       
     
   
   Combining Equation (1) and Equation (2) to determine the intersection point of the two BH curve lines, and solving for B n  yields the following Equation (9). 
   
     
       
         
           
             
               
                 
                   B 
                   n 
                 
                 = 
                 
                   
                     
                       B 
                       r 
                     
                     - 
                     
                       α 
                       · 
                       
                         M 
                         n 
                       
                     
                   
                   
                     ( 
                     
                       1 
                       - 
                       α 
                     
                     ) 
                   
                 
               
             
             
               
                 ( 
                 9 
                 ) 
               
             
           
         
       
     
   
   Combining Equation (8) and Equation (9) to eliminate B n  yields Equation (10). 
   
     
       
         
           
             
               
                 
                   
                     
                       B 
                       r 
                     
                     - 
                     
                       α 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         M 
                         n 
                       
                     
                   
                   
                     ( 
                     
                       1 
                       - 
                       α 
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       M 
                       n 
                     
                     · 
                     
                       H 
                       Nn 
                     
                   
                   + 
                   
                     M 
                     n 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       
                         M 
                         m 
                       
                       · 
                       
                         B 
                         Nmn 
                       
                     
                   
                 
               
             
             
               
                 ( 
                 10 
                 ) 
               
             
           
         
       
     
   
   In Equation (10) there are P equations with P unknowns. The P unknowns are M n . A linear set of equations results from Equation (10) that can be transformed into matrix form as shown in Equation (11).
 
Ψ×Φ=Γ  (11)
 
   With respect to Equation (11), ψ represents a P×P matrix of known values. φ represents a P×1 matrix, with elements M 1  through M p              represents a P×1 matrix of known values.
   To solve for the variable M n  for use in the magnet model, a solution for φ is achieved, as illustrated in Equation (12) below.
 
Φ=Ψ −1 ×Γ  (12)
 
   The diagonal elements of ψ are provided in Equation (13). 
   
     
       
         
           
             
               
                 
                   Ψ 
                   nn 
                 
                 = 
                 
                   
                     H 
                     Nn 
                   
                   + 
                   1 
                   + 
                   
                     α 
                     
                       1 
                       - 
                       α 
                     
                   
                 
               
             
             
               
                 ( 
                 13 
                 ) 
               
             
           
         
       
     
   
   The off diagonal elements of ψ are provided in Equation (14).
 
Ψ nm   =B   Nmn  for  m≠n    (14)
 
   In Equation (13) and Equation (14), the subscript index on ψ indicates the row and column number of the matrix respectively. Each element of             is the same and is provided in Equation (15).
   
     
       
         
           
             
               
                 
                   Γ 
                   n 
                 
                 = 
                 
                   
                     B 
                     r 
                   
                   
                     1 
                     - 
                     α 
                   
                 
               
             
             
               
                 ( 
                 15 
                 ) 
               
             
           
         
       
     
   
     FIG. 1  thus generally illustrates and describes a method that can be utilized to model magnets with a constant μ greater than one in modeling software, such as, for example, Narfmm. Those skilled in the art can appreciate that the Narfmm software discussed herein is not a limiting feature of the present invention. Such software is only described herein in the context of a representative embodiment in which the present invention may preferably be embodied. Those skilled in the art will appreciate, however, that the methodology described herein is applicable to a wide variety of modeling software applications. 
   This aforementioned modeling methodology can be utilized to model block magnets, but it can be adapted for use with any magnet of any shape or size. Also, such a methodology allows μ greater than one only in the magnetized direction. Off the magnetization axis, μ is one. However the same principles can apply in order to create a model with μ greater than one in the other two orthogonal directions. With respect to the implementation described with respect to  FIG. 1 , the volume magnetic charges are represented by rectangles of constant charge density. To decrease computation time, the volume poles can be represented with point charges for most applications. This methodology can be adapted to more complex BH curves, such as AlNiCo magnets, which have BH curves that can be closely approximated with a second order polynomial such as indicated in Equation (16) below.
 
 B=β·H   2   +α·H+B   r    (16)
 
   The same basic approach discussed above can be utilized to set up the P equations and P unknowns by replacing Equation (1) with Equation (16). However, the solution cannot be placed into the form of Equation (12), so another mathematical or numeric method is required to solve for M in that case. Magnets having BH curves such as those resulting from Equation (16) can be addressed using the methodology following Equation (32). 
     FIG. 2  depicts a graph  200  depicting a BH curve  202  of a magnet and a BH curve  204  of magnet elements in a magnetized Z-direction, in accordance with a preferred embodiment of the present invention. Graph  200  also includes an axis  210  and an axis  212 . BH curve  202  represents the actual BH curve in the magnetized Z-direction of a magnet to be modeled. BH curve  202  is modeled according to the formulation B=α z ·H z +B rz  wherein α z =B r /H c . BH curve  204  represents a BH curve for an n th  magnet element in the Z-direction based on the formulation of B z =H z +Mz zn  such that an intersection point  206  (i.e., B zn  H zn ) exists between BH curve  102  and BH curve  104 . BH curve  202  crosses axis  210  at point  214  (i.e., B rz ) and axis  212  at point  218  (i.e., −H c ). BH curve  204  crosses axis  210  at point  216  (i.e., M zn ). Point  220  represents originating coordinates (0,0) of graph  200 . 
     FIG. 3  illustrates a graph  300  illustrating a BH curve  306  of a magnet and a BH curve  302  of magnet elements in a non-magnetized direction, in accordance with a preferred embodiment of the present invention. Graph  300  includes an axis  310  and an axis  312  and originating point  320  with coordinates of (0,0). According to graph  300 , B rx =0, as shown at point  320 . BH curve  302  represents a BH curve for the n th  magnet element in the X direction, wherein B x =H x +M n . BH curve  306 , on the other hand, represents the actual BH curve of the magnet to be modeled in a non-magnetized X direction, wherein B x =α x ×H x . An intersection point  304  exists between BH curve  302  and BH curve  306  wherein the intersection point is equal to (B nx , H nx ). BH curve  302  crosses axis  310  at point  316 , while BH curve  304  crosses point  320 . 
   As indicated earlier, a method for modeling a magnet with permeability (μ) greater than one in the magnetized direction within modeling software can be implemented in accordance with the methodology of the present invention.  FIGS. 2 and 3  expand on that method by describing a method for modeling a magnet with μ greater than one in both the magnetized and non-magnetized directions. The magnet to be modeled thus has BH curves  202  and  306  as respectively illustrated in  FIGS. 2 and 3  and additionally described with respect to Equation (17) below. Thus, assume the magnet is magnetized in the z direction.
 
 B   x =α x   ·H   x  
 
 B   y =α y   ·H   y  
 
 B   z =α z   ·H   z   +B   rz   (17)
 
   The x, y and z subscripts indicated in Equation (17) above generally denote spatial direction. B represents the magnetic flux density (Gauss). Additionally, α represents the slope of the line, and also the μ of the magnet (Gauss/Oersted). H represents the magnetic field intensity (Oersted), and B r  represents the residual induction (Gauss). 
   The magnet volume is divided into volume elements. Each n th  volume element is itself a magnet that will be modeled with a standard magnet model (e.g., Narfmm) having BH curves  202  and  306  as respectively illustrated in  FIGS. 1 and 2 . The equations are provided in Equation (18).
 
 B   x   =H   x   +M   xn  
 
 B   y   =H   y   +M   yn  
 
 B   z   =H   z   +M   zn   (18)
 
   With respect to Equation (18), B represents the magnetic flux density (Gauss), and H represents the magnetic field intensity (Oersted). The variable M n  represents the residual induction of the n th  magnet element (Gauss). A standard Narfmm magnet volume, for example, includes a constant “magnetic charge” density at the surface of the magnet on the North (positive charge) and South (negative charge) poles. The BH curves thus intersect at the points (B xn ,H xn ), (B yn ,H yn ), (B zn ,Hn zn ), wherein B n  represents the magnetic flux density at the n th  magnet element (Gauss), and H n  represents the magnetic field intensity at the n th  magnet element (Oersted). 
   In order to model the magnet, the values for M xn , M yn  and M zn  for each n th  volume element are determined. Each magnet element will lie somewhere on the actual BH curve line indicated by Equation (17). The magnet element can be modeled with the “μ equal to one BH curve” indicated in Equation (18) if the proper M xn , M yn  and M zn  can be determined. If the intersection points (B xn ,H xn ), (B yn ,H yn ), (B zn ,H zn ) are known; M xn , M yn  and M zn  can be determined, since the slope is equal to one. Equation (19) below thus represents this formulation.
 
 M   xn   =B   xn   −H   xn  
 
 M   yn   =B   yn   −H   yn  
 
 M   zn   =B   zn   −H   zn   (19)
 
   Once the M xn , M yn  and M zn  are known, a standard magnet model (e.g., Narfmm) can be utilized for each magnet element, summing all of the magnet elements&#39; contributions through superposition to obtain the magnetic field from the whole magnet. The defining relation for the flux density inside a magnet with μ equal to one is:
 
 B=μ·H+M+B   e   (20)
 
   With respect to Equation (20), B represents the magnetic flux density (Gauss), and μ represents the relative permeability, which is equal to one (Gauss/Oersted). Additionally, H represents the magnetic field intensity (Oersted), and M represents the residual magnetic induction (Gauss). B e  represents the magnetic flux density from sources external to the magnet (Gauss). 
   For the n th  magnet volume element, Equation (21) can be obtained by using (20) and replacing μ with 1.
 
 B   xn   =H   xn   +M   xn   +B   xen  
 
 B   yn   =H   yn   +M   yn   +B   yen  
 
 B   zn   =H   zn   +M   zn   +B   zen   (21)
 
   B xen , B yen , B zen  are the magnetic flux densities in the indicated direction on magnet element n from the other magnet elements (Gauss). Note that the center of the magnet volume element is used as the field point to determine the BH curve&#39;s intersection point in all equations. The larger the number of magnet elements, the smaller the element size, and the smaller the error associated with subdividing the magnet into a finite number of sections. Any arbitrary level of accuracy can be obtained by increasing the number of magnet elements to the proper level. 
   H xn , H yn , H zn  can be expressed in normalized terms as shown in Equation (22).
 
 H   xn   =M   xn   ·H   xNn  
 
 H   yn   =M   yn   ·H   yNn  
 
 H   zn   =M   zn   ·H   zNn   (22)
 
   With respect to Equation (22), H xNn , H yNn , H zNn  are the normalized H in the indicated direction at the center of the n th  magnet element (Oersted/Gauss). H Nn  is calculated with the standard Narfmm magnet equations by letting the residual induction be equal to unity. B xen , B yen , B zen  can be expressed as a summation, as indicated in Equation (23). 
   
     
       
         
           
             
               
                 
                   
                     B 
                     xen 
                   
                   = 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zxNmn 
                           
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     B 
                     yen 
                   
                   = 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zyNmn 
                           
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                    
                 
                 ⁢ 
                 
                   
                     B 
                     zen 
                   
                   = 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zzNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 23 
                 ) 
               
             
           
         
       
     
   
   With respect to Equation (23), the subscript on the B indicates the sub magnet orientation and the field direction. For example, “yx” on the B refers to a field in x direction from the y facing magnet element. P represents the total number of magnet elements. B Nmn  represents the normalized magnetic flux density from magnet element m to magnet element n in the magnetized direction (no units). B Nmn  is calculated with standard magnet modeling equations (e.g., Narfmm) by letting the residual induction of magnet element m be equal to unity. Substituting Equation (22) and Equation (23) into Equation (21) thus yields Equation (24). 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           B 
                           xn 
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               xn 
                             
                             · 
                             
                               H 
                               xNn 
                             
                           
                           + 
                           
                             M 
                             xn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xxNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yxNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zxNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     
                       
                         
                           B 
                           yn 
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               yn 
                             
                             · 
                             
                               H 
                               yNn 
                             
                           
                           + 
                           
                             M 
                             yn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xyNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yyNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zyNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     
                       
                         
                           B 
                           zn 
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               zn 
                             
                             · 
                             
                               H 
                               zNn 
                             
                           
                           + 
                           
                             M 
                             zn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xzNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yzNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zzNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 24 
                 ) 
               
             
           
         
       
     
   
   Combining Equations (17) and (18) to determine the intersection point of the two BH curve lines, and solving for B n  yields Equation (25). 
   
     
       
         
           
             
               
                 
                   
                     B 
                     xn 
                   
                   = 
                   
                     
                       
                         - 
                         
                           α 
                           x 
                         
                       
                       · 
                       
                         M 
                         xn 
                       
                     
                     
                       ( 
                       
                         1 
                         - 
                         
                           α 
                           x 
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     B 
                     yn 
                   
                   = 
                   
                     
                       
                         - 
                         
                           α 
                           y 
                         
                       
                       · 
                       
                         M 
                         yn 
                       
                     
                     
                       ( 
                       
                         1 
                         - 
                         
                           α 
                           y 
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     B 
                     zn 
                   
                   = 
                   
                     
                       
                         B 
                         zr 
                       
                       - 
                       
                         
                           α 
                           z 
                         
                         · 
                         
                           M 
                           zn 
                         
                       
                     
                     
                       ( 
                       
                         1 
                         - 
                         
                           α 
                           z 
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 25 
                 ) 
               
             
           
         
       
     
   
   Combining Equations (24) and (25) to eliminate B n  yields Equation (26). 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               α 
                               x 
                             
                             ⁢ 
                             
                               M 
                               xn 
                             
                           
                           
                             ( 
                             
                               1 
                               - 
                               
                                 α 
                                 x 
                               
                             
                             ) 
                           
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               xn 
                             
                             · 
                             
                               H 
                               xNn 
                             
                           
                           + 
                           
                             M 
                             xn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xxNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yxNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zxNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     
                       
                         
                           
                             
                               α 
                               y 
                             
                             ⁢ 
                             
                               M 
                               yn 
                             
                           
                           
                             ( 
                             
                               1 
                               - 
                               
                                 α 
                                 y 
                               
                             
                             ) 
                           
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               yn 
                             
                             · 
                             
                               H 
                               yNn 
                             
                           
                           + 
                           
                             M 
                             yn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xyNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yyNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zyNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     
                       
                         
                           
                             
                               B 
                               rz 
                             
                             - 
                             
                               
                                 α 
                                 z 
                               
                               ⁢ 
                               
                                 M 
                                 zn 
                               
                             
                           
                           
                             ( 
                             
                               1 
                               - 
                               
                                 α 
                                 z 
                               
                             
                             ) 
                           
                         
                         = 
                           
                         ⁢ 
                         
                           
                             
                               M 
                               zn 
                             
                             · 
                             
                               H 
                               zNn 
                             
                           
                           + 
                           
                             M 
                             zn 
                           
                           + 
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 1 
                               
                               
                                 m 
                                 ≠ 
                                 n 
                               
                             
                             P 
                           
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   M 
                                   xm 
                                 
                                 · 
                                 
                                   B 
                                   xzNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   ym 
                                 
                                 · 
                                 
                                   B 
                                   yzNmn 
                                 
                               
                               + 
                               
                                 
                                   M 
                                   zm 
                                 
                                 · 
                                 
                                   B 
                                   zzNmn 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 26 
                 ) 
               
             
           
         
       
     
   
   In Equation (26) there are 3xP equations with 3xP unknowns since n takes on values from 1 to P. The 3xP unknowns are M xn , M yn  and M zn . A linear set of equations comes from Equation (26) that can be transformed into matrix form.
 
Ψ×Φ=Γ  (27)
 
   Generally, ψ can represent a 3×P rows by 3×P columns matrix of known values. φrepresents a 3×P rows by 1 columns matrix, with elements M x1  through M xP , M y1  through M yP  and M z1  through M zP . The variable             can represent a 3xP rows by 1 column matrix of known values. To solve for the M xn , M yn  and M zn  to use in the magnet model, solve for φ.
 
Φ=Ψ −1 ×Γ  (28)
 
The diagonal elements of ψ are given in Equation (29).

                         Ψ   kk     ⁢       =         H   xNk     +   1   +         α   x       1   -     α   x         ⁢           ⁢   for   ⁢           ⁢   k       =     1   ⁢           ⁢   to   ⁢           ⁢   P                     Ψ   kk     ⁢       =         H     yN   ⁡     (     k   -   P     )         +   1   +         α   y       1   -     α   y         ⁢           ⁢   for   ⁢           ⁢   k       =     P   +     1   ⁢           ⁢   to   ⁢           ⁢     2   ·   P                         Ψ   kk     ⁢       =         H     zN   ⁡     (     k   -     2   ⁢   P       )         +   1   +         α   z       1   -     α   z         ⁢           ⁢   for   ⁢           ⁢   k       =       2   ·   P     +     1   ⁢           ⁢   to   ⁢           ⁢     3   ·   P                         (   29   )               
Each row of ψ, excluding the diagonals, is given in Equation (30).
 Ψ kj   =B   xxNjk  for  k= 1 to  P  and  j= 1 to  P  and  k≠j    Ψ kj   =B   yxNj(k−P)  for  k=P+ 1 to 2· P  and  j= 1 to  P  and  k≠j    Ψ kj   =B   zxNj(k−2·P)  for  k= 2· P+ 1 to 3· P  and  j= 1 to  P  and  k≠j    Ψ kj   =B   xy(j−P)k  for  k= 1 to  P  and  j=P+ 1 to 2· P  and  k≠j    Ψ kj   =B   yyN(j−P)(k−P)  for  k=P+ 1 to 2· P  and  j=P+ 1 to 2· P  and  k≠j    Ψ kj   =B   zyN(j−P)(k−2 P)  for  k= 2· P+ 1 to 3· P  and  j=P+ 1 to 2· P  and  k≠j    Ψ kj   =B   xzN(j−2 P)k  for  k= 1 to  P  and  j= 2· P+ 1 to 3· P  and  k≠j    Ψ kj   =B   yzN(j−2 P)(k−P) for    k=P+ 1 to 2· P  and  j= 2· P+ 1 to 3· P  and  k≠j    Ψ kj   =B   zzN(j−2 P)(k−2 P) for    k= 2· P+ 1 to 3· P  and  j= 2· P+ 1 to 3· P  and  k≠j    (30) 
   In Equations (29) and (30), the subscript index on ψ indicates the row and column number of the matrix element respectively. Each element of             is given in Equation (31) below.
   
     
       
         
           
             
               
                 
                   
                     
                       
                         Γ 
                         k 
                       
                       = 
                       
                         
                           0 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           k 
                         
                         = 
                         
                           1 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           to 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             2 
                             · 
                             P 
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         Γ 
                         k 
                       
                       = 
                       
                         
                           
                             
                               B 
                               zr 
                             
                             
                               1 
                               - 
                               
                                 α 
                                 z 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           k 
                         
                         = 
                         
                           
                             2 
                             · 
                             P 
                           
                           + 
                           
                             1 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             to 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               3 
                               · 
                               P 
                             
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 31 
                 ) 
               
             
           
         
       
     
   
     FIGS. 2 and 3  thus generally depict a method for modeling a magnet with μ greater than one in both the magnetized and non-magnetized directions in a modeling software (e.g., Narfmm). Note that although the methodology described herein can be implemented in the context of a software programming tool such as, for example, Matlab, it can be appreciated by those skilled in the art that such a methodology may be implemented via any programming language, such as C or Fortran or via analog or digital circuitry. As indicated previously, although this model is primarily intended for use in modeling a block magnet, but it can be adapted for use in modeling any magnet of any shape or size. 
   Additionally, although the magnetization direction described above is in the z direction, the magnet can be magnetized in any direction by appropriately specifying (α x , α y , α z ) and (B rx , B ry , B rz ). 
   In software models, the ferrous objects have an infinite permeability that is usually a good approximation for systems having the permanent magnet and ferrous object separated from each other and the area of interest where the magnetic field is calculated is in the space between the magnet and the ferrous object. If the need were to arise though, the method described earlier used to model permeability greater than one in the non-magnetized direction of the magnet can be used to model ferrous objects with permeability less than infinity. 
     FIG. 4  depicts a graph  400  depicting a BH curve  402  of a magnet and a BH curve  404  for an n th  magnet element in the magnetized Z-direction of the magnet to be modeled, in accordance with a preferred embodiment of the present invention. Graph  400  includes an axis  410  perpendicular to an axis  412 . BH curves  402  and  404  intersect one another at intersection point  406  (B zn , H zn ). BH curve  404  intersects axis  410  at point  416  (M zn ). An originating point  420  (0,0) is positioned at the intersection of axis  410  and  412 . BH curve  402  thus represents the actual BH curve in the magnetized Z direction of a magnet to be modeled: F z . BH curve  404  represents a BH curve for the n th  magnet element in the Z direction, wherein B z =H z +M zn . 
     FIG. 5  illustrates a graph illustrating a BH curve  504  of a magnet to be modeled and a BH curve  502  of magnet elements in a non-magnetized X-direction, in accordance with a preferred embodiment of the present. invention. Note that the BH curve in the Y direction is essentially analogous to the BH curve in the X direction. An axis  510  intersects an axis  512  at an originating point  520  (0,0). BH curve  504  thus represents the actual BH curve of the magnet to be modeled in a non-magnetized X-direction: F x . BH curve  502  represents a BH curve for the n th  magnet element in the X-direction, wherein B x =H x +M xn . BH curves  504  and  502  intersect one another at intersection point  506  (B xn , H xn ). BH curve  502  also intersects axis  510  at point  516  (M xn ). 
     FIG. 6  depicts a graph  600  illustrating a first iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention.  FIG. 6  depicts an axis  612  and an axis  610 , which intersect one another at an origination point  620  (0,0). As indicated by graph  600  of  FIG. 6 , an intermediate BH curve  604  for a first iteration crosses axis  610  at point  606 , which comprises a tangent point between an intermediate BH curve and the actual BH curve for the first iteration in which B z =a zn *H z +b z . BH curve  604  also intersects a BH curve  609  at intersection point  602  (i.e., intersection point, iteration 1). Note that graph  600  also illustrates a tangent point  608  for a second iteration for a curve  611 . Tangent point  608  is selected as a point on BH curve  611  close to point  602 . In this example, the close point is selected by going the smallest horizontal distance from point  602  to BH curve  611 , thus arriving at point  602  as indicated by arrow  615 . Note that BH curve  609  intersects axis  610  at point  614  (i.e., M zn , iteration 1). 
     FIG. 7  depicts a graph  700  illustrating a second iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention.  FIG. 7  illustrates an axis  712 , which generally intersects an axis  710  at an origination point  720  (0,0). An intermediate BH curve  704  for the second iteration intersects a curve  711  at a tangent point  706  (i.e., iteration 2). Additionally, BH curve  704  intersects a curve  709  at an intersection point  702  (i.e., iteration 2). Note that graph  700  also illustrates a tangent point  708  for a third iteration for a curve  711 . Tangent point  708  is selected as a point on BH curve  711  close to point  702 . BH curve  709  also intersects axis  710  at point  714  (M zn , iteration 2). 
     FIG. 8  depicts a graph  800  illustrating a third iteration for a magnet element in a Z-direction, in accordance with a preferred embodiment of the present invention. Graph  800  generally depicts an axis  812 , which intersects with an axis  810  at an origination point  820  (0,0). An intermediate BH curve  804  for the third iteration intersects a curve  811  at a tangent point  806  (i.e., iteration 3). Additionally, BH curve  804  intersects a curve  809  at an intersection point  802  (i.e., iteration 3). Note that graph  800  also illustrates a tangent point  808 . Tangent point  808  is selected as a point on BH curve  811  close to point  802 . Point  808  is used to derive the final tangent line to be used as the BH curve for the nth magnet element if the desired accuracy has resulted in point  802  and  808  being sufficiently converged. If additional accuracy is needed, additional iterations can be executed. BH curve  809  additionally intersects axis  810  at a point  814  (M zn , iteration 3). 
   In  FIGS. 1 to 4 , a method for modeling magnets with straight-line BH curves with permeability (μ) greater than one, in both the magnetized and non-magnetized directions is described with respect to modeling software.  FIGS. 5 to 8  generally expand on that method by describing a method for modeling anisotropic magnets with non-linear BH curves in the magnetized and non-magnetized directions. Such a model can permit a designer to accurately model, for example, an anisotropic AlNiCo magnet utilized in a gear tooth sensor. 
   The magnet to be modeled generally can be configured with nonlinear BH curves, as illustrated in  FIGS. 4 and 5 , and also described below with respect to Equation (32). Assume the magnet is magnetized in the z direction.
 
F x , F y , F z    (32)
 
   The x, y and z subscripts denote spatial direction. This denotation generally applies for all the equations indicated herein with respect to  FIGS. 4 to 8 . The F variables are generally functions of H and B. For the modeling method described herein with respect to  FIGS. 4 to 8 , such functions can be expressed generally in any form that is monotonic and increasing in B and H; linear or nonlinear; capable of being evaluated for B given H; capable of being evaluated for H given B; and which can be evaluated for the slope at any given point of the curve. Generally, H represents the magnetic field intensity (Oersted). B, on the other hand, generally represents the magnetic flux density (Gauss). 
   The magnet volume can be divided into volume elements. Each n th  volume element itself is a magnet that can be modeled with the standard Narfmm software magnet model given the BH curve  404  and  502  such as illustrated in  FIGS. 4 and 5 . The appropriate equations are indicated below in Equation (33).
 
 B   x   =H   x   +M   xn  
 
 B   y   =H   y   +M   yn  
 
 B   z   =H   z   +M   zn    (33)
 
   With respect to Equation (33) above, B generally represents the magnetic flux density (Gauss). H represents the magnetic field intensity (Oersted). M n  represents the residual induction of the n th  magnet element (Gauss). 
   The BH curves of Equations (32) and (33) intersect at the points (B xn ,H xn ), (B yn ,H yn ), (B zn ,H zn ). In this case, B n  represents the magnetic flux density at the n th  magnet element (Gauss), and H n  represents the magnetic field intensity at the nth magnet element (Oersted). In order to model a magnet using modeling software (e.g., Narfmm), the variables M xn , M yn  and M zn  must be determined for each n th  volume element. Each magnet element lies somewhere on the actual BH curve line indicated by Equation (32). The magnet element can be modeled with the “μ equal to one BH curve” indicated by Equation (33) if the proper M xn , M yn  and M zn  can be determined. If the intersection points (B xn ,H xn ), (B yn ,H yn ), (B zn ,H zn ) are known; M xn , M yn  and M zn  can be determined. Thus, the following formulation can be solved for Equation (34):
 
 M   xn   =B   xn   −H   xn  
 
 M   yn   =B   yn   −H   yn  
 
 M   zn   =B   zn   −H   zn   (34)
 
   Once all of the variables M xn , M yn  and M zn  are known, a standard magnet model can be utilized for each magnet element, summing all of the magnet elements&#39; contributions through superposition to obtain the magnetic field from the whole magnet. The defining relation for the flux density inside a magnet can be calculated as follows.
 
 B=μ·H+M+B   e   (35)
 
Thus, with respect to Equation (35) above, the variable B represents the magnetic flux density (Gauss). The variable μ represents the relative permeability, which is equal to one (Gauss/Oersted). Additionally, the variable H represents the magnetic field strength (Oersted). M represents the residual magnetic induction (Gauss). B e  represents the magnetic flux density from sources external to the magnet (Gauss). For the n th  magnet volume element, Equation (36) can be obtained utilizing Equation (35) and replacing μ with 1.
 
 B   xn   =H   xn   +M   xn   +B   xen  
 
 B   yn   =H   yn   +M   yn   +B   yen  
 
 B   zn   =H   zn   +M   zn   +B   zen   (36)
 
   With respect to Equation (35), the variables B en  generally represent the magnetic flux densities on magnet element n from the other magnet elements (Gauss). Note that the center of the magnet volume element is used as the field point to determine the BH curve&#39;s intersection point in all equations. The larger the number of magnet elements, the smaller the element size, and the smaller the error associated with subdividing the magnet into a finite number of sections. Any arbitrary level of accuracy can be obtained by increasing the number of magnet elements to the proper level. H n  can be expressed in normalized terms, as indicated below in Equation (37).
 
 H   xn   =M   xn   ·H   xNn  
 
 H   yn   =M   yn   ·H   yNn  
 
 H   zn   =M   zn   ·H   zNn   (37)
 
   H Nn  represents the normalized H n  in the indicated direction at the center of the n th  magnet element (Oersted/Gauss). H Nn  can be calculated with standard magnet modeling equations by letting the residual induction be equal to unity. B en  can be expressed as a summation as indicated in Equation (38). 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               B 
                               xen 
                             
                             = 
                             
                               
                                 ∑ 
                                 
                                   
                                     m 
                                     = 
                                     1 
                                   
                                   
                                     m 
                                     ≠ 
                                     n 
                                   
                                 
                                 P 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     
                                       M 
                                       xm 
                                     
                                     · 
                                     
                                       B 
                                       xxNmn 
                                     
                                   
                                   + 
                                   
                                     
                                       M 
                                       ym 
                                     
                                     · 
                                     
                                       B 
                                       yxNmn 
                                     
                                   
                                   + 
                                   
                                     
                                       M 
                                       zm 
                                     
                                     · 
                                     
                                       B 
                                       zxNmn 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               B 
                               yen 
                             
                             = 
                             
                               
                                 ∑ 
                                 
                                   
                                     m 
                                     = 
                                     1 
                                   
                                   
                                     m 
                                     ≠ 
                                     n 
                                   
                                 
                                 P 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     
                                       M 
                                       xm 
                                     
                                     · 
                                     
                                       B 
                                       xyNmn 
                                     
                                   
                                   + 
                                   
                                     
                                       M 
                                       ym 
                                     
                                     · 
                                     
                                       B 
                                       yyNmn 
                                     
                                   
                                   + 
                                   
                                     
                                       M 
                                       zm 
                                     
                                     · 
                                     
                                       B 
                                       zyNmn 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         B 
                         zen 
                       
                       = 
                       
                         
                           ∑ 
                           
                             
                               m 
                               = 
                               1 
                             
                             
                               m 
                               ≠ 
                               n 
                             
                           
                           P 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                             
                               
                                 M 
                                 xm 
                               
                               · 
                               
                                 B 
                                 xzNmn 
                               
                             
                             + 
                             
                               
                                 M 
                                 ym 
                               
                               · 
                               
                                 B 
                                 yzNmn 
                               
                             
                             + 
                             
                               
                                 M 
                                 zm 
                               
                               · 
                               
                                 B 
                                 zzNmn 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 38 
                 ) 
               
             
           
         
       
     
   
   In the right-hand side of Equation (38), the subscript on the B indicates the sub magnet orientation and the field direction. For example, “yx” refers to a field in x direction from the y facing magnet element. P represents the total number of magnet elements. B Nmn  represents the normalized magnetic flux density from magnet element m to magnet element n in the magnetized direction (no units). B Nmn  can be calculated with the standard magnet modeling equations by letting the residual magnetic induction of magnet element m be equal to unity. Thus, substituting Equation (37) and Equation (38) into Equation (36) yields Equation (39). 
   
     
       
         
           
             
               
                 
                   B 
                   xn 
                 
                 = 
                 
                   
                     
                       M 
                       xn 
                     
                     · 
                     
                       H 
                       xNn 
                     
                   
                   + 
                   
                     M 
                     xn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zxNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 39 
                 ) 
               
             
           
           
             
               
                 
                   B 
                   yn 
                 
                 = 
                 
                   
                     
                       M 
                       yn 
                     
                     · 
                     
                       H 
                       yNn 
                     
                   
                   + 
                   
                     M 
                     yn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zyNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                   
               
             
           
           
             
               
                 
                   B 
                   zn 
                 
                 = 
                 
                   
                     
                       M 
                       zn 
                     
                     · 
                     
                       H 
                       zNn 
                     
                   
                   + 
                   
                     M 
                     zn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zzNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                   
               
             
           
         
       
     
   
   In order to determine the intersection point of the two BH curves illustrated in Equations (32) and (33), an iterative process is thus used. The first iteration involves assuming another form for the BH curve indicated by Equation (32), which is referred to as the intermediate BH curve given in Equation (40).
 
 B   x =α xn   ·H   x   +b   xn  
 
 B   y =α yn   ·H   y   +b   yn  
 
 B   z =α zn   ·H   z   +b   zn   (40)
 
   With respect to Equation (40), B represents the magnetic flux density (Gauss). The variable α n  represents the slope of F at the tangent point explained below (Gauss/Oersted). The variable b n  represents the B intercept of F for the n th  magnet element (Gauss). 
   Refer to  FIG. 6  for an illustration of the first iteration. The BH curve of equation (32) and (40) have a tangent point at the B intercept of F. Assuming equation (40) in place of (32), the intersection point is determined. From the intersection point, the tangent point for iteration 2 is selected by finding the point on F that has the same B value as the intersection point. In the second iteration, a new α n  and b n  is selected based on the tangent point as is illustrated in  FIG. 7 . Then the second iteration intersection point is determined and the third iteration tangent point selected in the same manner as before. This process is then repeated as illustrated in  FIG. 8 , which depicts the third iteration tangent point and intersection point, along with the fourth iteration tangent point. These three points now all lie very close together and can converge with each iteration. So it can be seen that the tangent point and intersection points converge onto the actual BH curve F. The iterations can be continued until the desired accuracy is obtained. This numerical iterative process converges very quickly and it is expected that approximately four iterations will be sufficient for most modeling applications. Note that in the first iteration all of the α n  and b n  (within a given direction X, Y or Z) will be the same since they all refer to the same starting function F. After the first iteration however they will in general not have the same value. 
   The equations to be used for each step of the iterative process are developed as further described below. Combining Equation (33) and (40) to determine the intersection point of the two BH curve lines, and solving for B n  yields ( 41 ). 
                         B   xn     =         b   xn     -       α   xn     ·     M   xn           (     1   -     α   xn       )                     B   yn     =         b   yn     -       α   yn     ·     M   yn           (     1   -     α   yn       )                     B   zn     =         b   zn     -       α   zn     ·     M   zn           (     1   -     α   zn       )                     (   41   )               
Combining Equations (39) and (41) to eliminate B n  yields Equation (42).
 
   
     
       
         
           
             
               
                 
                   
                     
                       b 
                       xn 
                     
                     - 
                     
                       
                         α 
                         xn 
                       
                       · 
                       
                         M 
                         xn 
                       
                     
                   
                   
                     ( 
                     
                       1 
                       - 
                       
                         α 
                         xn 
                       
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       M 
                       xn 
                     
                     · 
                     
                       H 
                       xNn 
                     
                   
                   + 
                   
                     M 
                     xn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yxNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zxNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 42 
                 ) 
               
             
           
           
             
               
                 
                   
                     
                       b 
                       yn 
                     
                     - 
                     
                       
                         α 
                         yn 
                       
                       · 
                       
                         M 
                         yn 
                       
                     
                   
                   
                     ( 
                     
                       1 
                       - 
                       
                         α 
                         yn 
                       
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       M 
                       yn 
                     
                     · 
                     
                       H 
                       yNn 
                     
                   
                   + 
                   
                     M 
                     yn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yyNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zyNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                   
               
             
           
           
             
               
                 
                   
                     
                       b 
                       zn 
                     
                     - 
                     
                       
                         α 
                         zn 
                       
                       · 
                       
                         M 
                         zn 
                       
                     
                   
                   
                     ( 
                     
                       1 
                       - 
                       
                         α 
                         zn 
                       
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       M 
                       zn 
                     
                     · 
                     
                       H 
                       zNn 
                     
                   
                   + 
                   
                     M 
                     zn 
                   
                   + 
                   
                     
                       ∑ 
                       
                         
                           m 
                           = 
                           1 
                         
                         
                           m 
                           ≠ 
                           n 
                         
                       
                       P 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             M 
                             xm 
                           
                           · 
                           
                             B 
                             xzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             ym 
                           
                           · 
                           
                             B 
                             yzNmn 
                           
                         
                         + 
                         
                           
                             M 
                             zm 
                           
                           · 
                           
                             B 
                             zzNmn 
                           
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                   
               
             
           
         
       
     
   
   In Equation (42) there are 3×P equations with 3×P unknowns since n takes on values from 1 to P. The 3×P unknowns are M xn , M yn  and M zn . A linear set of equations is derived from Equation (42) that can be transformed into matrix form, as indicated in Equation (43).
 
Ψ×Φ=Γ  (43)
 
   Thus, with respect to Equation (43), the variable ψ represents a 3×P rows by 3×P columns matrix of known values. The variable φ represents a 3×P rows by 1 columns matrix, with elements M x 1  through M xp , M y1  through M yP  and M z1  through M zP . The variable             represen ts a 3×P rows by 1 column matrix of known values. To solve for the M xn , M yn  and M zn , solve for φ.
 
Φ=Ψ −1 ×Γ  (44)

   The diagonal elements of ψ are as follows. 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         Ψ 
                         kk 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             H 
                             xNk 
                           
                           + 
                           1 
                           + 
                           
                             
                               
                                 α 
                                 xk 
                               
                               
                                 1 
                                 - 
                                 
                                   α 
                                   xk 
                                 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             for 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             k 
                           
                         
                         = 
                         
                           1 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           to 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           P 
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         Ψ 
                         kk 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             H 
                             
                               yN 
                               ⁡ 
                               
                                 ( 
                                 
                                   k 
                                   - 
                                   P 
                                 
                                 ) 
                               
                             
                           
                           + 
                           1 
                           + 
                           
                             
                               
                                 α 
                                 yk 
                               
                               
                                 1 
                                 - 
                                 
                                   α 
                                   yk 
                                 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             for 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             k 
                           
                         
                         = 
                         
                           P 
                           + 
                           
                             1 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             to 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               2 
                               · 
                               P 
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         Ψ 
                         kk 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             H 
                             
                               zN 
                               ⁡ 
                               
                                 ( 
                                 
                                   k 
                                   - 
                                   
                                     2 
                                     ⁢ 
                                     P 
                                   
                                 
                                 ) 
                               
                             
                           
                           + 
                           1 
                           + 
                           
                             
                               
                                 α 
                                 zk 
                               
                               
                                 1 
                                 - 
                                 
                                   α 
                                   zk 
                                 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             for 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             k 
                           
                         
                         = 
                         
                           
                             2 
                             · 
                             P 
                           
                           + 
                           
                             1 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             to 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               3 
                               · 
                               P 
                             
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 45 
                 ) 
               
             
           
         
       
     
   
   Each row of ψ, excluding the diagonals, is as follows.
 
Ψ kj   =B   xxNjk  for  k= 1 to  P  and  j= 1 to  P  and  k≠j  
 
Ψ kj   =B   yxNj(k−P)  for  k=P+ 1 to 2· P  and  j= 1 to  P  and  k≠j  
 
Ψ kj   =B   zxNj(k−2 P)  for  k= 2· P+ 1 to 3· P  and  j= 1 to  P  and  k≠j  
 
Ψ kj   =B   xy(j−P)k  for  k= 1 to  P  and j=P+1 to 2· P  and  k≠j  
 
Ψ kj   =B   yyN(j−P)(k−P)  for  k=P 1 to 2· P  and  j=P+ 1 to 2· P  and  k≠j  
 
Ψ kj   =B   zyN(j−P)(k−2 P)  for  k= 2· P+ 1 to 3· P  and  j=P+ 1 to 2· P  and  k≠j  
 
Ψ kj   =B   xzN(j−2 P)  for  k= 1 to  P  and  j= 2· P 1 to 3· P  and  k≠j  
 
Ψ kj   =B   yzN(j−2 P)  for  k=P 1 to 2· P  and  j= 2· P+ 1 to 3· P  and  k≠j  
 
Ψ kj   =B   zzN(j−2 P)(k−2 P)  for  k= 2· P+ 1 to 3 ·P  and  j= 2· P+ 1 to 3· P  and  k≠j   (46)
 
In Equations (45) and (56), the subscript index on ψ indicates the row and column number of the matrix element respectively. Each element of             is as follows:

   
     
       
         
           
             
               
                 
                   
                     
                       
                         Γ 
                         k 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             
                               b 
                               xk 
                             
                             
                               1 
                               - 
                               
                                 α 
                                 xk 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           k 
                         
                         = 
                         
                           1 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           to 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           P 
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         Γ 
                         k 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             
                               b 
                               
                                 y 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     P 
                                   
                                   ) 
                                 
                               
                             
                             
                               1 
                               - 
                               
                                 α 
                                 
                                   y 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       P 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           k 
                         
                         = 
                         
                           P 
                           + 
                           
                             1 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             to 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               2 
                               · 
                               P 
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         Γ 
                         k 
                       
                       ⁢ 
                         
                       = 
                       
                         
                           
                             
                               b 
                               
                                 z 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     
                                       2 
                                       ⁢ 
                                       P 
                                     
                                   
                                   ) 
                                 
                               
                             
                             
                               1 
                               - 
                               
                                 α 
                                 
                                   z 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       
                                         2 
                                         ⁢ 
                                         P 
                                       
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           k 
                         
                         = 
                         
                           
                             2 
                             · 
                             P 
                           
                           + 
                           
                             1 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             to 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               3 
                               · 
                               P 
                             
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 47 
                 ) 
               
             
           
         
       
     
   
   Those skilled in the art can appreciate that the present invention can be implemented in the context of a module or group of modules. The term “module” as known by those skilled in the computer programming arts is generally a collection of routines, subroutines, and/or data structures, which perform a particular task or implements certain abstract data types. Modules generally are composed of two sections. The first section is an interface, which compiles the constants, data types, variables, and routines. The second section is generally configured to be accessible only by the module and which includes the source code that activates the routines in the module or modules thereof. 
   A software implementation of the present invention may thus involve the use of such modules, and/or implementation of a program product based on the mathematical and operational steps illustrated in and described herein. Such a program product may additionally be configured as signal-bearing media, including recordable and/or transmission media. The mathematical and operation steps illustrated and described herein can thus be implemented as program code, a software module or series of related software modules. Such modules may be integrated with hardware to perform particular operational functions. 
     FIG. 9  illustrates a pictorial representation of a data processing system  910 , which may be utilized in accordance with the method and system of the present invention. The method and system described herein, including module implementations thereof, may be implemented in a data processing system such as data processing system  910  of  FIG. 9 . Thus, data processing system  910  is illustrated herein to indicate a possible machine in which the present invention may be embodied. Those skilled in the art can appreciate, however, that the data processing system illustrated in  FIGS. 9 and 10  herein is presented for illustrative purposes only and is not considered a limiting feature of the present invention. 
   Data processing system  910  can be implemented as a computer, which includes a system unit  912 , a video display terminal  914 , an alphanumeric input device (i.e., keyboard  916 ) having alphanumeric and other keys, and a mouse  918 . An additional input device (not shown) such as a trackball or stylus can also be included with data processing system  910 . Although the depicted embodiment involves a personal computer, an embodiment of the present invention may be implemented in other types of data processing systems, such as, for example, intelligent workstations or mini-computers. Data processing system  910  also preferably includes a graphical user interface that resides within a machine-readable media to direct the operation of data processing system  910 . 
   Referring now to  FIG. 10  there is depicted a block diagram of selected components in data processing system  910  of  FIG. 9  in which a preferred embodiment of the present invention may be implemented. Data processing system  910  of  FIG. 9  preferably includes a system BUS  920 , as depicted in  FIG. 10 . System BUS  920  is utilized for interconnecting and establishing communication between various components in data processing system  910 . Microprocessor or CPU (Central Processing Unit)  922  is connected to system BUS  920  and also may have numeric coprocessor  924  connected to it. Direct memory access (“DMA”) controller  926  is also connected to system BUS  920  and allows various devices to appropriate cycles from microprocessor  922  during large input/output (“I/O”) transfers. Read Only Memory (“ROM”)  928  and Random Access Memory (“RAM”)  930  are also connected to system BUS  920 . ROM  928  can be mapped into the address space of microprocessor  922 . CMOS RAM  932  is generally attached to system BUS  920  and contains system configuration information. Any suitable machine-readable media may retain the graphical user interface of data processing system  910  of  FIG. 9 , such as RAM  930 , ROM  928 , a magnetic diskette, magnetic tape, or optical disk. 
   Also connected to system BUS  920  are memory controller  934 , BUS controller  936 , and interrupt controller  938 , which serve to aid in the control of data flow through system BUS  920  among various peripherals, adapters, and devices. System unit  912  of  FIG. 9  also contains various I/O controllers such as those depicted in  FIG. 10 : keyboard and mouse controller  940 , video controller  942 , parallel controller  944 , serial controller  946 , and diskette controller  948 . Keyboard and mouse controller  940  provide a hardware interface for keyboard  950  and mouse  952  although other input devices can be used. Video controller  942  provides a hardware interface for video display terminal  954 . Parallel controller  944  provides a hardware interface for devices such as printer  956 . Serial controller  946  provides a hardware interface for devices such as a modem  958 . Diskette controller  948  provides a hardware interface for floppy disk unit  960 . 
   Expansion cards also may be added to system bus  920 , such as disk controller  962 , which provides a hardware interface for hard disk unit  964 . Empty slots  966  are provided so that other peripherals, adapters, and devices may be added to system unit  912  of  FIG. 9 . A network card  967  additionally can be connected to system bus  920  in order to link system unit  912  of  FIG. 9  to other data processing system networks in a client/server architecture, or to groups of computers and associated devices which are connected by communications facilities. Those skilled in the art will appreciate that the hardware depicted in  FIG. 10  may vary for specific applications. For example, other peripheral devices such as: optical disk media, audio adapters, or chip programming devices such as a PAL or EPROM programming devices, and the like also may be utilized in addition to or in place of the hardware already depicted. Note that any or all of the above components and associated hardware may be utilized in various embodiments. It can be appreciated, however, that any configuration of the aforementioned system may be utilized for various purposes according to a particular implementation.  FIGS. 9-10  therefore generally describe a system/apparatus  910  composed of one or more processor readable storage devices having a processor readable code (e.g., a module) embodied on the processor readable storage devices. The processor readable storage devices can be then used for programming one or more processors to perform the methodology described herein, including each of the method steps of such a methodology. 
   The present invention can be used in various magnetic modeling scenarios. For example, the present invention can be use to design sensors that contain permanent magnets. Such sensors include gear tooth sensors. 
   The embodiments and examples set forth herein are presented to best explain the present invention and its practical application and to thereby enable those skilled in the art to make and utilize the invention. Those skilled in the art, however, will recognize that the foregoing description and examples have been presented for the purpose of illustration and example only. Other variations and modifications of the present invention will be apparent to those of skill in the art, and it is the intent of the appended claims that such variations and modifications be covered. The description as set forth is not intended to be exhaustive nor to limit the scope of the invention. Many modifications and variations are possible in light of the above teaching without departing from the spirit and scope of the following claims. It is contemplated that the use of the present invention can involve components having different characteristics. It is intended that the scope of the present invention be defined by the claims appended hereto, giving full cognizance to equivalents in all respects.