QCADesigner <:>

QCADesigner Documentation

Coherence Vector Simulation Engine

The coherence vector simulation is based on a density matrix approach. It can model dissipative effects as well as perform a time-dependent simulation of the design[1]. As with the other simulation engines, it assumes that each cell is a simple two-state system. For this two-state system the following Hamiltonian can be constructed[2]:

(1)

where Eki,j is the kink energy between cell i and j. This kink energy is associated with the energy cost of two cells having opposite polarization. Pj is the polarization of cell j. γ is the tunneling energy of electrons within the cell and is directly connected to the clock; i.e. the clock value is the tunneling energy. The summation is over all cells within an effective radius of cell i, and can be set prior to the simulation.

Kink Energy

The kink energy Eki,j represents the energy cost of cells i and j having opposite polarization. It is calculated simply from the electrostatic interaction between all the charges (mobile/immobile). That is, for each dot in cell i we calculate the electrostatic interaction between this dot and each dot in cell j as

here ε0 is the permittivity of free space and εr is the relative permittivity of the material system. This is summed over all i and j. To find the kink energy we first compute this electrostatic energy when the cells have opposite polarization, then again when the cells have the same polarization and subtract them.

Because the cell is charge neutral (immobile positive charges cancel the charged electrons) the cells interact through a quadrupole-quadrupole interaction which decays inversely as a power of five of the distance between cells. Therefore the kink energy will decay rapidly with distance and the effective neighborhood of interacting cells can be made small.

Coherence Vector

The coherence vector λ is a vector representation of the density matrix ρ of a cell, projected onto the basis spanned by the Identity and the Pauli spin matrices σx,σy,and σz. The components of λ are found by taking the Trace of the density matrix multiplied by each of the Pauli spin matrices; i.e.

The polarization of cell i, Pi is just the z component of the coherence vector.

The Hamiltonian must also be projected onto the spin matrices as

This vector Γ represents the energy environment of the cell, including the effect of neighboring cells. We can evaluate the explicit expression for Γ by substituting it into our Hamiltonian. This explicit expression is

here S is the effective neighborhood of cell i. The equation of motion for the coherence vector including dissipative effects is

(2)

here τ is the relaxation time, and is a time constant representing the dissipation of energy into the environment. λss is the steady state coherence vector defined as

Δ is the temperature ratio defined as

where T is the temperature in Kelvin. kB is Boltzmann's constant.

The simulation engine evaluates the equation of motion (a partial differential equation) using an explicit time marching algorithm. For each time step the Γ and λss for each cell is evaluated and then the coherence vector for each cell is stepped forward in time.

Engine Options

Bistable Simulation Options

Temperature

The temperature of the simulation in Kelvin. Has an effect on the steady state vector as described above.

Relaxation Time

The relaxation time τ is explained above and determines how quickly the system settles to a steady state.

Time Step

The time step between samples. Because this engine is currently using an explicit time marching algorithm the simulation may become unstable if this value is too large. If the simulation becomes unstable the engine will immediately quit and you will have to reduce the time step. If you set it too small relative to the total simulation time the simulation may take an unreasonable amount of time.

Total Simulation Time

The total duration of the simulation. Be careful not to set this to large if your time step is too small because the simulation may take days! The total number of samples = total simulation time / time step.

Clock Signal

The clock signal in QCADesigner is calculated as a hard-saturating cosine as shown below. The clock signal is tied directly to the tunneling energy in the Hamiltonian.

Clock Signal

Clock High/Clock Low

Clock low and high values are the saturation energies for the clock signal. When the clock is high the cell is unlatched. When it is low the cell is latched. The defaults seem to work in most cases, however, you may wish to play with them.

Clock Shift

The clock shift allows you to add a positive or negative offset to the clock as shown in the above figure.

Clock Amplitude Factor

Clock amplitude factor is multiplied by (Clock High - Clock Low) and reflects the amplitude of the underlying cosine as shown in the above figure.

Radius of Effect

Because the interaction effect of one cell onto another decays inversely with the fifth power of the distance between cells, we do not need to consider each cell as effecting every other cell. This number determines how far each cell will look to find its neighbors. Make sure that at least the next-to-nearest neighbors are included in this radius. If you only allow for the nearest neighbor then I would not expect designs with coplanar crossovers to work. The following figure should help clear this up.

Note that with multilayer capability the radius of effect is extended into the third dimension. Therefore in order to include cells in adjacent layers, make sure that the layer separation is less than the radius of effect.

Relative Permittivity

The relative permittivity of the material system you want to simulate. For GaAs/AlGaAs it is roughly 12.9 which is the default value. This is only used in calculating the kink energy.

Layer Separation

When simulating multilayer QCA circuits, this determines the physical separation between the different cell layers in [nm].

Euler Method/Runge Kutta

Two different algorithms used to evaluate the differential equation.

Randomize Simulation Order

When active, the order in which cells are simulated is randomized in each iteration. I recommend leaving this on.

Animate

When active, the circuit will be animated throughout the simulation. If you zoom into the cells during the simulation you will notice that the polarization of the cells change.

References

[1] J. Timler and C. S. Lent, "Power gain and dissipation in quantum-dot cellular automata", J. Appl. Phys., vol 91, no 2, pp. 823-831, 2002

[2] G. Toth, "Correlation and coherence in quantum-dot cellular automata", Ph.D. Thesis, University of Notre Dame, pp. 56-63, 2000.


Top of the page