3D-MLSI
The program for extraction of 3D inductances
of multilayer superconductor circuits

M. M. Khapaev,
Moscow State University,
Dept. of Computational Mathematics and Cybernetics,
Chair of Numerical Methods,
vmhap@cs.msu.su, mkhap@pn.npi.msu.ru,
http://www.cmc.msu.ru/vm/sotr/vmhap



This manual has been written by M. Khapaev and E. Goldobin (Edward@oxxel.de)

Oct 5, 2001
This manual corresponds to 3D-MLSI v1.5

Contents

1  Introduction
2  The purpose of 3D-MLSI
    2.1  Application area
    2.2  Physical definitions
    2.3  Numerical technique
    2.4  Restrictions
    2.5  Further plans
3D-MLSI components and files
    3.1  3D-MLSI tasks flow
    3.2  UPM
    3.3  MLW
    3.4  Predefined equivalent circuit inductances assigning using MAPLE
    3.5  D2D
4  System requirements and installation
5  Native input data file commands
    5.1  Units
    5.2  Input file commands list
    5.3  Command ell
    5.4  Command tp
    5.5  Automatic generation of equivalent circuits and terminal paths
DXC input
    6.1  DXC format
    6.2  D2D converter
    6.3  D2D DXC file restrictions
    6.4  def.thn file
    6.5  TRM file
7  Student version

1  Introduction

Inductance estimation is an essential step in the design of the superconducting devices and circuits. An up-to-date and detailed review of available tools for this problem is found in Survey of Inductance Estimation Tools [1]. Except for a well developed and most frequently used two dimensional program LMETER [3] the majority of the tools are developed for structures with three dimensional (3D) distribution of the current and magnetic field. Up to now, applications of these 3D tools in circuit design have been very challenging due to the difficulties related to the input data representation and time consuming computations.

3D-MLSI package is developed as a 3D inductance estimation tool that is accurate, relatively fast, and compatible with commercial CAD tools such as AutoCAD and CADENCE.

In addition to the extraction of inductances from the layout the 3D-MLSI allows to calculate the current distribution in thin superconducting films. The excitation currents can be either injected via special terminals or induced by the magnetic flux trapped in the holes of the films or induced by external magnetic field.

2  The purpose of 3D-MLSI

2.1  Application area

The 3D-MLSI can simulate both high- and low-Tc superconducting structures composed using parallel thin superconducting films. It is possible to :

2.2  Physical definitions

The package is intended for studying the currents in planar conducting layers separated by layers of dielectric. Let tm be the thickness of conducting layers and dk be the thickness of dielectric layers, k, m - the numbers of the layers. Conducting layers can contain few metal patches of arbitrary shape. Let the number of conductors in all layers be Nc and the total number of holes in all conductors will be Nh. Each conductor (patch) can have current terminals and holes.

