[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

Angora currently only supports a rectangular, Cartesian FDTD grid with equal grid spacing in the x, y, and z directions. Mesh refinement is not yet supported; therefore the grid spacing is uniform across the grid.

6.2.1 Courant Factor | The ratio between the temporal and spatial step sizes. | |

6.2.2 Spatial Step Size | The spatial step size in the FDTD grid. | |

6.2.3 Grid Dimensions | The number of FDTD cells in the x, y, and z directions. | |

6.2.4 Perfectly-Matched Layer (PML) | Absorbing layers for grid termination. | |

6.2.5 Number of Time Steps | Number of time steps in the simulation. | |

6.2.6 Coordinate Origin | Origin of the coordinate system. | |

6.2.7 Dynamic Range | The maximum field value and the useful dB dynamic range in the simulation. |

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__floating-point**courant**Angora adopts a slightly modified form for the Courant factor, defined as

where c=299792458 m/s is the speed of light in vacuum, and and are the

*temporal*and*spatial*step sizes (see Spatial Step Size). The Courant factor should be less than`1.0`

for stability. A common value for`courant`

is`0.98`

.

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__floating-point**dx***(units: m)*The spatial step size in the FDTD grid is specified by the

`dx`

variable. Currently only cubic FDTD cells are supported; therefore the spatial step sizes in the x, y, and z direction are all determined by`dx`

.

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__floating-point**grid_dimension_x***(units: m)*

__Global variable:__floating-point**grid_dimension_y***(units: m)*

__Global variable:__floating-point**grid_dimension_z***(units: m)*

__Global variable:__integer**grid_dimension_x_in_cells**

__Global variable:__integer**grid_dimension_y_in_cells**

__Global variable:__integer**grid_dimension_z_in_cells**These variables determine the size of the Cartesian FDTD grid. The dimensions of the grid can be specified either in meters, or in grid cells. For the latter, the

`_in_cells`

suffix should be appended to the variable name. If the dimensions are given in meters, the number of FDTD cells in the Cartesian FDTD grid in the x, y, and z directions are rounded to the closest integer. If no perfectly-matched layers are specified (see Perfectly-Matched Layer (PML)), the total number of FDTD cells in the three-dimensional FDTD grid is equal to (grid_dimension_x_in_cells) x (grid_dimension_y_in_cells) x (grid_dimension_z_in_cells).

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__floating-point**pml_thickness***(units: m)*

__Global variable:__integer**pml_thickness_in_cells**This variable sets the thickness of the perfectly-matched layers (PMLs) around the grid in all directions. Further customization of the PML thickness is not yet supported. The thickness can be specified either in meters, or in grid cells. For the latter, the

`_in_cells`

suffix should be appended to the variable name.Typical PML thicknesses are

`5`

to`10`

grid cells. If you do not want to place a PML layer around the grid, just assign`pml_thickness=0`

. Without a PML layer, the boundary of the FDTD grid acts as a perfect electric conductor (PEC). Other boundary conditions (perfect magnetic conductor, periodic, etc.) will also be supported in the future.With a PML definition, the total number of FDTD cells in the three-dimensional FDTD grid becomes

(grid_dimension_x_in_cells+2*pml_thickness_in_cells)

x (grid_dimension_y_in_cells+2*pml_thickness_in_cells)

x (grid_dimension_z_in_cells+2*pml_thickness_in_cells)

The computational burden per FDTD cell associated with the PML layer is roughly three times that of the main grid.

Angora implements the convolution PML (CPML) formulation of the complex-frequency shifted (CFS) PML (see Roden00; Kuzuoglu96.)

__Global variable:__floating-point**cpml_feature_size***(units:m, default:*`max(grid_dimension_x,grid_dimension_y,grid_dimension_z)`

)

__Global variable:__floating-point**cpml_feature_size_in_cells***(default:*`max(grid_dimension_x_in_cells,grid_dimension_y_in_cells,grid_dimension_z_in_cells)`

)This variable specifies the maximum size of the scattering or radiating structure in the FDTD grid. This size can be specified either in meters, or in grid cells. For the latter, the

`_in_cells`

suffix should be appended to the variable name.This information is used to determine the frequency-shifting parameter in the CFS-PML formulation. Following Berenger’s derivation (see Berenger02), this parameter is defined as

where c is the velocity of propagation in the medium, is the absolute permittivity (in F/m) in the medium, and is the maximum size of the structure.

The above relationship follows essentially from the low-frequency behavior of the CFS-PML. At low frequencies where the evanescent field around the structure dominates, the CFS-PML reduces to a real stretch of coordinates without any absorption. This helps the termination of evanescent fields, which are poorly handled by ordinary PMLs.

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__integer**num_of_time_steps**This variable determines the number of time steps in the FDTD simulation.

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

__Global variable:__floating-point**origin_x***(units:m, default: (grid_dimension_x+2*pml_thickness)/2+1)*

__Global variable:__floating-point**origin_y***(units:m, default: (grid_dimension_y+2*pml_thickness)/2+1)*

__Global variable:__floating-point**origin_z***(units:m, default: (grid_dimension_z+2*pml_thickness)/2+1)*

__Global variable:__integer**origin_x_in_cells***(default: (grid_dimension_x_in_cells+2*pml_thickness_in_cells)/2+1)*

__Global variable:__integer**origin_y_in_cells***(default: (grid_dimension_y_in_cells+2*pml_thickness_in_cells)/2+1)*

__Global variable:__integer**origin_z_in_cells***(default: (grid_dimension_z_in_cells+2*pml_thickness_in_cells)/2+1)*These variables set the origin of the coordinate system in the simulation. All other coordinates in a configuration file are taken as relative to this origin. The coordinates can be specified either in meters, or in grid cells. For the latter, the

`_in_cells`

suffix should be appended to the variable name. These three numbers represent the Cartesian coordinates of the origin from the back-left-lower corner of the grid. In this figure, the location of the coordinate origin in the FDTD grid is shown for (`origin_x_in_cells`

,`origin_y_in_cells`

,`origin_z_in_cells`

)=(2,3,2). The FDTD grid is composed of (3x5x3) grids, and only the back (y=z=0), left (x=z=0), and lower (x=y=0) surfaces are shown in the figure.**Figure 6.1: The location of the coordinate origin in the FDTD grid for (**`origin_x_in_cells`

,`origin_y_in_cells`

,`origin_z_in_cells`

)=(2,3,2).If the coordinates are given in meters, they are rounded to the closest integer multiple of the spatial step size (see section Spatial Step Size).

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

The following two variables are only relevant in movie recording (see Movie Recording), wherein the floating-point field values on the movie frames are sometimes discretized to fit into 1 byte.

__Global variable:__floating-point**max_field_value***(default:*`1.0`

)This value specifies the maximum field value used in the discretization for 1-byte movie recording (see section Movie Recording).

__Global variable:__floating-point**dB_accuracy***(default: automatic)*This value specifies the dynamic range (in dB) to be used in the discretization for 1-byte movie recording (see section Movie Recording). For example,

dB_accuracy = -60;

tells Angora to discretize the field values in a dynamic range between the maximum field value (specified by

`max_field_value`

above) and 60dB below that value. If`dB_accuracy`

is not specified, Angora tries to set this value automatically, based on its best guess on the useful accuracy range in the simulation. This value can also be read from the output of the movie recorder (see section Movie Recording).

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |

This document was generated by *Ilker Rafet Capoglu* on *December 12, 2012* using *texi2html 1.82*.