Units in DevSim


I’m having some trouble figuring out some of the units used in DevSim (So far, I found that all distance related units are in cm).

For example, when calling PrintCurrents(), the function get_contact_current() is called. What are the units for the Current there? I was thinking that it’s probably either A or A/cm^2, but I’m not sure.
Similarly, what are the units for the Electric Field?

Also, is there a way to figure out other units by looking at a specific file or something like that?

The units are based on the parameter values, without any additional scaling. At each contact node, the current is

I_i = \sum_j J_{i,j} \cdot \textrm{EdgeCouple}_{i,j}

where J_{i,j} is the current density flowing into node i from node j. And \textrm{EdgeCouple}_{i,j} is the area of the perpendicular bisector of each edge on the mesh.

Using the default values, the units for J would be \textrm{A/cm}^2. The units for \textrm{EdgeCouple}_{i,j} are based on the mesh, without any scaling:

  • \textrm{cm}^2 in 3D
  • \textrm{cm} in 2D
  • 1 in 1D

The electric field is between two nodes is then:

E_{i,j} = \frac{\psi_j - \psi_i}{\textrm{EdgeLength}_{i,j}}

where \psi_i is in volts and \textrm{EdgeLength}_{i,j} is the distance between the nodes.

If you want your mesh to use different units, you would have to adjust the physical parameters accordingly. Alternatively, you can modify the scripts to do the appropriate unit conversions on the \textrm{EdgeLength} and \textrm{EdgeCouple}.

In the discussion above, please substitute the \textrm{ElectronCurrent} or \textrm{HoleCurrent} edge models for J. Also substitute the \textrm{Potential} node model for \psi.

That makes sense, sorry for the late reply and thank you for the explanation!