In the package it is assumed that
tm << l,     lm ~ tm,
(1)
where l is the typical lateral size of the film (the size of it's most important part for example) in the x-y plane, lm is the London penetration depth.

Each conducting patch has the projection on the (x,y) plane. The boundary of this projection is the subject of input. The position of the patch on z axe is [hm0,hm1], m=1,¼,Nc. We assume that all current terminals are on the external boundary of the conductors. This limitation will be improved in future versions of the program.

For inductances calculation the magnetic field is excited by currents circulating around holes and currents through chains of terminals on the conductors. Let Nt be the number of these terminal chains and Nh the total number of holes in all patches. Thus the total number N=Nt+Nh of excitation currents is the dimension of inductance matrix.

2.3  Numerical technique

The details can be found in [4,5]. Shortly the technique is the following:

The main advantage of equations of stream function technique is very clear problem definition ideally suitable for Finite Element Method solution. The stream function equations by sense and in part by solution are practically similar to well-known Poisson equations and boundary problems for this equation.

Let us pay attention on the fact that excitation currents including terminal and hole circulating currents are taken into account as simple boundary conditions.

2.4  Restrictions

  1. The terminals can be placed only at the external boundary of the conductors;
  2. The height and the thickness of the conductors are assumed to be the same all over the conductor. But different conductors may have different thickness and height.

These restrictions are only technical and can be improved in the future versions of the 3D-MLSI.

2.5  Further plans

3  3D-MLSI components and files

3.1  3D-MLSI tasks flow

The package consists of a pre-processor part UPM, a numerical core MLW, a tool for extraction of predefined equivalent circuit inductances and optional preprocessor part D2D.

Under WINDOWS all components of 3D-MLSI are driven by the graphical shell WPM.

All programs except eqivalent circuit parameters extraction (exists as MAPLE script) create log files for events and errors tracing.

3.2  UPM

The program UPM is the preprocessor. UPM needs an input file name.dat specified as the first argument in the command line. Optionally, the file containing the terminal paths for currents can be specified as the second argument of the command line. If the second argument is omitted, UPM tries to read the terminal path from the file name.tp. As a last resort when the task is to calculate the inductances, the terminal paths are generated automatically. See section 5.5 for details.

As a result of successful execution UPM creates two files: name.upm which contains various data and name.trg which contains triangular mesh.

3.3  MLW

MLW is a numerical core. As input, MLW needs two files: name.upm and name.trg. As output, when executed successfully MLWcreates the files name.psi (solution) and name.out (inductances or other specific data).

If the inductances are used for the circuit simulation and circuit simulator allows matrix component equations, the result can be presented in the form suitable for circuit simulation program. It means:

3.4  Predefined equivalent circuit inductances assigning using MAPLE

Calculated inductances can be used for approximate assigning of the values in a predefined equivalent circuit.

Extraction of the equivalent circuit inductances is based on the following algorithm:

  1. Consider the v×l connectivity matrix A of the equivalent circuit of the layout with v vertices and l branches.
  2. From matrix A, evaluate s×l matrix P of physically relevant fundamental current loops in the circuit. For planar equivalent circuits s = l-v+1.
  3. Consider the symbolic l×v sparse matrix Q. The portrait of Q coincide with portrait of PT. The non-zero values of Q are unknown values of netlist inductances.
  4. Consider the s×s matrix I of excitation currents.
  5. For fundamental loops, calculate matrix of "physical" inductances L.
  6. Taking into account the equality of fluxoids, P·Q·I=L·I and as result we obtain matrix equation
    P·Q=L
    (2)
    with s2 equations and l unknowns.
  7. Solve (2) using the least squares method [8,9] for netlist inductances.

The equivalent circuit and the fundamental loops have to be chosen properly. Fundamental loops have to contain "physically" adequate flux trapped in them.

To apply this technique one needs to use the system of analytical calculations MAPLE. The MAPLE program needs the file name.out produced by MLW and netlist connectivity matrix. As a result netlist inductances are assigned.

This approach needs analysis of circuit work as well as equivalent circuit topology parsing. Topology analysis is the necessary step for other known programs (LM2CIR, [10]) and needs some manual work.

3.5  D2D

The program D2D is an optional converter for some high-Tc applications. It converts DXC layout data to native 3D-MLSI input format. This program is limited to specific configurations and will be substituted in future by powerful and general preprocessor.

For details see the section 6 "DXC input".

4  System requirements and installation

The inductance calculation part is platform independent. It can be compiled for MS WINDOWS or for different versions of UNIX.

Under WINDOWS all parts of the package except eqivalent circuit parameters extraction are driven by the graphical shell WPM. The WPM is also intended for visualization of the results such as current distribution.

The installation is simple. Copy all executable files and dxcview.pal in a directory of your choice and set the shortcut to WPM.

Batch use of UPM and MLW needs setting the PATH variable.

Equivalent circuit parameters assigning script needs MAPLE.

5  Native input data file commands

5.1  Units

If the length of the layout elements is given in mm, the calculated inductance has dimensions of pH.

In the case when the typical length is different then mm it is necessary to present all coordinates in dimensionless units taking a typical length as a unit of length, so that the input data does not contain extremely large or small values. To obtain the right result, it is necessary to multiply the calculated inductances by the unit of length. By other words, the inductance scales proportionally to the physical (linear) dimension of the structure.

If the coordinates are presented in certain CAD units, it is possible to convert them into necessary units automatically during file processing.

5.2  Input file commands list

The input file (DAT file) is a text file which you can create using a text editor. Each line is either a command or a comment. The commands have the form

command_name arg arg .... arg [ arg arg

where arg is a number or a string or a character. The following rules apply:

In this manual the arguments after (or in) square bracket '[' are optional.

The commands are:

cc text string
Descriptive name of the project (will be passed through all task flow);
rem, REM ;
Comment (ignored);

nc=value
Number of conductors;

pb=value
Problem to solve:

0
Calculate the inductance matrix assuming no trapped flux in the holes. Default.
1
Calculate the full inductance matrix for the holes and the terminal paths.
2
Calculate the current distribution for a given flux trapped in the holes, given external magnetic field Hn, and given currents along the terminal paths. WPM can be used to visualize the solution.
3
Calculate the current distribution for a given total currents around the holes, given external magnetic field Hn, and given currents along the terminal paths. WPM can be used to visualize the solution.

The difference between the problem 2 and 3 is the way how 3D-MLSI interprets the arguments of the command hc (see below).

bn=value
External magnetic field Hn (or z - component) normal to the surface of all superconducting films. The default value is 0. Makes sense only for pb=2 and 3.
ah=value
Global finite elements resolution step. The default value is 1.0. The position of this command in the file is important! If another ah command is present later in the input file, it will overwrite the previous value.
tol=value
Tolerance for input points (see command ell). In UPM (but not WPM) the points which are closer than the tolerance are treated as coinciding. The default value is 2× 10-7.

lmbd=value
Global London penetration depth l (mm).
grds=value
Scaling factor to convert CAD units to physical units. For example if one CAD unit is equal to 1 inch, use grds=25400 to convert to mm. The default value is 1.0 and all data will be in mm.
avg=on/off
Conductors finite thickness switch (default is on). If 'on' programs assume the conductors are of finite thickness. In this case commands ms are ignored. If 'off" conductors are presented by infinitely thin current sheets. The position (height) of sheets within conducting patch is then defined by command ms.
tb=on/off
Is valid for pb=2,3 only. If ön" magnetic field on terminals is calculated. Output for this command is in file name.out. The output format is a set of lines as
n    s    x    y        Hn
Here n is terminal number, Hn is lateral, normal (internal normal) to terminal component of magnetic field an (x,y) is the point on terminal where magnetic field was calculated. Value s is non-dimensional parameter (from -1 to 1) for the terminal. This parameter can be used for graphics drawing. If terminal is composed from more then one boundary elements for each boundary element self parameter is used.

mr=on/off
Use/Don't use mirror image technique for current distribution calculation in the presence of the ground plane. The default value is öff".
out=0/1
0 - inductances matrix is in a matrix form (for eqivalent circuit parameters extraction for example); 1 - the matrix is in a circuit oriented form, like SPICE. The output format of each line of output is
m    n    Lmn    tm0    tm1    tn0    tn1
Here n, m are indices of terminal paths (not necessary for SPICE data), Lmn is the inductance (self or mutual), tm0    tm1    tn0    tn1 are indices of the terminals which are used to inject or drain the currents. These indices of the terminals are easily connected with the SPICE input. The default value for this command is 0.

hc n value
The flux value trapped in the hole number n (for pb=2) or the current circulating around the hole number n. The default value for all n is equal to 0.0.
tmpt
T [ Tc [ p  Define the temperature dependence of London penetration depth:
l(T) =  l0


Ö

1-(T/Tc)p
where default values are T=0, Tc=1.0 and p=2.
cond
n h0 h1 [l [ ah Material parameters of conductor number n: h0 is the height of the lower surface, h1 is the height of the upper surface, l is the London penetration depth (overwrites global l), and ah is mesh size (overwrites global mesh size).
ms l s
Sets the position (along z-axis) of the infinitely thin sheet current flowing in the conductor patch number l. The position of the sheet current is given by the following expression z=h0+s(h1-h0). The value of s should be from 0 (bottom surface) to 1 (upper surface). This command works if avg=off.

5.3  Command ell

This is the main command. The command defines a part (a line) of the conductor boundary. The command has the form

ell k form g1 g2 g3 g4 [g5] [type [id

The lines which describe the conductor boundaries are oriented. The orientation ("from" point and "to" point) should be chosen so that the conductor stays on the left side of the boundary, when we move from the starting point to the ending point of a line.

Here is the definition of the arguments of the command:

k
The index of conductor;
form
The form of the conductor part:
0
Straight segment (part of a strait line);
1
Arc defined by center, radius, starting and ending angles;
2
Arc defined by 3 points;
3
Circle;
g1 g2 g3 g4 g5
Real values. Depends of form:
form=0
The segment with origin (g1,g2) and end (g3,g4).
form=1
Arc with center (g1,g2), radius g3, and given by angles from g3 to g4.
form=2
Three-point arc with first point (g1,g2), second point (g3,g4), and last point (g5,g6).
form=3
Circle with center (g1,g2), radius g3, anti-clockwise order for positive g4 and clockwise in other case.
type
Character. Define the type of the component part:
b
Impenetrable edge. Default;
h
Hole with number id;
t
Terminal with number id;
id
Number of a hole or a terminal.

5.4  Command tp

This command sets the current paths for the terminal currents. In general, the paths can not be closed. The command has the form

tp [J=value] i1->i2 i3->i4 ... im->in

where i1, i2, ¼, im, in - the terminal numbers. One tp-command sets one current path. Use several tp-commands to set all required paths. The terminals with the numbers connected by symbols " ->" should belong to the same conductor. It means that the symbol "->" defines the current path within certain conductor for given current path. This command is very flexible. It allows to specify very complex current flow configurations.

Statement J=value is valid for pb=2 or 3 only (no inductances, but current patterns are calculated) and define the full current within the current path.

5.5  Automatic generation of equivalent circuits and terminal paths

The 3D-MLSI allows to generate automatically a simple natural equivalent circuit and assign inductance values for the given layout. The equivalent circuit for each conductor is a ßtar" in which each terminal is connected to all other terminals of this conductor. All possible self and mutual inductances are calculated and all screening currents are taken into account. As a result, the matrix of self an mutual inductances contains a complete set of data for a given layout.

If no terminal paths commands are found the necessary data for pb=1,2 is generated automatically. The command out=1 can be used to represent the inductance matrix in a form close to the SPICE format. It can be used in circuit simulator which allows matrix component equations.

6  DXC input

6.1  DXC format

DXC format is reduced AutoCAD's DXF format. It was developed for the popular program LMETER [3]. The author of DXC writes:


DESCRIPTION

This is a simple flat geometry description format to specify a set
of lines and polylines attached to different layers.

FILE FORMAT

$ENTITIES
$POLYLINE
layerName
termNumber
x0 y0
x1 y1
...
xn yn
$POLYLINE
...
$EOF

NOTES

As many spaces/tabs/newlines may be used as necessary.

Layer names should be declared in technology description file (see
lmeter(5)). They may not start from the dollar sign (it marks
keywords).

While each polyline is assigned an integer number, this number has
meaning only for terminals (that are drawn using layer TERM). If
several polylines in layer TERM share the same number they are
considered to be different parts of one terminal.

The majority of polylines in designs are closed and they should
have the last point xn yx the same as the first one. Terminals are
built from open polylines sometimes (usually when a terminal is
just a straight line on the end of a microstrip line), in this
case they should not have the first point repeated at the end.

While coordinates may be floating point numbers, they should be
integer multiples of the declared gridsize (see lmeter(5)).

BUGS

This format looks ugly in general... ;-)

SEE ALSO

lmeter(1), lmeter(5).

AUTHOR

Paul Bunyk

6.2  D2D converter

For compatibility we have a program D2D for conversion of DXC data to our own 3D-MLSI format, but some manual work still is necessary.

The input files for D2D are: name.dxc, name.trm and def.thn.

The file def.thn contains description of the layers (e.g. the description of the fabrication process). The D2D looks for this file according to the rules of the operational system and opens it automatically.

The file name.dxc (or just name) has to be specified in the command line as the first argument. This file contains the photo-mask information in DXC format.

The file name.trm contains information about the terminals. It can be specified as the second argument in the command line. If it is missing, the D2D looks for the file with the same name as DXC file but with extension "trm".

If D2D executes successfully, the file name.dat is created. This file contains all geometrical and material data, but does not contain information about the current flow paths. The heights of the conductors (in commands cond ...) have to be checked and corrected manually, if necessary.

6.3  D2D DXC file restrictions

DXC drawing have to be prepared as follows:

In future D2D will be substituted by other preprocessor.

6.4  def.thn file

THN file contains the following commands (case sensitive):

physical_layer name who thickness [lambda [flag

and
CAD_layer name invert_flag phys_name_1 ... phys_name_n

Here the name is the user defined name of physical or CAD layer. The parameter who is a character which can be either 's' (superconductor) or 'i' (insulator). The thickness of the layer is given in mm, lambda is the London penetration depth. If invert_flag=1 (default) then this physical layer always exists. If invert_flag=0 then this physical layer is present only if it is drawn in some CAD layer. If invert_flag=1 this CAD layer is inverted and not inverted in case invert_flag=0. phys_name_1¼phys_name_n are physical members of CAD layer.

The order of physical layers is given by order of physical_layer commands. The first command means the lowest layer.

The data presented in the technology definition file is treated in the program D2D by simple but not general algorithm. As a result the heights of conductors in a DAT file need to be checked and corrected, if necessary.

6.5  TRM file

Since DXC file does not contain information about the layers where the terminals are, this information is presented in TRM file. TRM file contains the (case sensitive) strings of the following form:

terminal n CAD_layer_name

where n is terminal number.

7  Student version

Student version has some limitations. The number of conductors nc £ 2, there can be only few tp-commands, and only few holes.

References

[1]
K. Gaj, Q. P. Herr, V. Adler, A. Krasniewski, E. G. Friedman, M. J. Feldman, "Tools for the Computer-Aided Design of Multigigahertz Superconducting Digital Circuits," IEEE Trans. Appl. Superconductivity, vol. 9, pp. 18-38, March 1999.

[2]
T. Van Duzer and C. W. Turner, Principles of Superconductive Devices and Circuits, North Holland: Elsevier, 1981.

[3]
http://pavel.physics.sunysb.edu/RSFQ/RSFQ.html

[4]
M. Khapaev, Ïnductance Extraction of Multilayer Finite Thickness Superconductor Circuits," IEEE Trans. Microwave Theory and Techn., January 2001.

[5]
M. M. Khapaev, Ëxtraction of inductances of plane thin film superconducting circuits," Supercond. Sci. Technol., vol. 10, pp. 389-394, 1997.

[6]
P. P. Silvester and R. L. Ferrari, Finite Elements for Electrical Engineers. Cambrige University Press, 1983.

[7]
P. Antognetti, G. Massobrio, "Semiconductor Device Modeling with SPICE," McGraw-Hill, Second Edition, 1993.

[8]
http://www.maplesoft.com

[9]
C. L. Lawson, R. J. Hanson, "Solving Leasr Squares Problems," Prentice-Hall, Inc, Englewood Cliffs, N.J. 1974.

[10]
S. Polonsky, http://pws.prserv.net/usinet.svpolon/



File translated from TEX by TTH, version 3.01.
On 5 Oct 2001, 14:28.