Yee lattice

From AbInitio

(Difference between revisions)
Jump to: navigation, search
Revision as of 07:31, 22 October 2005 (edit)
Stevenj (Talk | contribs)

← Previous diff
Revision as of 07:31, 22 October 2005 (edit)
Stevenj (Talk | contribs)

Next diff →
Line 15: Line 15:
:<math>(i+0.5,j+0.5,k+0.5)-\hat\mathbf{e}_\ell / 2</math>. :<math>(i+0.5,j+0.5,k+0.5)-\hat\mathbf{e}_\ell / 2</math>.
-In two dimensions, we set <math>\hat\mathbf{e}_3=0</math>; the 2d Yee lattices for the TE and TM polarizations ('''E''' in the ''xy'' plane or in the ''z'' direction, respectively) are shown in the figure at right.+In two dimensions, we set <math>\hat\mathbf{e}_3=0</math>; the 2d Yee lattices for the TE and TM polarizations ('''E''' in the ''xy'' plane or in the ''z'' direction, respectively) are shown in the figure below.
 + 
 +:(TO DO: Figure)
The consequence of the Yee lattice is that, whenever you need to compare or combine different field components, e.g. to find the energy density <math>(\mathbf{E}^* \cdot \mathbf{D} + |\mathbf{H}|^2)/2</math> or the flux <math>\textrm{Re}\, \mathbf{E}^* \times \mathbf{H}</math>, then the components need to be '''interpolated''' to some common point. Meep does this interpolation for you&mdash;in particular, whenever you compute energy density or flux, or whenever you output a field to a file, it is stored at the locations <math>(i+0.5,j+0.5,k+0.5)</math>: the centers of each grid voxel. The consequence of the Yee lattice is that, whenever you need to compare or combine different field components, e.g. to find the energy density <math>(\mathbf{E}^* \cdot \mathbf{D} + |\mathbf{H}|^2)/2</math> or the flux <math>\textrm{Re}\, \mathbf{E}^* \times \mathbf{H}</math>, then the components need to be '''interpolated''' to some common point. Meep does this interpolation for you&mdash;in particular, whenever you compute energy density or flux, or whenever you output a field to a file, it is stored at the locations <math>(i+0.5,j+0.5,k+0.5)</math>: the centers of each grid voxel.
[[Category:Meep]] [[Category:Meep]]

Revision as of 07:31, 22 October 2005

Meep
Download
Release notes
FAQ
Meep manual
Introduction
Installation
Tutorial
Reference
C++ Tutorial
C++ Reference
Acknowledgements
License and Copyright

In order to discretize the equations with second-order accuracy (in homogeneous regions), FDTD methods store different field components at different grid locations. This discretization is known as a Yee lattice

In general, let a coordinate (i,j,k) in the grid correspond to:

\mathbf{x} = (i \hat\mathbf{e}_1 + j \hat\mathbf{e}_2 + k \hat\mathbf{e}_3) \Delta x.

Then, the \ellth component of \mathbf{E} or \mathbf{D} (or \mathbf{P}) is stored at the locations

(i,j,k)+\hat\mathbf{e}_\ell / 2.

The \ellth component of \mathbf{H}, on the other hand, is stored at the locations

(i+0.5,j+0.5,k+0.5)-\hat\mathbf{e}_\ell / 2.

In two dimensions, we set \hat\mathbf{e}_3=0; the 2d Yee lattices for the TE and TM polarizations (E in the xy plane or in the z direction, respectively) are shown in the figure below.

(TO DO: Figure)

The consequence of the Yee lattice is that, whenever you need to compare or combine different field components, e.g. to find the energy density (\mathbf{E}^* \cdot \mathbf{D} + |\mathbf{H}|^2)/2 or the flux \textrm{Re}\, \mathbf{E}^* \times \mathbf{H}, then the components need to be interpolated to some common point. Meep does this interpolation for you—in particular, whenever you compute energy density or flux, or whenever you output a field to a file, it is stored at the locations (i + 0.5,j + 0.5,k + 0.5): the centers of each grid voxel.

Personal tools