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
3 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
6 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 :
- simulate self and mutual inductances for currents circulating around
the holes and for variety of terminal-to-terminal or terminal chain
currents;
- simulate and visualize the current and magnetic field distribution in
(just above) the films.
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
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:
- Start from steady London and Maxwell equations;
- Assume the planarity of superconductor sheets;
- To simplify equations using planarity: current is
2D sheet but magnetic field full 3D;
- To present current using potential representation
called stream function;
- To rewrite the problem in terms of stream function;
- To make some tricks in order to approximate small but
finite thickness of superconductor films;
- To apply for numerical solution Finite Element Method;
- Varying boundary conditions and right parts of equations
obtain the necessary solutions;
- To calculate if necessary inductances via calculating
full energy;
- Make postprocessing of inductance matrix in order to
avoid holes containing zero fluxoids;
- To present sheet current in form of colored maps and
streamlines;
- If necessary assign inductances in predefined equivalent
circuit using calculated inductances. Use for this purpose the
program for analytical calculations MAPLE [8].
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
- The terminals can be placed only at the external boundary of the
conductors;
- 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
- CIF and DXC input;
- Improving the restrictions pointed above;
- Certain improving in numerical technique;
- Output similar to well-known program LMETER (for
compatibility);
- New circuits simulators oriented output;
- Predefined equivalent circuit extraction from
MAPLE to executable;
- New automatic equivalent circuit generation.
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.
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.
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:
- Equivalent circuit nodes are associated with terminals and
have the numbers of these terminals;
- In the output are present pairs of node numbers and
terminal-to-terminal self inductances for these nodes
(as inductor in SPICE [7]);
- For each pair of terminal-to-terminal defined by four node
numbers mutual inductance (in contrast with coupling coefficient
in SPICE) is printed.
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:
- Consider the v×l connectivity matrix A of the equivalent
circuit of the layout with v vertices and l branches.
- 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.
- 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.
- Consider the s×s matrix I of excitation
currents.
- For fundamental loops, calculate matrix of "physical"
inductances L.
- Taking into account the equality of fluxoids,
P·Q·I=L·I and as result we obtain matrix
equation
with s2 equations and l unknowns.
- 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.
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
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:
- The commands are case sensitive.
- The delimiters between the arguments are space ' ', equal sign '=',
comma ',' or tabulation.
- The order of commands (except special cases) is not
important. But the last of similar commands (except ell)
overrides preceding.
- Unknown or erroneous commands are ignored without warning.
- Many commands have a default value.
- The empty strings in the input file are ignored.
The double space at the beginning of a line denotes a comment.
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
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
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:
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:
- One polyline for one single connected conductor. Really it is
not a restriction: polylines can be merged in schematic editor.
- The terminals can be represented by a single segments only
(polylines with one segment). This is specific for the high-Tc
problems D2D was developed.
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.