Professional Documents
Culture Documents
www.coventor.com
Version 6.3
Coventor, Inc.
This manual and its accompanying materials are licensed to the user for the period set forth in the applicable license agreement,
subject to termination of the license by Coventor, Inc. at any time. The manual at all times remains the property of Coventor, Inc.,
or third parties from whom Coventor, Inc. has obtained a licensing right. The information contained in this manual including but
not limited to the ideas, concepts and know-how, is proprietary, confidential and trade secret to Coventor, Inc. or such third parties
and the information contained therein shall be maintained as proprietary, confidential, and trade secret to Coventor, Inc. or to such
third parties. The information in this manual shall not be copied or reproduced in any form whatsoever, nor is any information in
this manual to be disclosed to anyone other than an authorized representative of the user’s employer who is contractually obligated
not to disclose same, without express prior written consent of Coventor, Inc. The user of this manual and the computer program(s)
referred to herein retains full control over and is solely responsible for the mechanical design of the user’s equipment, machinery,
systems, and products. COVENTOR, INC. MAKES NO WARRANTIES OF ANY KIND, INCLUDING THE WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE EQUIPMENT, MACHIN-
ERY, SYSTEMS, AND PRODUCTS, DERIVED OR RESULTING HEREUNDER, AND THE USER ASSUMES ALL RISKS
AND LIABILITY FOR RESULTS OBTAINED BY THE MANUFACTURING, USE OR IMPLEMENTATION OF THE COM-
PUTER PROGRAMS(S) DESCRIBED HEREIN, WHETHER USED SINGLY OR IN COMBINATION WITH OTHER
DESIGNS OR PRODUCTS. Coventor shall not be liable for any incidental, indirect, special, consequential, or punitive damages.
Coventor makes no warranty that the equipment, machinery, systems, and products derived or resulting hereunder will not infringe
the claims of domestic or foreign patents and further does not warrant against infringement by reason of the user, thereof in combi-
nation with other designs, products, or materials or in the operation of any process. User shall protect, indemnify and hold harm-
less Coventor of and from any loss, cost, damage (including attorney’s fees) or expense arising from any claim that is any way
associated with the computer programs(s) described in this manual. Data presented in examples do not necessarily reflect actual
test results and should not be used as design criteria.
By acceptance of this manual, the user agrees to the above conditions and further agrees that this manual will not be exported (or
re-exported from a country of installation), directly or indirectly, separately or as part of a system, without user or user’s employer,
at its own cost, first obtaining all licenses from the United States Department of Commerce and any other appropriate agency of
the United States Government as may be required by law.
© Coventor, Inc., 2018.
All rights reserved. No part of this work may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
means, electronic or mechanical, including photocopying and recording, or by any information storage or retrieval system without
prior permission in writing from Coventor, Inc. Information in this document is subject to change without notice.
CoventorWare includes software developed by the University of California, Berkeley and its contributors.
CoventorWare is enhanced with Visualization Software from Tecplot, Inc. of Bellevue, Washington, USA.
CoventorWare and the associated documentation incorporate portions of Abaqus/CAE and its associated documentation under
license from SIMULIA, Inc. Abaqus is a registered trademark of SIMULIA, Inc.
Coventor, CoventorWare, MEMS+, CoSolveEM, CoventorWare ANALYZER, CoventorWare DESIGNER, MemElectro, Damp-
ingMM, MemMech, and WHAT’S NEXT, AND NEXT, AND NEXT are registered trademarks of Coventor, Inc. Cary, NC.
DXF is a trademark of Autodesk, Inc.
FLEXnet is a registered trademark of Globetrotter Software, Inc.
I-deas is a trademark of UGS.
MATLAB(r). (c) 1984 - 2018 The MathWorks, Inc.
Permalloy is a registered trademark of B&D Industrial & Mining Services, Inc.
Tecplot is a registered trademark of Tecplot, Inc.
Cadence, Verilog and Verilog-XL are registered trademarks of Cadence Design Systems, Inc.
Excel and Windows 7 are registered trademarks of Microsoft Corporation.
X Window System is a trademark of Massachusetts Institute of Technology.
MUMPs is a registered trademark of MEMSCAP, Inc.
VdmTools is proprietary and copyrighted software of Visual Kinematics, Inc.
All other trademarks or registered trademarks belong to their respective holders.
Contact us at www.coventor.com
Doc Ver 6.3 Rev A Compatible with MEMS+ version 6.3
Table of Contents
M
1.1.4: Defining Properties .................................................................................................. R1-3
Configuring the Material Properties Pane................................................................ R1-3
Edit Properties for Multiple Materials ....................................................................... R1-3
1.1.5: Comment Editor ....................................................................................................... R1-4
1.1.6: Defining Variables.................................................................................................... R1-4
1.1.7: Searching the Material Database............................................................................. R1-4
1.5: References.............................................................................................R1-24
M
3.2.4: Variables .................................................................................................................. R3-3
3.2.5: Comments................................................................................................................ R3-3
Section 4: Innovator
4.1: Canvas..................................................................................................... R4-1
4.8: Icons.......................................................................................................R4-32
M
4.13.1: Export to Zip Archive............................................................................................ R4-40
4.13.2: Export to ACIS File .............................................................................................. R4-40
4.13.3: Export to GDS...................................................................................................... R4-41
Exporting Negative Geometry ............................................................................... R4-41
Exporting Perforations ........................................................................................... R4-42
4.13.4: Export to CoventorWare ...................................................................................... R4-44
Section 5: Simulator
5.1: Simulator Interface ................................................................................. R5-2
5.1.1: Item Library .............................................................................................................. R5-2
5.1.2: Analyses .................................................................................................................. R5-3
Editing Properties .................................................................................................... R5-3
Right-Click Options .................................................................................................. R5-3
5.1.3: Variables .................................................................................................................. R5-4
5.1.4: Exposed Connectors................................................................................................ R5-4
5.1.5: Search Function....................................................................................................... R5-5
5.1.6: Tool Bar Icons.......................................................................................................... R5-5
Scale Controls ......................................................................................................... R5-6
Background............................................................................................................ R5-17
Continuation Algorithm .......................................................................................... R5-18
Pull-In Analysis Properties..................................................................................... R5-19
GetInfo ................................................................................................................... R5-23
Monitoring Simulation Progress............................................................................. R5-23
5.2.5: Alter Operating Point.............................................................................................. R5-24
5.2.6: Alter Variables........................................................................................................ R5-25
5.2.7: Alter Sources.......................................................................................................... R5-25
5.2.8: Vary........................................................................................................................ R5-26
Numerical Results.................................................................................................. R5-27
Vary Analysis vs. DC Sweep Variable ................................................................... R5-28
5.2.9: Model Reduction .................................................................................................... R5-29
Model Reduction Operations ................................................................................. R5-29
Limitations.............................................................................................................. R5-30
Validity Domain...................................................................................................... R5-30
Comparison of Reduced-Order Model and Full Model .......................................... R5-30
Model Reduction Properties Options ..................................................................... R5-31
Generated File ....................................................................................................... R5-33
Running Analyses with Reduced-Order Model...................................................... R5-33
5.2.10: Modal Analysis ..................................................................................................... R5-34
Numerical Results.................................................................................................. R5-35
5.2.11: AC Analysis.......................................................................................................... R5-37
Numerical Results.................................................................................................. R5-37
Viewing Plots ......................................................................................................... R5-38
5.2.12: Nonlinear AC........................................................................................................ R5-39
Viewing Harmonic Plots......................................................................................... R5-41
5.2.13: Frequency Hysteresis .......................................................................................... R5-42
5.2.14: Noise .................................................................................................................... R5-44
Numerical Results.................................................................................................. R5-45
5.2.15: Transient .............................................................................................................. R5-45
5.6: References.............................................................................................R5-48
Section 6: Scene3D
6.1: Viewing Results ...................................................................................... R6-1
6.1.1: Result Tool Bar ........................................................................................................ R6-1
Deform Mode ........................................................................................................... R6-2
Animation Controls .................................................................................................. R6-2
Displacement Scaling .............................................................................................. R6-2
Color By................................................................................................................... R6-3
6.1.2: Harmonic Play and Mode Shapes ........................................................................... R6-3
M
6.1.3: 2-D Graphing ........................................................................................................... R6-3
How to Plot .............................................................................................................. R6-4
How to Configure Plot Display ................................................................................. R6-6
How to Display Data ................................................................................................ R6-6
How to Plot a 2-D Function...................................................................................... R6-7
How Configure Plot Line Display ............................................................................. R6-8
How to Configure Axes ............................................................................................ R6-9
How to Zoom ........................................................................................................... R6-9
How to Plot Multiple Signals .................................................................................... R6-9
How to Export or Import Results............................................................................ R6-10
Notes
Creating a MEMS design starts with a material database. The material database stores the materials used in the fabri-
cation process. Each material has defined properties, including strength, density, conductivity, and thermal character-
istics. Only the materials defined in the material database can be selected in the deposit steps of the process.
Simulation results depend on the physical and chemical properties of the materials that make up the model.
Users can access an existing database or create their own database from the Material Database tab of MEMS+. In
general, the foundry should dictate the material properties for the material used in the process. Any simulations run
using different values will not be as accurate. However, there may be occasions where users will want to update the
database with new materials and material properties.
M
The Material Database Editor is very tolerant; that is, it will not object to data that is unrealistic or that violates
foundry specifications.
Document
tool bar
Item tool bar
Material
Properties
When a material is selected from the Material List, its properties are displayed in the Material Properties pane. If
more than one material is selected from the list, a Material Properties pane will appear for each material.
The Material Properties pane, the Variable pane, the Comment Editor pane, and the tool bars are dockable: they can
be moved to other locations in the interface or left free-standing. To move one of the panes, click and hold on the title
bar, and drag to the desired location. To move a tool bar, click and hold on the vertical bar to the left of the icons, and
drag it to the desired location.
The Variables pane and the Comments pane can be hidden. To hide a pane, click on the X in the upper right corner.
To hide a tool bar, right click in the blank space of the tool bar, and uncheck that option from the list that is displayed.
To display a pane or tool bar after it has been hidden, right click on the title bar of a visible pane, and select the name
of pane or tool bar you want to display.
For a description of the icons available in the Material Database interface, see page U1-11.
Material names must be unique and can only contain letters, numbers, or underscores; no other non-alphanumeric
characters or spaces are allowed. Material names cannot begin with a number. Material names that differ only by
case are not allowed.
From the Material List, you can also copy and paste a material, which makes it easier to create a new material that has
many of the same properties as the original material.
Right-clicking on a material opens a context menu with the following options:
Copy: The keyboard shortcut is Ctrl + C.
Cut: The keyboard shortcut is Ctrl + X. Note that materials cannot be cut from a material database, and then
pasted into another one.
Paste: The keyboard shortcut is Ctrl + V.
Delete: The keyboard shortcut is the Delete key.
Rename: The keyboard shortcut is F2.
Edit Comment: Opens the Comment pane in a detached window for editing. The keyboard shortcut is Alt + C.
Get Info: This option opens an HTML window with all its material property matrices in reference coordi-
nates; see page R1-23 for more information. The keyboard shortcut is Alt + I.
Properties: Opens the Properties pane in a detached window for editing. The keyboard shortcut is Crtl + W.
Alphabetic Sort: Sorts the Materials List in alphabetical order. The keyboard shortcut is Alt + S.
Copying a Material
To copy a material from another database:
1. Open the database to which you want to copy the material.
2. Open the database with the material you want to copy using the top-row Open icon.
3. Click on the target material, and then drag it into the Material List of the target database. You can also use
the copy and paste functions.
M
Expression: If a value is defined by entering an expression in the Value field, only the result of expression is
displayed in the Value field, not the expression that generated that value. If the Expression option is checked,
the Material Properties pane will display that expression in a field beside the Value field. Note that the
expression can be entered in the Expression field or the Value field.
SI Value: This option displays the entered value in International System of Units.
Comment: This option allows the user to annotate individual material properties.
Error Message: By default, error messages are displayed at the bottom of the Material Properties pane. If this
option is selected, the error message will be displayed beside the property that is generating the error.
Only those properties shared between the selected materials will appear in the MultiSelection Properties Window. If
shared properties of the selected materials have the same value, that value is displayed. If they do not have the same
value, As Is is displayed in the property fields (Value, Expression, Units). To see the property value for each material,
use the mouse to hover over the field, and a table with the individual property values will be displayed, as shown in
Figure 1-1.
For more information on editing properties for multiple entities, see the section beginning on page R4-4.
Colors
By default a new material is assigned a random color. To change the color, click on the Value button beside the Color
property, and select one of the predefined colors or click on the ... option to select a custom color.
M
Transparency
By default, a new material is opaque (slider is all the way to the left). To make a material completely transparent,
move the slider to the right all the way to the right.
Wafer Orientation
This option allows the user to orient the material coordinates with the crystalline planes of the material. Depending on
the wafer type as defined by its flat and top normals, the wafer should be oriented so that these normals point in the
correct direction with respect to the canvas coordinate system. For example, by default the reference coordinate sys-
tem (X,Y,Z) coincides with the cube principal axes. As such, the X, Y and Z axes are parallel with the normals of
<100> planes. However, Silicon 100 wafers have a flat normal along the <110> crystalline direction that is at 45
degrees from the <100> direction. Hence, the wafer should be rotated by 45 degrees about the Z-axis so that the flat
normal points in the right direction. MEMS+ simplifies this task by rotating the material properties instead of the part
itself, thus preserving invariant quantities such as Mises stress.
This section outlines the considerations for assigning wafer orientation. [3]
Unless otherwise specified, when referring to directions and angles within a cubic crystal, such as the silicon lattice,
the XYZ-axes are aligned with the <100> direction family, as shown in Figure U1-2. For example, by default in
MEMS+, for traditional elastic constant material property designations such as isotropic, orthotropic, or cubic, the
global coordinate system (X,Y,Z) coincides with the cube principal axes. As such, the X, Y and Z axes are parallel
with the normals of <100> planes. In the context of design, this default implies that if a device layout is aligned with
the XY axis, the X and Y axes of the device will be aligned with the <100> silicon crystal directions. This is illus-
trated in Figure U1-3, which shows the design layout in the CoventorMP Layout Editor; by default the flat of the
"substrate" will be aligned with <100> silicon crystal directions.
While the most commonly encountered convention, and appropriate for devices in which silicon acts simply as the
substrate, this scheme is inappropriate for devices constructed on actual fabrication wafers in which the anisotropic
material properties of silicon are important to the device operation.
For example, in silicon (100) wafers the flat is aligned with the [110] crystalline direction, which is at 45 degrees
from the <100> planes. Figure U1-4 shows the silicon lattice orientation for a common (100) wafer; the X and Y axes
are in the <110> directions.
M
(a) Orientation of a (100) wafer (b) directions and axes in a (100) wafer
Similarly, silicon (110) wafers offer a silicon lattice that features the top surface of the wafer oriented in the (110)
plane of the silicon crystal with the primary flat aligned with the [111] plane. Additionally, secondary wafer flats
located to the right or left of the primary wafer flat indicate the direction of additional <111> planes, as shown in Fig-
ure U1-5:
Figure U1-5 Secondary Flats of Silicon (110) Wafer, <111> Primary Flat
Left secondary flat Right secondary flat
Note that MEMS+ does not currently offer automatic material property transformation for silicon (110) wafers with
flats aligned along <110> planes.
Silicon (111) wafers offer a silicon lattice that features the top surface of the wafer orientated in the (111) plane of the
silicon crystal with the primary flat aligned with the [110] plane:
Given that fabrication wafers feature a variety of silicon crystal lattice orientations, and that even the most common
fabrication wafers do not feature wafer flats aligned with the cube principal axes (parallel to <100> planes), achieving
accurate simulation results involving the anisotropic material properties of silicon is dependent on correctly modeling
two independent input parameters:
designation of material properties
device layout relative to the wafer reference frame
For the second bullet, when modeling a device, the user should enter the MEMS geometry in the layout following the
conventional orientation with the wafer flat "down," i.e., parallel to the floor when the wafer is held up vertically for
examination, or toward the operator when inserted horizontally into processing equipment. This is a consistent
requirement, unless material properties are specifically rotated for a particular device layout.
The first bullet is addressed below. MEMS+ offers these alternatives for assigning material properties for silicon
wafers, depending on the silicon properties known:
1) If the orthotropic elastic constants with respect to the cube principal axes are known
(the directions [100], [010], and [001] are the XYZ Cartesian axes):
MEMS+ simplifies the task of correctly assigning material properties by rotating the material properties instead of the
layout or device itself, thus preserving invariant quantities such as Mises stress.
The elastic constants with respect to the cube principal axes are input using the Elastic Constants: Orthotropic desig-
nation:
Ex =Ey = Ez = 130 GPa
υyz =υzx = υxy = 0.28
Gyz =Gzx = Gxy = 79.6 GPa
To take advantage of this feature in MEMS+, do the following:
For Silicon 100 wafers
Align the wafer top normal with the Z-axis.
Align the wafer flat normal with the negative Y-axis.
Select the Wafer 100 Wafer Orientation option
Figure U1-7 shows a cantilever structure composed of Silicon_100 material using Elastic-Ortho constants. The flat of
the substrate will be aligned with <110> silicon crystal directions. In this case there is no need to rotate the layout or
solid model, or any need to manually transform the orthotropic elastic constants.
M
Making use of the Wafer_100/Orthotropic Elastic Constant functionality is equivalent to having transformed the
material properties manually based on the wafer type or to have used the cube axis-aligned properties and rotated the
model by 45 degrees about the Z axis. Figure U1-8 shows equivalent problem statements when using cube axis-
aligned elastic constants:
2) If the orthotropic elastic constants in the frame of reference of the fabricated wafer are
known:
If the orthotropic elastic constants in the frame of reference of the fabricated wafer are known, for example, the elas-
ticity values in the frame of reference of a standard (100) silicon wafer - where XYZ axes map to [110], [110], [001],
the traditional orthotropic elastic constants can be used. Again, the user is required to follow the convention that
MEMS geometry should be entered in the layout with the notion that the wafer flat normal aligns with the negative Y
axis.
required to either take into account device orientation relative to the wafer frame of reference when computing the
material property values or follow the convention that MEMS geometry should be entered in the layout with the
notion that the wafer flat normal aligns with the negative Y axis.
Euler Parameters
Euler parameters define the orientation of the material axis (x,y,z) with respect to the canvas coordinate system
(X,Y,Z) based on the idea that the orientation of a body (in our case the axis of the material coordinates) can be
defined by a single rotation about a single axis in space, as illustrated in Figure 1-10:
The three Euler parameters rx, ry, and rz define the rotational axis u in space. The counterclockwise rotation angle φ
is defined by the length of the vector (rx,ry,rz):
φ = u =
2 2 2
rx + ry + rz
Note that the three parameters of the Euler Angles and Euler Parameters are identical for rotations about a single
axis of the canvas coordinate system. A simple rotation of 0.05 rad about the Z-axis for example would be in both
cases defined by the three parameters 0, 0 and 0.05.
1.2.3: Density
This material property must be defined. It can be in units of kg/m3 or kg/µm3.
M
σ zz C zzxx C zzyy C zzzz C zzyz C zzzx C zzxy ε zz
=
σ yz C yzxx C yzyy C yzzz C yzyz C yzzx C yzxy γ yz
σ zx C zxxx C zxyy C zxzz C zxyz C zxzx C zxxy γ zx
σ xy C xyxx C xyyy C xyzz C xyyz C xyzx C xyxy γ xy
where [C] is the stiffness matrix.
The constitutive relationship can also be expressed as
–1
ε[ 6 × 1 ] = C[ 6 × 6 ] σ[ 6 × 1 ]
where C-1 is the compliance matrix.
Depending on the type of elasticity the user wants to specify, MEMS+ uses the compliance or the stiffness matrices to
describe the stress-strain relationship. The convention in MEMS+ is to order the stress and strain tensors xx, yy, zz,
yz, zx, xy and to use the common measure of the total shear strain engineering shear strain. Some references order
the tensors differently and/or use a different measure of the shear strain, such as the average shear strain. The user
should be careful to resolve any differences before entering reference material properties into the database.
A material can be considered isotropic, orthotropic, or anisotropic. Isotropic materials have an infinite number of
symmetry planes passing through every point. Orthotropic materials have two orthogonal symmetry planes for the
elastic property. Anisotropic materials have no symmetry planes. When specifying the elastic constants, the user has
these options: Isotropic, Cubic, Orthotropic, or Anisotropic. Each option is explained below.
Isotropic
The user specifies elasticity using Young’s modulus E (in MPa or Pa), and Poisson’s ratio υ. MEMS+ uses the com-
pliance matrix to define the stress-strain relationship:
ε xx σ xx
1 ⁄ E –υ ⁄ E –υ ⁄ E 0 0 0
ε yy –υ ⁄ E 1 ⁄ E –υ ⁄ E 0 0 0 σ yy
ε zz σ zz
= –υ ⁄ E –υ ⁄ E 1 ⁄ E 0 0 0
γ yz 0 0 0 2(1 + υ) ⁄ E 0 0 σ yz
γ zx 0 0 0 0 2(1 + υ) ⁄ E 0 σ zx
γ xy 0 0 0 0 0 2(1 + υ) ⁄ E σ xy
These stability requirements must be met: E > 0, and -1 < υ < 0.5. Poisson ratio values close to 0.5 result in nearly
incompressible behavior; for these ratios some convergence problems may occur.
Cubic
The user specifies elasticity using Young’s modulus E (in MPa or Pa), Poisson’s ratio υ and shear modulus G. The
compliance matrix is used to define the stress-strain relationship as follows:
ε xx σ xx
1 ⁄ E –υ ⁄ E –υ ⁄ E 0 0 0
ε yy –υ ⁄ E 1 ⁄ E –υ ⁄ E 0 0 0 σ yy
ε zz σ zz
= –υ ⁄ E –υ ⁄ E 1 ⁄ E 0 0 0
γ yz 0 0 0 1⁄G 0 0 σ yz
γ zx 0 0 0 0 1⁄G 0 σ zx
γ xy 0 0 0 0 0 1⁄G σ xy
These stability requirements must be met:
E>0
G>0
-1 < υ < 0.5
Poisson ratio values close to 0.5 result in nearly incompressible behavior; for these ratios some convergence problems
may occur.
Orthotropic
The user specifies the elasticity in an orthotropic material using Ex, Ey, Ez, υyz, υzx, υxy, and Gyz, Gzx, Gxy. The com-
pliance matrix is used to define the stress-strain relationship as follows:
ε xx 1 ⁄ Ex – υ yx ⁄ E y – υ zx ⁄ E z 0 0 0 σ xx
ε yy – υ xy ⁄ E x 1 ⁄ Ey – υ zy ⁄ E z 0 0 0 σ yy
ε zz – υ xz ⁄ E x – υ yz ⁄ E y 1 ⁄ Ez 0 0 0 σ zz
=
γ yz 0 0 0 1 ⁄ G yz 0 0 σ yz
γ zx 0 0 0 0 1 ⁄ G zx 0 σ zx
γ xy 0 0 0 0 0 1 ⁄ G xy σ xy
The quantity υij has the physical interpretation of the Poisson's ratio that characterizes the transverse strain in the j-
direction, when the material is stressed in the i-direction. In general, υij is not equal to υji: they are related by υij/Ei =
M
υji /Ej so that
υ yx υ xy υ zx υ xz υ yz υ zy
------- = ------- , ------- = -------, ------- = -------
Ey Ex Ez Ex Ey Ez
The material stability requirements are
Ex, Ey, Ez, Gyz, Gzx, Gxy > 0
Anisotropic
The user defines elasticity in anisotropic materials using twenty-one independent elastic stiffness parameters. The
stress-strain relations are calculated as follows:
For an online tutorial that demonstrates how to compute Young’s modulus and Poisson’s ratio for any elastic
material with cubic symmetry, go to http://www.kaajakari.net/%7Eville/research/tutorials/tutorials.html, and select
the "Silicon as an anisotropic mechanical material" tutorial.
1.2.5: PreStress
This property value defines stress introduced during the fabrication process. The In-Plane Isotropic option defines a
planar stress value (equal in the X and Y directions); because the Z dimension of MEMS layers are usually thin and
fabricated with a batch process, the stress in vertical (Z) direction is assumed to be zero. The Anisotropic option can
be used to define different stress values in the x, y, and z directions of the material coordinates (see “Material Orien-
tation” on page R1-5).
Use negative values for compressive prestress conditions, and use positive values for tensile prestress conditions. The
PreStress material property value can be in units of Pa or MPa.
Use negative values for compressive conditions, and use positive values for tensile conditions.
The Stress Gradient material property value can be in units of Pa/m or MPa/µm.
M
Electrical conductivity must be defined for coupled thermo-electrical analysis and for piezoresistive analysis. This
material property can be in units of S/m or pS/µm. If the electrical conductivity of a material is zero, the material is
considered to be a dielectric. If the electrical conductivity of the material is greater than zero, the material is consid-
ered to be a conductor. In Innovator, conductors are denoted by the symbol in the Components tree.
T
ε[ 6 × 1 ] = H[ 6 × 6 ] σ[ 6 × 1 ] + d[ 6 × 3 ] E[ 3 × 1 ] (1a)
σ Q [ 3 × 1 ] = d [ 3 × 6 ] σ [ 6 × 1 ] + ε rσ [ 3 × 3 ] E[ 3 × 1 ] (1b)
where
ε is the strain vector (dimensionless)
σ is the stress vector N/m2
E is the electric field vector N/C
σQ is the electric charge density displacement vector, C/m2
d is the PZE-strain coupling matrix, C/N
H is the material compliance matrix when there is no electrical field; i.e. E =0, m2/N
εr
σ is the dielectric permittivity (dielectric constant) matrix when there is constant stress (presumably σ =0), C /
2
2
N*m , F/m
The piezoelectric equations written in stress-charge form are
T
σ [ 6 × 1 ] = C [ 6 × 6 ] ε [ 6 × 1 ] – e [ 6 × 3 ] E [ 3 × 1 ] (2a)
σ Q [ 3 × 1 ] = e [ 3 × 6 ] ε [ 6 × 1 ] + ε rε[ 3 × 3 ] E [ 3 × 1 ] (2b)
where
e is the PZE-stress coupling matrix C/m2
C is the material stiffness matrix when there is no electrical field; i.e. E =0, N/m2, MPa
ε r is the dielectric permittivity (dielectric constant) matrix when there is constant strain (presumably strain = 0),
ε
C2/N*m2, F/m
The relationship between the PZE-strain coupling matrix and the PZE-stress coupling matrix is given by the follow-
ing equation:
e[ 3 × 6 ] = d[ 3 × 6 ] C[ 6 × 6 ]
The first part of the right side of equations (1a) and (2a) is governed by the user-specified material stress-strain con-
stitutive relationship shown on Elastic Constants. The second part of the right side of equations (1a) and (2a) is gov-
erned by the piezoelectric coefficients.
T
ε[ 6 × 1 ] = d [ 6 × 3 ] E[ 3 × 1 ]
where ε = the strain vector, and E = the electric field vector, as shown below:
a g m
b h n
a b c d e f
[ d ] = g h i j k l aora [d ] = c i o aC/N (or µC/N)
T
d j p
m n o p q r
e k q
f l r
T
σ[ 6 × 1 ] = –e[ 6 × 3 ] E[ 3 × 1 ]
where σ = stress vector and E = the electric field vector, shown in the following:
M
σ yz e x:yz e y:yz e z:yz
Ez
σ zx e x:zx e y:zx e z:zx
σ xy e x:xy e y:xy e z:xy
The subscripts in MEMS+ are in this order. So the PZE stress coupling matrix is
a g m
b h n
a b c d e f
[ e ] = g h i j k l aora [ e ] = c i o C/m2
T
d j p
m n o p q r
e k q
f l r
T
εr – d[ 3× 6 ] e [ 6 × 3 ] = ε r
σ [ 3× 3 ] ε[3 × 3]
where εr also includes the permittivity of free space; the other terms are defined in the previous sections. The second
term, d*eT, must be diagonal for the piezoelectric coefficients to be considered valid.
T
ε0 εr – d[ 3× 6 ] e [ 6 × 3] = ε0 εr
σ [ 3× 3 ] ε[3 × 3]
where ε0 is permittivity of free space; the other terms are defined in the previous sections. Note that because of this
translation, the numerical values of the Dielectric\Piezoelectric-Strain values for the imported model in Coventor-
Ware will not be the same as the relative permittivity anisotropic at constant strain values set in MEMS+.
To summarize how Piezoelectric Coeffcients\Relative Permittivity are exported:
MEMS+ Piezoelectric Coefficients: Stress Coefficients + Relative Permittivity: Anisotropic at Constant
Strain translate to CoventorWare Piezoelectric-Stress and non-isotropic Dielectric constants.
MEMS+ Piezoelectric Coefficients: Stress Coefficients + Relative Permittivity: Isotropic translate to Coven-
torWare Piezoelectric-Stress and Dielectric isotropic coefficients.
MEMS+ Piezoelectric Coefficients: Strain Coefficients + Relative Permittivity: Anisotropic at Constant
Strain translate to CoventorWare Piezoelectric-Strain and non-isotropic Dielectric constants that differ from
the MEMS+ values (see equation above).
MEMS+ Piezoelectric Coefficients: Strain Coefficients + Relative Permittivity: Isotropic translate to Coven-
torWare Piezoelectric-Strain and non-isotropic Dielectric coefficients in accordance with the equation above.
For more information on piezoelectric materials in CoventorWare, see page U3-19 of Using CoventorWare.
Ex 1 0 0 ix
Ey = ρ0 0 1 0 iy (1)
Ez 0 0 1 iz
where Ei, ii are the electric field and current density respectively parallel to the xi crystallographic axis, and ρ0 is the
stress-free resistivity, which may be tensorial in general.
M
When a stress field is applied, the resistivity is modified and becomes anisotropic. The change in resistivity is related
to the stress tensor through the empirically determined piezoresistive coefficient. For a general material, a total of 81
coefficients (similar to the elastic constants) will be needed. However, for crystals with cubic symmetry like silicon
and germanium, the number is drastically reduced to only three independent coefficients: π11, π12, and π44, which are
tabulated below for the widely used n-type and p-type silicon.
It is important to note that these values are defined with respect to the principal crystallographic axes (<100>, <010>,
<001>) of the material. Therefore, to properly compute the change in resistivity in a numerical simulation, the model
must be oriented carefully so that the underlying wafer's flat and normal are correctly positioned with respect to the
global coordinate system of the solid model.
If the Wafer Orientation property is set to Euler Angles or Euler Parameters, the crystallographic axes of the piezore-
sistive material are aligned with the axes of the material system of reference.
If the Wafer Orientation property is set to Wafer Orientation/ 100 Wafer, 110 Wafer, Second Flat Right, 110 Wafer,
Second Flat Left, or 111 Wafer, the piezo coefficients will be oriented with respect to the wafer orientation. MEMS+
will transform the tensor of coefficients to align one particular direction – <110>– with the global X-axis for the
(100), (110), and (111) wafer type, respectively.
In other words, these material properties correspond to a frame of reference with the X axis perpendicular to the pri-
mary flat for those types of wafers.
For a material, the change in resistivity matrix, R, is computed as follows:
r xx π 11 π 12 π 12 0 0 0 σ xx
r yy π 12 π 11 π 12 0 0 0 σ yy
r zz π 12 π 12 π 11 0 0 0 σ zz (2)
=
r yz 0 0 0 π 44 0 0 σ yz
r zx 0 0 0 0 π 44 0 σ zx
r xy 0 0 0 0 0 π 44 σ xy
where σij are the stress tensor components (σxx, σyy, and σzz are normal stresses, while σyz, σzx, and σxy are shear
stresses).
Ex 1 + r xx r xy r zx ix
Ey = ρ0 r xy 1 + r yy r yz iy (3)
Ez r zx r yz 1 + r zz i z
MEMS+ uses the Galerkin finite element method to solve Ohm’s Law. More specifically, the software solves for the
potential (voltage) as the unknown variable. The potential equation is derived as follows:
From (3) we write:
–1
I = S0 R[3 × 3 ] E (4)
where S0 = 1/ρ0 is the stress-free electrical conductivity, which in general may have a temperature dependence, as
well as depth variation. Both effects can be modeled by MEMS+.
Recalling that
E = – ∇V 1 (5)
and
∇ • I= 0 (6)
–1
– ∇ • ( S R[ 3 × 3 ] ∇V ) = 0 (7)
1.3.2: Density
This material property must be defined. It can be in units of kg/m3 or kg/µm3. The density of a gas is calculated using
the ideal gas law, expressed as a function of temperature and pressure:
p
ρ = -----------------------
M
R specific T
where Rspecific is the specific gas constant for the dry gas:
R specific = R ⁄ M = k B ⁄ m
where M is the molar mass, kB is the Boltzmann constant, and m is the molecular mass.
1.3.3: Viscosity
This material property defines dynamic viscosity of Newtonian fluids. The default value of the dynamic viscosity of
air is based on Sutherland’s formula:
( T0 + S ) T 3 ⁄ 2
μ = μ 0 -------------------- -----
( T + S ) T 0
where µ0 is the viscosity at the reference temperature T0, and S is Sutherland’s constant for the gaseous material in
question.
Units are in Pa*s or MPa*s
In the squeezed-film damping models, this viscosity undergoes a correction to yield the effective viscosity; see page
C4-11 for more details.
1.3.5: Compressibility
The compressibility is defined as
β = – 1 ⁄ V ∗ δV ⁄ δp
where V is the volume and p is the pressure. But the specification above is incomplete because for any object or sys-
tem, the magnitude of the compressibility depends strongly on whether the process is isothermal or isentropic (which
is defined as reversible and adiabatic).
Isothermal compressibility is defined by
β T = – 1 ⁄ V ∗ ( δV ⁄ δp ) T
where the subscript T indicates that the partial differential is to be taken at constant temperature.
Isentropic compressibility is defined as
β S = – 1 ⁄ V ∗ ( δV ⁄ δp ) S
where the subscript S indicates that the partial differential is to be taken at constant entropy.
Isentropic compressibility can also be expressed as
2
β S = 1 ⁄ ( ρc )
where ρ is the density, and c is the speed of sound.
Assuming the ideal gas law, βT and βS can be simplified as
βT = 1 ⁄ p
β S = 1 ⁄ ( γp )
where γ is the adiabatic index. For monoatomic (noble) gases, it is equal to 1.6667, and for diatomic gases, it is equal
to 1.4.
1.5: References
1 J.A.Osborn, “Demagnetizing factors of the general ellipsoid,” Physical Review, vol. 67, nos. 11&12, pp. 351–
357, 1945.
2 J.W. Judy and R. S. Muller, "Magnetically actuated, addressable microstructures," Journal of Microelectrome-
chanical Systems, vol. 6, no. 3, pp 249-256, September 1997.
3 Hopcroft, M. A., Nix, W. D., and Kenny, T.W., "What is the Young’s Modulus of Silicon?," Journal of Micro-
electromechanical Systems, April 2010, Vol. 12, No. 2, pp. 229-238.
2.1: Introduction
The Process Editor allows the user to create a flow emulating the foundry process that will fabricate the MEMS
design. Materials, layer names, mask names, actions (deposit or etch), thicknesses or etch depths, photoresists, and
more are defined in a series of steps. The choice of materials selected in the process flow is dependent on the selected
material database, which stores all the materials and their associated properties needed to fully characterize the pro-
cess flow.
M
The Process Editor is very tolerant; that is, it will not object to data that is unrealistic or that violates foundry
specifications.
Step List
All of these components, with the exception of the Step List are dockable: they can be moved to other locations in the
interface or left free-standing. To move one of the panes, click and hold on the title bar, and drag to the desired loca-
tion. To move the tool bar, click and hold on the dotted vertical line to the left of the icons, and drag it to the desired
location.
With the exception of the Step List, each of these panes or tool bars can be hidden, and the Item Library and Com-
ment Editor are hidden by default. To hide a pane, click on the X in the upper right corner. To hide a tool bar, right
click in the blank space of the tool bar, and uncheck that option from the list that is displayed. To display a pane or
tool bar after it has been hidden, right click on the title bar of a visible component, and select the name of pane or tool
bar you want to display.
Users can hide or display columns in the Step List by right clicking on the title column and selecting the desired
options. Checked items in this menu are displayed, so clicking on an item with a check will hide it.
For a description of the icons available in the Process Editor interface, see page U1-18.
Steps can be copied, pasted, cut, deleted, or renamed by right clicking on the step to select the desired option or by
selecting the appropriate icon above the Item Library.
To disable or enable a step, right click on it and select Enable or Disable. The keyboard shortcut for Enable is Ctrl +
E, and the keyboard shortcut for Disable is Ctrl + D.
M
Database tab, click on the Open Properties icon . The Document Properties dialog will open to display the file
location and name of the material database. Note that this dialog is read-only. See “File Association and Tab Order-
ing” on page U1-7 for details on how to change this file association.
Step Names
Step names are assigned from the Step List.When a step is first added, the step name is highlighted; the user can sim-
ply enter a new step name. To rename a step after the Name column has lost its initial focus, right click on the Name
field, and select Rename. Note that the Substrate step cannot be renamed.
Step names can only contain letters, numbers, or an underscore; no other non-alphanumeric characters or spaces are
allowed, and layer names cannot begin with a number. Step names that differ only by case are not allowed.
For Deposit steps, the name entered in this field appears in the Deposits list of the Innovator component’s property
dialog. For Straight Cut steps, the name entered in the field appears in Cut Step list of the Innovator component’s
property dialog.
Only those properties shared between the selected steps will appear in the MultiSelection Properties Window. If
shared properties of the selected steps have the same value, that value is displayed. If they do not have the same
value, As Is is displayed in the property fields (Value, Expression, Units). To see the value for each step, use the
mouse to hover over the field, and a table with the individual values will be displayed, as shown in Figure 2-1.
For more information on editing properties for multiple entities, see the section beginning on page R4-4.
For users who are importing a GDS file into Innovator to create 3-D solid model geometry, the Layer Table serves as
a means to create the masks that will be specified in the Straight Cut steps. Masks are composite of layers. In turn,
each layer can have a negative layers that will act to subtract geometry from the mask.
To add a mask, right click anywhere on the Layer title or on any empty space in the pane, and select Add > Mask:
To add a layer to a mask, right click on the mask, and select Add > Layer.
M
To add a negative layer, right click on the layer, and select Add > Negative Layer. Negative layers are needed for
GDS export/import and for P-cell generation. When the device is exported to GDS, the negative layer will be com-
bined with its parent to create a single polygon that incorporates the negative geometry (perforations).
The Layer Table also maps the masks used in the Straight Cut steps to the L#D# numbers specified in the GDS file to
be imported.
For users who are exporting a 3-D Innovator model to a GDS file, the Layer Table serves as a means to specify the
L#D# number that each mask will be exported to. Note that in previous versions of MEMS+, the user specified the
GDS number in the Process Step Properties pane and could only specify the L number.
The Design Layer and Purpose columns are used for export to Cadence Virtuoso. The user can enter text in both of
these fields.A typical purpose will be drawing, pin, net, text, etc; however, a foundry may have its own purpose to
more explicitly define the role of the layer, for example, anchor or suspension.When creating a Cadence PDK for a
dedicated technology, a foundry will define the different technology layers name and purpose in a “techfile”. If the
design layer name and purpose entered in the Layer Table match the one entered in Cadence, the MEMS+ schematic
can directly be imported into the Cadence environment dedicated for that given technology. This mapping will allow
the user to run verification tools like DRC and LVS.
Material
Clicking on this field opens a drop-down menu of available materials from the Material Database.
Color: Users can assign a unique color for each step even if the same material is used in multiple steps. This
capability makes it easier to distinguish individual deposits in Innovator and Simulator. Click on the color
name to open a drop-down menu of colors. Clicking on the ... button opens a Select Color dialog that allows
the user to select from more colors or to specify an exact color by Hue, Saturation, and Value or by Red,
Blue, and Green.
Thickness
Specifies the substrate thickness in microns or meters.
Vertical Offset
Offsets the process step deposit in vertical direction; the offset is applied to the bottom plane of the deposit.
When the Piezoresistive model is added to a component, the Vertical Offset is ignored.
M
Material
Clicking on this field opens a drop-down menu of available materials from the Material Database.
Color: Users can assign a unique color for each step even if the same material is used in multiple steps. This ca-
pability makes it easier to distinguish individual deposits in Innovator and Simulator. Click on the color name to
open a drop-down menu of colors. Clicking on the ... button opens a Select Color dialog that allows the user to
select from more colors or to specify an exact color by Hue, Saturation, and Value or by Red, Blue, and Green
(see Figure 2-2).
Thickness
Specifies the deposit thickness. It can be a floating number, a variable, or an expression. For Stacked deposits, the
thickness must be positive.
Vertical Offset
Offsets the process step deposit in vertical direction; the offset is applied to the bottom plane of the deposit. This
parameter can be used to create a planar deposit.
Note that the Vertical Offset applied in the Process Editor differs from the Vertical Offset applied to a component
in Innovator in that the Process Editor Vertical Offset is applied to an entire deposit layer. The Innovator Vertical
Offset is applied to all the deposits used in a particular component.
The Process Vertical Offset is still applied on a component basis: if a component uses a deposit that has a vertical
offset, the offset will only be applied if the deposit does not have another deposit underneath it. If there is another
deposit underneath the offset deposit, the Vertical Offset is ignored. This is demonstrated in the example shown
in Figure 2-3:
Figure 2-3 Vertical Offset Applied to Only Deposit Areas not Restricted by Layer Underneath
Vertical Offset
ignored
Vertical Offset
applied
The component that defines the actuation pad of the switch uses the btmlyr, midlyr, and toplyr2 deposits, so the nega-
tive vertical offset was not applied to the midlyr because it would have put the midlyr in the same space as the btmlyr.
For the component that defines the top of the switch, the midlyr is not constrained by any deposit underneath, so the
negative vertical offset is applied and creates a contact dimple for switch.
The RF Switch tutorial demonstrates how to use the Process Editor’s Vertical Offset to construct a model. See the
tutorial beginning on page T4-1 of the CoventorMP Tutorials for more details.
In this next example, process Vertical Offset is used to embed PZR sensor. The process is shown below:
The PZR sensors are created with the PZR_Implant deposit, which is offset by -1 so that they will be embedded in the
Diaphragm deposit. In this case, the deposit is offset into the Diaphragm deposit because the components used to cre-
ate the PZR sensors only use one deposit.
M
Note that all other components other than the Diaphragm and PZR segments have been hidden
Planar and conformal deposit profiles can be created using an Innovator component’s Thickness Override and
Vertical Offset parameters. See page R2-12 for more details.
2.4.3: Delete
This step allows the user to delete material by specifying a material or by specifying a layer.
Delete By:
Material: If this option is selected, the user specifies the material to be deleted. The drop-down menu that
accompanies this option includes only materials specified for the current process. Note that if the material
appears in more than one step, all the steps that use that material will be deleted.
Layers: If this option is selected, the user specifies a layer(s) for which the material will be deleted. The drop-
down menu that accompanies this option includes only layers specified for the current process.
Mask Name
The name selected in this field determines the mask name exported to a P-cell or the mask name assigned to the
GDS layer when a model is exported to a layout. The available mask names in the drop-down menu are determined
by the mask names in the Layer Table.
If the mask has more than one layer assigned to it in the Layer Table, the Default Layer parameter will become a
drop-down menu that includes all the layers defined for that mask. The user can then select the layer for the
Straight Cut.
Wafer Side
This setting is only used with a sidewall angle (see below). As illustrated in Figure 2-4, when creating the sidewall
profile, the Wafer Side setting determines if the mask extents are set from the top or the bottom of the wafer; the
sidewall angle profile is created at the extents of the mask bounds.
Sidewall Angle
Nominal Value: This option can be a positive or negative floating number between -90 and 90.
Antisymmetric Increments: These settings can be used in conjunction with the Nominal Value to emulate
sidewall angles that are not uniform. For example, when the die is not in the middle of a wafer, and the light
source of the lithography is in the middle of the wafer, then the die sidewall angles would be anti-symmetric.
The tilt angle of each face would be a combination of the scalar angle and the anti-symmetric increments
specified for the X and/or Y faces.
When a nominal sidewall angle is specified, it is the angle of the sidewall with the Z axis when the direction
vector is straight down. When no antisymmetric increments are specified, this sidewall angle is applied uni-
formly to every face.
In order to be consistent with the convention of specifying dies, we select the Cartesian coordinate system to
define the direction vector. The direction vector can be decomposed into two angles as shown below. The in-
crement angle of X/Y is the sidewall angle measured on faces facing X or Y in the center of the die, without
draft angle applied. So, when the draft angle is zero, the etch is the parallel sidewall angle etch.
M
From the mathematical perspective, the direction vector is the vector from the light source to the die center.
The X/Y increment angle is the projection angle of this vector on XZ plane and YZ plane respectively.
The Antisymmetric Increment values have to be between -90 and 90. The sum of the absolute value of the
scalar sidewall angle and the absolute value of the X/Y increment angle should be less than 90.
For a non-zero sidewall angle, an inaccuracy in beam cap construction may occur. It does not affect the physical
model or the GDS extraction. However, it will be seen when exporting to SAT, which is the result of a geometric
limitation (the four points used for beam capping are not co-planar in this case).
Offset
Used to increase or decrease the area of the mask material in the positive or negative XY plane. This value can be
a positive or negative floating number, a variable, or an expression. Note that this setting is only used when a GDS
is exported from MEMS+; it has no effect of simulation results.
GDS Number
Specifies the GDS number of the corresponding mask when an Innovator schematic is exported as a GDS file; see
page U1-22 for more details.
As shown, a thickness override and a vertical offset may be necessary to create a planar profile. Similarly, a vertical
offset may be necessary for a conformal configuration. Vertical offset describes the offset of the layer’s bottom plane
in vertical direction. Note that a vertical offset applied to a component in Innovator is applied to all the deposits spec-
ified for that component.
M
With MEMS+ 6.2, the process file format was changed from .proc to .mproc to prevent MEMS+ and CoventorWare
process files from having the same extension. When a process file from a MEMS+ version earlier than 6.2 is saved in
6.3, it is automatically updated to the .mproc file format. The .proc version of the file is deleted.
To save a process file in the old format, do one of the following:
use the Save As dialog to assign a new name to the .mproc file,
make a copy of the .proc file, and save it to a new location, or
make a copy of the .proc file, and save it under a new name.
Notes
3.1: Introduction
The Component Library module allows the user to create a custom library of components tailored to a specific usage.
With this module the user can
customize the default property values of each component type
lock a property for a given component type
add a custom constraint to a property for a given component type
delete a component type so that it cannot be used in a schematic
M
duplicate and rename component types
With a custom library, a user, such as a foundry, can restrict schematic creation to a subset of the component types,
with default properties values that make sense for one specific process, and can define locks and constraints as
required by their design rules.
In the MEMS+ interface, the Component Library module is accessed from a tab that is situated between the Process
Editor tab and the Innovator tab because it depends on the material database and process files, and an Innovator sche-
matic is dependent on the specified Component Library.
3.2.3: Properties
When a User Library item is selected, the central pane shows its properties. The parameters that are available are
determined by the type of component that is selected. These properties are exactly the same as the ones that would be
displayed in Innovator. The user can enter the values (or expressions) for these properties, and they will the default
values for any component of the same type that is placed in Innovator. For more information on defining properties,
see page R3-6.
M
3.2.4: Variables
As with the Material Database and Process Editor, users can define variables from the Component Library tab. Vari-
ables that were exposed in the Material Database and Process Editor will appear the Component Library’s Variables
list. Users can add variables by right clicking in a blank area of the Variables pane, and selecting Add > Variable.
If you enter a variable name that does not exist in a field, the field will display an error. You can then right click on
the field, and select Add variables; a dialog will open in which you can define a value for that variable. Once you
define the variable value, the variable will be added to the Variables list.
If a component property in the Component Library is defined with an expression that uses a variable, any instance of
that component in an Innovator schematic will also be defined with that expression. For example if the Rectangle
Size X property is defined in the Component Library as 5*GapSize, any Rectangle added to a schematic will have its
Size X property defined with the expression 5*GapSize. Because of this behavior, variables defined in the Compo-
nent Library are exposed by default and cannot be unexposed. Note that property constraints cannot be defined with
expressions that include variables.
For more information on defining variables, see page U1-14 of Using MEMS+.
3.2.5: Comments
The Comments pane displays any comment associated with the component selected in the User Library. To comment
on a component, right click on the component and select Edit Comment.
If the user does not want to restrict schematic access to components, he/she can save the default library document to a
name, and then update the Innovator tab to use this newly created file.
To comment on a component, right click on the component and select Edit Comment. The comment will appear in the
Comment pane of Component Library when the component is selected.
The changes to the Component Library document are reflected in Innovator when the user clicks the update bar in
Innovator. In Innovator, the Add submenu is now almost entirely dependent on the content of the Component
Library's User Library tree, as illustrated below:
Figure 3-3 User Library Contents and Corresponding Add Options in Innovator
M
Note that the Add options in Innovator still includes the Local Frame option, even though it was deleted from the
User Library; the Local Frame is a special component type that is always included in Innovator.
When a component is instantiated in Innovator, it is forever linked to its corresponding item in the Component
Library. The link is based on the full path string of the item in the User Library (based on the names and the types of
the item itself and its ancestors). This link can be seen in the tool tip of the component, as shown below:
Because component instances in Innovator depend on the name of the items in Component Library, renaming a
Component Library item will break the references of already instantiated components in Innovator.
3.4.1: Packages
Adding a Package component to the User Library pane allows the user to create a Package component with pre-
defined package file. An Innovator schematic can only have one Package component, but the User Library can have
multiple Packages.
Note that removing the default Package item from the Component Library (or having only packages that are locked)
will prevent a user from importing any package into Innovator.
The Deposits parameter is set to toplayer, so any Rectangle component added to a schematic associated with this
Component Library will be automatically set to toplayer. Because the Lock property is not checked for the Deposits
property, the user can change the deposit assignment in Innovator. If from the Component Library, the Deposits
parameter is changed to midlayer, existing Rectangle components in the schematic that depend on this Library file
will not be updated to midlayer, but any new Rectangle components created after this change will be assigned to the
midlayer.
Locking Properties
A property can be locked so that it cannot be changed in any instantiation of the component in Innovator. The Proper-
ties pane has a Lock column, which has a corresponding entry for each property. If the Lock column is not visible,
right click on the heading row of the Properties pane, and select Lock, as shown below:
M
To lock a property, check the Lock check box for that property. A locked property must have a value (it cannot be left
as required). Once it is locked in the Component Library, it is visible as read-only in an instantiated component in
Innovator:
When a locked component property is changed in the Component Library and any schematics that use that Compo-
nent Library are updated, the corresponding components are modified. Any old values for this specific property are
modified to match the new locked value and set to read-only.
If the property is unlocked in the Component Library, the corresponding properties of already instantiated compo-
nents in any associated schematic become editable again, but the value is not changed.
A lock is not recursive. In particular, it is possible to lock the choices of a union, but the content of the properties
underneath are still unlocked. Note that a union property is one that involves 1 or n choices among m possibilities; for
example, the Perforation Density parameter has None, Circular, Square, and Rectangular. In this case, it is possible to
customize the content of each choice inside a union. Each choice can be edited and locked independently of other
choices.
For the properties that are arrays (list of 0...n subproperties; for example, freeform beam cross-sections), locking
means forbidding the user to add or remove elements in the array.
Constraints
The user has the option to define constraints for properties. Each property has an associated Constraint field. If the
Constraint column is not visible, right click on the heading row of the Properties pane, and select Constraint (see Fig-
ure 3-4).
To define the constraint, enter an expression in the field; the same functions and binary operators that are used to
define variables can be used to define expressions; see page U1-15 of Using MEMS+ for a list of these functions and
operators. The variable value is reserved in MEMS+ to define constraints. It can be used inside an expression to eval-
uate a constraint relative to the value in the expression field, expressed in the currently selected unit, as illustrated
below:
In our example, the expression is interpreted as a Boolean value. In the context of an instantiated component, the con-
straint expression is evaluated, with the value variable set to the value of the expression, converted from the original
unit (the one selected when the constraint was entered in Component Library) to the target unit (the currently selected
unit in Innovator). If the units are the same, no conversion is performed.
If the user defines a property in an instantiated component in such a way as it does not meet the constraints defined in
the Component Library, the Innovator component property will display an error. For our example, if we define the
width as 2, which does not meet the constraint of value > 5, we see this error when we click on Apply or OK:
The expression interpreter evaluates non-zero numerical values as true, and 0 as false, which can be the cause of
errors. For example, a user could think a valid constraint could be (5 or 6), but this expression would evaluate to (true
or true), and in fact, would evaluate to true no matter what the value of the checked expression is. Instead of (5 or 6),
the constraint should be defined as (value == 5 or value ==6). To reduce this source of error, MEMS+ requires that a
constraint expression use the keyword value at least once, so (5 or 6) to be considered valid.
When a component constraint is edited in the Component Library, and any existing schematic that uses that compo-
nent is updated, the new constraint is copied in the existing properties, and is checked against the current value of the
property expression. The error status of the items (black or red) is updated accordingly. When a constraint is removed
in the Component Library, the same update behavior is triggered.
The variables listed or defined in the Component Library’s Variables pane (T, Pressure, etc.) are also available in
the context of the constraints.
M
Using Other Properties as Constraints
To use another property in a constraint expression, use the following syntax: %Path.To.Other.Property%, where the
Path.To.Other.Property is the junction of the names (with spaces removed) of the full hierarchy. The hierarchy is
delineated by periods(.).
Using a Rectangle component as an example, if you want the size in x to be twice the size in y, enter the following in
the Constraint field of x:
value == 2*%RectangleDefinition.BySize.Size.y%
A constraint can also be defined in terms of a parent component. The syntax is exactly the same, except the path is
prefixed by the keyword Parent: %Parent.Path.To.Other.Property%. An example is shown below:
For this example, the Rectangle component is the parent, and we want to define the size in x for the Rectangular Gap
to be the same as the size in x of the Rectangle. So the constraint for the Gap\Size x is
value == %Parent.RectangleDefinition.BySize.Size.x%
The Vertical Offset property shows up in red because it violates its constraint, which is also defined in terms of the
parent.
Note that when accessing the hierarchy between a parent and child component, Local Frames are not taken into
account and do not have to be referenced in the constraint path. In the previous example, the user could have added a
Local Frame to the Rectangle, and then added the Rectangular Gap to the Local Frame. In that case, the constraint
would still be value == %Parent.RectangleDefinition.BySize.Size.x%.
Limitations
Because of numerical limitations, the "==" comparisons should only be used with integers. If the comparison
must involve a non-integer number, define a new variable with a very small value (e.g. eps=1e-6), then define
the constraint as follows:
value > width-eps and value < width+eps
A property constraint defined in terms of another property works only if the units are strictly identical ([um]
with [um], [m] with [m] etc.). This limitation applies to both the Component Library and Innovator.
Multi-Selecting Components
Shared properties of multiple components can be edited at once by using the Ctrl or Shift key to select the desired
components. If only two components are selected, individual property panes will appear side by side in the central
Component Library pane. If three or more components are selected, the MultiSelection Properties Window appears in
the central pane, as shown below:
Only those properties shared between the selected components will appear in the MultiSelection Properties Window.
If shared properties of the selected components have the same value, that value is displayed. If they do not have the
same value, As Is is displayed in the property fields (Value, Expression, Units, Constraints). To see the property value
for each component, use the mouse to hover over the field, and a table with the individual property values will be dis-
played, as shown in Figure 3-6.
For more information on editing properties for multiple components, see the section beginning on page R4-4.
M
any action that would modify the file, and most tool bar buttons are deactivated, as well as most context menu
actions.
A .mpdk file can also be opened using the command line:
MEMSp.exe --filename path/to/archive.mpdk,
or by double-clicking on a .mpdk file in the Windows file explorer.
A .mpdk file can also be set as a default document, which is opened automatically when a new MEMS+ main window
is created. To set a .mpdk file as the default document, click on Application Options icon in the main toolbar, and
from the MEMS+ tab, enter the desired file in the Default Document field.
By default, the new library is named NewComponentLibrary.mlib, and it is created in the same directory as the pro-
cess file. From this dialog the user can rename or relocate the library file.
Note that if the updated schematic is not saved with a Component Library file, it will open with an error.
File updates are only officially supported for MEMS+ 5.0 or later files. If you have files from older versions of
MEMS+, Coventor recommends that you update them to 5.0 format before updating them in MEMS+6.3.
Section 4: Innovator
The Innovator module allows users to assemble their MEMS device using a library of 3-D parametric components. It
is effectively a 3-D schematic editor for MEMS. As components are added, the user sets the dimension and deposit
information, as well as connects the components to other components. Each component has a rich set of parameters
that can be incorporated in a P-cell implementation. The component then appears on the canvas as the user defines it.
Any mistakes in dimensions or orientation are immediately apparent to the user.
When the model is complete, the user saves the device as a 3-D schematic file (extension .3dsch) and then can export
a 2-D layout in GDS format or a 3-D solid model directly to a CoventorWare project or import the MEMS+ model
into MATLAB, Simulink, or Cadence Virtuoso.
M
This section details the individual components of the Innovator module.
Canvas
4.1: Canvas
The Innovator Canvas displays the components as they are added to the Components list. Any errors that the user
makes in defining a component will be evident in the Canvas. As a component is selected in the Components list,
they appear selected in the Canvas. The user can also select a component in the Canvas, and it will be highlighted in
the Components list. A model can also be manipulated using the following shortcuts:
Multi-select components: hold down the Shift key, then left click and drag the mouse to create a selection box
around the desired components.
Rotate a model: left mouse click and drag
Pan a model: right mouse click and drag
Zoom in or out on a model: press the left and right mouse keys simultaneously and drag (up to zoom out,
down to zoom in), or use the mouse wheel.
Right clicking on a component in the Canvas also opens a menu of options for changing component properties, mate-
rials, orientation, etc.; for information on these options, see page R4-8.
If you correct a property value that is generating an error, the error message will not go away unless you click on
Apply or OK in the Properties dialog.
If the default parameters of a component are set in the Component Library, a component added in Innovator will have
those parameters. If from the Component Library that parameter is designated as Locked, it cannot be changed in any
component of that type that is added in Innovator.
Copying Properties
The individual parameters in the Properties dialog can be copied and pasted into the other fields or in other compo-
nents. To copy an individual value, click in its field, then right click and select Copy. To paste this value in another
M
field, right click in the field and select Paste.
To copy multiple values for a parameter, right click on the parameter name, and select Copy. Then to paste the entire
parameter definition in another component, open that component’s Properties dialog, right click on the parameter
name you would like to define, then select Paste. This particular function is useful if you are defining beams that
touch. You could copy End 2 of the first beam, then when you add a second beam, you could paste the End 2 values
into the End 1 value of the second beam, as shown below:
Only those properties shared between the selected components will appear in the Multi Properties Window. If shared
properties of the selected components have the same value, that value is displayed. If they do not have the same
value, As Is is displayed in the property fields (Value, Expression, Units). To see the property value for each compo-
nent, use the mouse to hover over the field, and a table with the individual property values will be displayed, as
shown in Figure 4-2.
Although most components have a Deposit property, internally, this property has a different name for each type
of component. So if you multi-select components of different types, the Deposit property will not be available in
the Multi Properties Window.
Right clicking on a parameter field that is labeled As Is shows a menu that includes Restore Default and Assign Prop-
erty From:
M
Selecting Restore Default will set the property value of each selected component to the value set for its prototype in
the associated component library. If the selected components were created from different prototypes, they will each
be set to the value specified for its corresponding prototype.
Assign Property From allows you to copy property values from one component to other components. Its submenu is
populated with the names of the selected components. For example, in Figure 4-3, if you select Assign Property From
> Anchor, the Anchor Width will be applied to the Actuation_Pad Width.
In this next example, we use the Assign Property From menu to copy a perforation pattern from one component to
other components. In our example model, for the Inherited Gap for the Pie component, we created a hexagonal perfo-
ration, and we want to propagate that perforation shape to other gaps in our model:
We then multi-select all the gaps in the model, and then right click to select Properties. In the Multiple Properties
Window, we right click on the As Is label in the Fixed Perforation\Geometry field, and select Assign Property From >
/Electrode/Pie/Inherited Gap, and then click on OK. The hexagonal perforation created in the Pie Inherited Gap is
now propagated to all the selected gaps.
M
Multi Properties Window
does not give access individual
values of this property
Also note that if you add an element to an array in the Multi Properties Window, the software assumes that you want
to create a new array for all the selected components, and any existing elements in the selected components will be
deleted. Using the example in Figure 4-6, if you right click on Corners, and select Add Element, all the existing cor-
ners in both components will be deleted, and any new elements you define will be added to both components.
Hide: Hides the selected component from view. Its equivalent icon is . The keyboard shortcut is Alt + H.
Note that this menu option cannot be applied to an individual Rigid Plate segment.
Mirror about X: Copies the selected component and then mirrors the copy about the X axis of the active local
frame. Its equivalent icon is . The keyboard shortcut is Alt + X.
Mirror about Y: Copies the selected component and then mirrors the copy about the Y axis of the active local
frame. Its equivalent icon is . The keyboard shortcut is Alt + Y.
Replicate: Opens a dialog that allows you to duplicate the selected component in the canvas. Its equivalent
icon is . See “Replicate” on page R4-10 for more details. The keyboard shortcut is Alt + R.
Group: Groups the selected components under a Local Frame. Its equivalent icon is . The keyboard short-
cut is Alt + G.
Delete: Deletes the selected component. Its equivalent icon is . The keyboard shortcut is the Delete key.
Rename: When this option is selected, the name of the component is highlighted in the list. The user can then
type a new name for the component. Its equivalent icon is . The keyboard shortcut is F2.
Note that component names can only contain letters, numbers, or underscores; no other non-alphanumeric
characters or spaces are allowed. Names that differ only by case are not allowed.
Get Info: This option opens a dialog that displays model properties for the component in SI units. The key-
board shortcut is Alt + I. The information that is displayed depends on the type of component. For example,
the Get Info window for a Gap component set to the squeezed-film model displays the cavity fluid, viscosity,
mean free path, initial Knudsen number, and squeezed film edge types and protrude settings. For a beam, a
window opens that displays the mechanical connectors locations, and the stiffness, damping, and mass matri-
ces between the connectors.
Properties: Opens the Properties dialog for the selected component. Its equivalent icon is . The keyboard
shortcut is Ctrl + W.
If you right click on a component in the Canvas, the right click menu will display also display the hierarchical depen-
dencies of that component (if any), as well as deposit information for that component, as demonstrated in Figure 4-7:
M
Deposit Options
In addition to the right click options listed in the previous section, a deposit entity also has these right click options:
Show /Hide: Show or hide the selected deposit layer. The keyboard shortcut for Show is Ctrl + Alt + S. The
keyboard shortcut for Hide is Ctrl + Alt + H. Note that for the Rigid Plate, these options can only be applied
to the deposit directly underneath the Rigid Plate component entry; they cannot be applied to the deposit
entries under Rigid Plate segments because these deposits only represent the XY extents of the geometry cre-
ated by the segment. For more explanation of deposits in a Rigid Plate component, see page C3-7.
Restore Default Properties: This option only appears if the user has changed the deposit rendering options. It
resets all rendering to its default status. The keyboard shortcut is Alt + D.
Material: This option opens a dialog that displays the properties of the material that make up the deposit. The
keyboard shortcut is Alt + M. All the properties in this dialog are read only; material properties can only be
changed from the Material Database tab.
Properties: With this option, the user can set the color, transparency, and visible features of a deposit.
From this dialog, the user can specify if a deposit is exported to a SAT file. If the Boolean in SAT option is
checked, all exported deposits with the same name are combined into one layer. Whatever options are applied
to a deposit, they stay applied whether the deposit is visible or not. These changes can be saved with the model.
The keyboard shortcut is Ctrl + R. Note that for the Rigid Plate component, these options can only be set for
the deposit entity directly underneath the Rigid Plate entry, and not to the deposit entities underneath the seg-
ments; see page C3-7 for more details
Replicate
The Replicate function can be used to duplicate a component or a design. It is accessed by right clicking on the
selected component(s) and selecting Replicate. The user selects the number of replicates and specifies their location
relative to the origin of the original component(s). Each duplicate of the original model is placed in its own Local
Frame.
As an example, we want to create an array of switches: two rows of switches, four in each row, with one row rotated
180 degrees. Our original switch has an origin of (0,0). To create the first row, we set the Replicate dialog as shown in
Figure 4-8. Because we are specifying three replicates with an origin offset of 200, the first replicate has an origin of
(0, 200), second replicate has an origin of (0, 400), and the third replicate has an origin of (0, 600). The replicated
devices are grouped in one local frame, and then each replicate is put in its own local frame that has its origin defined
by the Origin Offset defined in the Replicate dialog.
To create the second row of switches, which will be rotated with respect to the first row, we select the original device
and the newly created switches, and set the Replicate dialog as shown in Figure 4-9. The x value of the origin offset
must be large enough so that the second row does not occupy the same space as the first row. And because we want
the new row to align with the original row, we set the y value of the origin offset to the y origin of the last switch.
In this next example, the Replicate function is used to create the arc beams of a ring gyro. The original arc beam com-
ponents are put in a Local Frame, and then the Replicate function is used to rotate and place seven more beams.
4.3: Outputs
The Output pane lists capacitance pins and conductance pins created for the device. Capacitance pins are created
between related electrical connectors. Related connectors are those that were created in relation to one another; for
example, the electrical connector created on a beam when an electrode is added to it and the electrical connector cre-
ated on the electrode itself.
Conductance pins are created when a piezo model is added to a device. The pin is added to connect the two conduc-
tors on either side of the piezo model/deposit.
These pins can be exposed in the MEMS+ symbol for MATLAB, Simulink, or Cadence Virtuoso. To expose a pin,
right click on it, and select Expose Pin. In the simulator, capacitance and conductance pins can be connected to a
resistor, and then connected to a ground.
4.4: Inputs
The Inputs pane allows the user to define which input pins will be available in the imported MEMS+ symbol. These
pins can be used to apply boundary conditions to the system model. The following inputs are available:
Acceleration: Used to apply linear acceleration of the local frame in the X, Y, or Z direction. The tax, tay, and
the taz pins are available. Exposing the tax, tay, or taz pin in Innovator creates a corresponding pin in the
MEMS+ symbol that allows the user to apply an acceleration boundary condition in a simulation. To expose
a pin, right click on it and select Expose Pin.
Angular Velocity: Used to apply an angular velocity of the local frame. It is applied at the point defined by the
M
Center of Rotation parameter, which is accessed by double clicking on the Angular Velocity label or right
clicking on the label and selecting Center of Rotation. Exposing the avx, avy, or avz pin will create a corre-
sponding input pin in the MEMS+ symbol, which will allow the user to apply an angular velocity boundary
condition.
4.5: Connectors
When a component is added to a design, it includes connectors that make it possible to attach it to other components
or to fix it in free space. Depending on the type of component, it will include mechanical, electrical, or fluidic connec-
tors.
It is possible to represent the configuration of mechanical interfaces consisting of the plate center O and the beams
ends connected to the plate, A1, B1 and C1, by a single point (the mechanical connector) that has six degrees of free-
dom. This representation is only possible because O, A1, B1, and C1 are rigidly linked to each other and thus share the
same degrees of freedom. Because the device is rigid, any point on either the plate or any of the attached beams can
serve as the mechanical connector location. Once the translations and rotations of this point are determined, transla-
tions and rotations of any other point on the plate or beam ends can be determined using the appropriate transforma-
tions, as discussed below. The designer usually designates the mechanical connector at a location of interest, such as
a plate center, corner, or edge center (K2 in Figure 4-12).
It is also possible to choose a mechanical connector location that does not lie on any physical surface, but rather
somewhere in space, such as K4 in Figure 4-13:
Even though such selection may not be of interest to the designer, it may be thought of as the position of the free end
of a beam that is connected to any point on the plate or any of the beams ends.
In general, mechanical connectors are always linked rigidly to either: rigid plates, beam faces, shell normals, or brick
nodes.
Mathematical Description
The rotations of a mechanical connector (and its connected rigid links) are expressed in Euler Parameters (rx, ry, and
rz). The Euler parameters define the orientation of the local connector axis (x,y,z) with respect to the canvas coordi-
nate system (X,Y,Z) based on the idea that the orientation of the connector (or any other body) can be defined by a
single rotation about a single axis in space, as illustrated in Figure 4-14:
The three Euler parameters rx, ry, and rz define the rotational axis u in space. The counterclockwise rotation angle φ
is defined by the length of the vector (rx,ry,rz):
M
φ = u =
2 2 2
rx + ry + rz
Euler Parameters can only be interpreted as rotations about the corresponding axis if the new connector orientation
can be described by a simple rotation about one of the three axes of the canvas coordinate system. For example, a
simple rotation of 0.05 rad about the Z-axis would be defined by the three parameters rx=0, ry=0, and rz=0.05. rz
defines the angle about the Z-axis only if rx and ry are 0. The same holds true for individual rotations about the X
or Y axis.
Note that Euler Parameters are not a MEMS+ specific way of expressing rotation degrees of freedom. In fact, most
commercial finite element solvers, such as ANSYS or ABAQUS, use the same definition to describe and calculate
nodal rotations.
Figure 4-16 shows the model in Figure 4-15 after it has experienced translation and rotation. The mechanical connec-
tor, initially at position rK0, moved to position rK. Thus, the displacement of the mechanical connector is K0rK = rK −
rK0. The new position of the beam endpoint rP is determined from the mechanical connector displacement and rota-
tion, keeping in mind that the link connecting the mechanical connector to the beam end is rigid (|K0 rP0| = |K rP|), so
that:
rP = rK + TK K0rP0
where TK is the transformation matrix that describes rotation of the mechanical connector. The 3 x 3 matrix TK is a
function of the rotation angles θx, θy and θz [1].
Any rotation of the mechanical connector can be interpreted as the rotation of the mechanical connector’s local
coordinate system within the canvas coordinate system. The initial orientation of the mechanical connector’s local
coordinate system is the same as that of the canvas coordinate system.
When two or more connectors are connected, they turn green (default color) and, and if they do not overlap, display
lines that demonstrate how they are connected. When two or more connectors are connected, they are rigidly linked
and will move as if they are part of the same rigid body. The rotations are defined with respect to the connector origin.
If a connector is fixed (using the Fix icon or right-click menu), it turns gray (default color). A fixed mechanical con-
nector is constrained in all degrees of freedom.
If a connector is exposed (using the Expose All DOFs icon or right-click menu), it turns magenta.
The default colors for the types of mechanical connectors are set in the Application Options dialog’s Innovator/Col-
ors tab (see page R4-37).
M
that touches a Rigid Plate, the mechanical connector at that end will be connected to the Rigid Plate’s mechanical
connector, with the Rigid Plate mechanical connector as the master. When two connectors are merged, the connector
turns green. Orange connectors are floating connectors, and gray connectors are fixed connectors.
To connect the connectors individually, select all the desired connectors, then click on the Connect icon , or right
click in the canvas or list and select Connect. The equivalent keyboard shortcut is Ctrl + Shift + C.
The order in which the connectors are selected determines how they are connected. The first selected connector is the
central connector, and all other connectors are merged with the first connector. For example, we want to connect all
the mechanical connectors in this gyroscope plate:
If the connector in the lower left corner is selected first, it becomes the central connector. The other connectors are
merged with the first connector. The lines are drawn on the model from each mechanical connection point to the 3-D
point associated with its mechanical connector.
If the central connector is selected first, the other connectors are merged with it, as shown below. Note that this is the
same configuration that would result if the Wizard feature was used.
To disconnect all connectors, right click on the top-level Mechanical Connectors in the Mechanical Connectors pane,
and select Disconnect. To disconnect individual connectors, select them in the canvas or the list, and then click on the
Disconnect icon. This option is also available as a right-click menu option and as the keyboard shortcut Ctrl + Shift +
D. To disconnect an individual connector that has been merged with other connectors, right click on its port connector
(the line that connects the merged connectors), and select Disconnect. Note that in the Mechanical Connectors tree,
the port connection is represented by the icon.
To move the location of a merged connector, right click on the port connector, then select Make Default Connection.
The merged connector location will move from the previous location to the mechanical connector at the other end of
the port connection, as illustrated below.
M
Connecting Non-Coincident Connectors
Connectors on junctions between two adjacent components will not be connected if they do not share the same posi-
tion in space or if they are farther apart than the Wizard’s Connector Overlap Tolerance value. If these connectors are
left unconstrained, the components will not move as if they were continuous, and the simulation results will not be
correct. For example, see the example device in Figure 4-18. The device shown is comprised of three rectangular
plates that are unequal in size and share a common edge. The two larger plates have three nodes in x and y, and the
smaller has two nodes in x and y. There are two nodes that are not coincident with other nodes on the connected
plates; these nodes are highlighted in Figure 4-18. Running the Wizard on this device connects all the connectors at
shared junctions except the highlighted connectors, and even though the device will simulate, the results will not be
correct.
One way to connect nearby connectors that do not coincide is to change the Connector Overlap Tolerance, which is
available in the Document Properties dialog accessed from Open Properties icon. If we change the tolerance to 1
um and rerun the Wizard, the two unconnected mechanical connectors are moved to connect to other mechanical con-
nectors (the green line indicates that a mechanical connector has been moved to make a connection). This rigid link
may cause problems when the device is simulated.
Figure 4-19 Changing Tolerance Connects Connectors, but Creates Rigid Link
M
A better strategy is to use more components so that the mechanical connectors coincide. Figure 4-21 shows the device
constructed with four plates instead of three plates. The edges of the plates that touch each other are the same size and
have coincident connectors. The Wizard is able to connect these connectors without moving them; therefore, the link
between the plates is not too rigid. But with this device, the smaller rectangle has two connectors along the edge that
is adjacent to a rectangle that has three connectors along its edge.
The best practice when connecting components is to have a one-to-one connection of adjacent edges with matching
number of connectors. So for our example device, the best practice is to construct it with five rectangles, as shown in
Figure 4-21. All the adjacent edges have the same number of connectors, and they occupy the same space so that the
Wizard can connect the connectors. This device will simulate faster and give better results.
Merging Geometry
If beams or a beam and a plate intersect at an X,Y coordinate and their mechanical connectors are connected, the
geometry of those components are merged such that there are no gaps between the components. Figure 4-22 demon-
strates how Innovator fills in the geometry of connected components. Note that component geometry is not merged
even if their mechanical connectors are connected if the two components do not intersect at an X,Y coordinate.
M
Exposing Mechanical Pins
A mechanical connector has six mechanical pins, which by default, are not exposed in the MEMS+ symbol created
from the schematic. To expose all of the pins, right click on the connector or one of its port connectors, and select
Expose All DoFs, or select the connector or one of its port connectors, and then click on the Expose All DoFs icon
. The equivalent keyboard shortcut is Ctrl + Alt + E. If a mechanical connector is exposed, it has the symbol
by its name in the Mechanical Connectors list. If a mechanical connector is exposed, all of its pins will appear in the
Exposed Connectors list in Simulator or as individual pins in the MEMS+ symbol/object imported in Cadence, MAT-
LAB, or Simulink. The user can then apply values to these exposed connectors in these simulators.
To expose individual DOF pins, double click on a connector to open the Properties dialog, or right click on a connec-
tor and select Properties. Select the User Defined option, and then select Exposed from the drop-down menu of the
desired degrees of freedom. Only the DOFs that were exposed will appear in the Exposed Connectors list in Simula-
tor or as individual pins in the MEMS+ symbol With this additional pin, you can apply input values and visualize 2-D
plots of the connector displacement.
To hide exposed pins, right click on the mechanical connector, and select Unexpose All DoFs or select the connector
and then click on the Unexpose All DoFs icon . The equivalent keyboard shortcut is Ctrl + Alt + H.
Editing Properties
Double clicking on a mechanical connector opens its Properties dialog. From this dialog, the user can offset a connec-
tor’s location, selectively fix degrees of freedom, and selectively expose pins.
In the case of a beam, for the Initial Position, the x and y positions default to the corresponding beam end coordinates.
The Deposit option defines the z value. If left to default, it defaults to the z coordinate of the middle of the first beam
deposit (from the bottom).
In the case of a rigid plate, the x, y, and z positions default to the center of mass of the rigid plate.
In the case of all other components, the default x, y, and z positions depend on the type of the model (bricks, shell,
Timoshenko beams, Bernoulli beams) selected for the component. For more information, see the individual model
descriptions in the “Underlying Model Theory” on page C6-1.
Cross-Section Warping
The cross-section warping degree of freedom acts as a scale factor of the warping function w(y,z). A warping degree
of freedom set to zero signifies an undeformed or planar cross-section, which is equivalent to a fixed boundary condi-
tion for torsion. Note that the mechanical connector’s cross-section warping degree of freedom is exclusively used in
Timoshenko Beam Elements and is simply ignored for all other types of finite elements. The cross-section warping
can be deactivated for each node by setting the corresponding mechanical connector degree of freedom to fixed. For
more information on this setting, see page C6-5 of the MEMS+ Component Reference.
M
focus on an edge or an integration point will not select that connector. To make the edges or integration points easier
to target, change the visibility properties in the Application Options > Innovator/View tab; see page R4-36 for more
details.
After Wizard
To connect the electrical connectors individually, select all the desired connectors, then click on the Connect icon ,
or right click in the canvas or list and select Connect. The equivalent keyboard shortcut is Ctrl + Shift + C.
To disconnect all electrical connectors, right click on the top-level Electrical Connectors in the Electrical Connectors
pane, and select Disconnect. To disconnect individual connectors, select them in the canvas or the list, then click on
the Disconnect icon . This option is also available as a right-click menu option. The equivalent keyboard shortcut
is Ctrl + Shift + D.
Editing Properties
The exposed properties of an electrical connector can also be edited from the connector’s Properties dialog. To open
this dialog, double click on the connector, or right click on it and select Properties.
Pressure Load
M
Connecting Fluidic Connectors
The Wizard autoconnect feature can be used to automatically connect touching fluidic connector views, as seen Fig-
ure 4-25. The image on the top shows ten disconnected fluidic connectors. The nine line-shaped connectors, created
by a Independently Shaped Gap component, are labeled F1 to F9. The three edge connectors F7, F8, and F9 “touch”
the box-shaped connector F10, which was created by a Fluid Back Chamber.
If the user runs the Wizard on this example, the four touching fluidic connectors will be connected as shown in the
lower image of Figure 4-25. To use the Wizard autoconnect feature, click on the Apply Wizard Actions icon. If fluidic
connectors are connected, they are considered to have the same pressure. In this example, the edge nodes of the
squeezed film gap will be set to the same pressure inside the back chamber.
Note that floating connectors are indicated by an orange color (default). When fluidic connectors are connected, they
turn green. If a connector is fixed (using the Fix icon or right-click menu), it turns gray (default color). The default
colors for the types of connectors are set in the Application Options dialog’s Innovator/Colors tab (see page R4-37).
To connect the fluidic connectors individually, select all the desired connectors, then click on the Connect icon , or
right click in the canvas or list and select Connect. The equivalent keyboard shortcut is Ctrl + Shift + C.
To disconnect all fluidic connectors, right click on the top-level Fluidic Connectors entry in the Fluidic Connectors
pane, and select Disconnect. To disconnect individual connectors, select them in the canvas or the list, then click on
the Disconnect icon . This option is also available as a right-click menu option. The equivalent keyboard shortcut
is Ctrl + Shift + D.
The Wizard may fail to autoconnect fluidic pins when part of a mechanical component is offset vertically. The
vertical offset changes the alignment of these pins so that they no longer touch, and therefore, the Wizard does not
automatically connect them. Fluidic connectors that failed to connect using the Wizard can be connected manually.
Editing Properties
The exposed properties of a fluidic connector can also be edited from the connector’s Properties dialog. To open this
dialog, double click on the connector, or right click on it and select Properties.
M
4.5.4: Restore Connectors to Default Values
If a connector’s state has been changed, the user can restore the default properties by right clicking on the connector
and selecting Restore Default Properties. This action will restore the connector to its original state (initial position,
deposit assignment, Exposed/Unexposed state) before the Wizard was run or before any changes were made by the
user.
Default properties can be restored on individual connectors or on all the connectors in the tree:
From the top level of the connector tree, you can also select Reset Names. This option will restore the default connec-
tor name prefix (M for mechanical connectors, E for electrical connectors, and F for fluidic connectors) and sequen-
tial numbering to all connectors, but the original number order is not preserved. The connectors are renumbered as
they appear in the connector tree, which may not be how they were originally ordered.
4.6: Wizard
The Wizard tool automatically connects mechanical, electrical, and fluidic connectors, applies boundary conditions
designated through component face types, and updates unit scale factors. The Wizard tool is activated by clicking on
the icon.
Wizard actions are configured using the Document Properties dialog, which is accessed from the icon.
Connect
If checked, the wizard will automatically attempt to connect touching components.
Mechanical: For mechanical connectors, the Wizard will apply the following strategies:
First, the Wizard will connect all mechanical connectors that penetrate or touch a rigid plate. It does not con-
nect rigid plates together.
Second, the Wizard will connect all mechanical connectors that share the same position in space.
Third, the Wizard will connect mechanical connectors that closer than the distance specified by the Connector
Overlap Tolerance.
Electrical: If checked, the Wizard will automatically connect all touching electrical deposition layers.
Fluidic: If checked, the Wizard will automatically connect all touching fluidic connectors. A fluidic connec-
tor may represent a cavity, a pressure load or a pressure point in a squeezed film damping component as seen
in the fluidic connector viewing mode.
erties (see page C2-1 of the MEMS+ Component Reference). The Wizard assembles the system matrices of the
complete device and defines scales factors to improve the conditioning of matrices. Only scale factors relevant to
the device will be affected. Note that the algorithm works on a fully linear system; nonlinear effects such as elec-
trostatic or contact forces are not taken into account. Though the scale factors computed are correct for most sim-
ulations, heavily nonlinear simulations might require some adjustments (with the help from the SuggestScaling
tool, when using Cadence simulators, for instance).
Correctly scaled units are an indispensable prerequisite to simulation. This Wizard action should therefore be per-
formed prior to simulations.
Expected Maximum Displacement: From previous simulations or calculations, the user may have a maxi-
mum displacement value that is typical for the device. The Wizard will use this value to evaluate the potential
deformation of the device, and compute all scale factors.
M
4.6.1: When to Run the Wizard
Users should run the Wizard after the initial creation of their device and before simulation. Users should rerun the
Wizard after making any of following changes to their model:
changing the number of integration nodes
changing material property values
changing a dimension
changing model types (Bernoulli, Timoshenko, shell, brick)
4.6.2: Troubleshooting
For troubleshooting tips on Wizard functionality, see the section beginning on page U5-1 of the MEMS+ User Guide.
4.7: Variables
Variables can be referenced in property parameters and used for design optimization. If a variable is used to define
several properties, then the value of all those properties can easily be changed by changing the variable definition.
Variables can be set in the Material Database, the Process Editor, the Component Library, and Innovator. Innovator’s
Variables pane also includes any exposed variables created and saved in the specified material database and process.
For detailed information on using variables, see page U1-14.
4.8: Icons
Innovator includes icons for file management and model manipulation. The icons that are particular to the Innovator
are listed below. When available, the equivalent keyboard shortcut is noted. For an explanation of the icons that are
common to Innovator and other modules, see page U1-11.
Keyboard
Icon Function Description
Shortcut
This icon opens a dialog that allows the user to save in Standard Mode, which
allows the user to save individual files in any location, or Project Mode, which
Save As
allows the user to save the files in a CoventorWare project structure. For more
information on the Project Mode, see page R4-39.
This icon has these options: Export to zip archive, Export to ACIS file, Export to
Export to...
GDS, and Export to CoventorWare. See page R4-40 for more details.
Applies the actions configured in the Open Properties dialog. It can be used to
Apply Wizard automatically connect/disconnect mechanical, electrical, and fluidic connectors;
Actions to correct connections that are invalid, and to update unit scale factors. For more
details, see page R4-30.
Opens a dialog that displays the process file used by the active model and sets
Open the default actions for the Wizard. Note that this dialog cannot be used to change
Ctrl + P
Properties the process associated with the Innovator model; the user must return to the
Process Editor tab to change processes. For more details, see page R4-30.
Component
Default view, makes the components of the model visible Ctrl + Alt + 1
Viewing Mode
Mechanical Makes mechanical connectors and connection lines visible. The transparency of
Connector the solid components can be adjusted from the Application Options dialog’s Ctrl + Alt + 2
Viewing Mode Innovator/View tab; see page R4-36 for more details.
Electrical Makes the electrical connectors visible. The transparency of the solid
Connector components can be adjusted from the Application Options dialog’s Innovator/ Ctrl + Alt + 3
Viewing Mode View tab; see page R4-36 for more details.
Fluidic Makes the fluidic connectors visible. The transparency of the solid components
Connector can be adjusted from the Application Options dialog’s Innovator/View tab; see Ctrl + Alt + 4
Viewing Model page R4-36 for more details.
This icon becomes active if the selected Components entity allows additional
subcomponents. Clicking on this icon opens a drop-down menu of available
Add --
components; selecting one of those components adds it to the selected
component’s hierarchy.
Mirror About
Rotates a copy of the selected entity about the X axis of the active local frame Alt + X
X
Mirror About
Rotates a copy of the selected entity about the Y axis of the active local frame Alt + Y
Y
Used to replicate the selected component; opens a dialog for specifying the
Replicate Alt + R
number of replicates and their offset values. See page R4-10 for more details.
Keyboard
Icon Function Description
Shortcut
Show If the selected part is hidden, clicking on this icon will display it. Alt + S
Get Material Becomes active when a deposit is selected; provides material property
Alt + M
Info information about the selected deposit
M
Properties Opens the Properties dialog for the selected entity Ctrl + W
This icon becomes active if two or more connectors are selected. If selected
connectors are mechanical, when the user clicks on this icon, connectors are
Connect Ctrl + Alt + C
rigidly linked. If the selected connectors are electrical, when the user clicks on
this icon, the connectors are treated as one conductor.
The Fix icon becomes active if a mechanical connector is selected and not fixed.
Fix Ctrl + Alt + F
It is used to fix all the degrees of freedom in the connector.
Float This icon becomes active if an electrical connector is selected and is set to
(electrical) ground.
Ambient If a fluidic connector is selected, this icon appears. It signifies setting the
Ctrl + Alt + F
Pressure corresponding pressure degree of freedom to zero.
This icon becomes active if a fluidic connector is selected and set to ambient
Float (fluidic) pressure (fixed). It can be used to free the connector’s pressure degree of
freedom.
This icon becomes active if an exposed connector is selected. If this user clicks
Unexpose on this icon, the pin(s) will be not be exposed in the MEMS model when it is Ctrl + Alt + H
imported into a simulator.
Hide Imported
Hides all imported GDS or SAT files in the Innovator canvas Ctrl + H
Files
Keyboard
Icon Function Description
Shortcut
Clear Imported Removes all imported GDS or SAT files from the Innovator canvas and from the
Files Imported Files pane
Clicking on this icon exposes two fields to the right of the icon. In the first field,
the user can enter an expression to be evaluated. The expression can include
Calculator
variables defined in MEMS+ and any of the functions listed in Table 1-2. The
expression will be evaluated, and the result will be displayed in the second field.
Hides all the Innovator panes, leaving only the canvas. If Innovator is already in
Full Screen
full-screen mode, clicking on this icon will restore the Innovator panes to view.
Left click +
Rotate Rotates the model.
drag
Right click +
Pan Moves the model in the canvas.
drag
Zooms in on the entire model. The keyboard shortcut for this function is middle
Zoom mouse click and drag. For those users without a middle mouse button, the Wheel
keyboard shortcut is Shift + right click + drag.
Fit to Window Adjusts the view so that the entire geometry fits within the canvas Ctrl + F
Rubberband
Click on icon to drag a rectangle around the area to zoom --
Zoom
Click on this icon to return the model view to the previous state before the last --
Previous View model manipulation
Click on this icon to return to the view before Previous View was invoked --
Next View
Ctrl + 1, Ctrl
Click on the icon to get an oblique (3-D) view of the model, or click on the drop- + 2, Ctrl + 3,
Oblique View
down arrow to choose other options: XY+ view, XY- view, XZ+ view, XZ- view, Ctrl + 4, Ctrl
YZ+ view, or YZ- view. The keyboard shortcuts are listed in respective order. + 5, Ctrl + 6,
Ctrl + 7
Measures the distance between two model vertices. When activated, the user
Measure
clicks to select each vertex, and the measurement tool snaps to the nearest model
vertices. The x,y z location of each vertex is displayed on the Canvas in a blue-
shade box. The resulting measurement is displayed in a white-shaded box; the
dx, dy and dz components of distance vector are also reported. The vertex
--
locations and resulting measurement will remain until another measurement is
taken or until another icon is activated.
Note that the vertices locations may not be displayed if the measured distance is
very small; in this case, zoom in to the area to be measured so that these locations
can be displayed.
Snapshot Saves the current model display as an image in JPEG, PNG, or TIFF format. --
Show Cross Creates a cross section view of the model; oriented by default in the XZ plane.
--
Section Plane Rotate the cross-section plane for different cross section views.
Keyboard
Icon Function Description
Shortcut
Delete Cross
Deletes cross section plane --
Section Plane
For a complete listing of available keyboard shortcuts, see the section beginning on page U6-1.
M
The Scale setting controls the model scale in the selected direction. Adjusting this menu may make it easier to see
features. The user has the option of selecting a number from the drop-down menu or entering a number in the field
and can scale in more than one direction.
The keyboard shortcut for increasing the active scale value is ]. The keyboard shortcut for decreasing the active scale
value is [. Note that the mouse focus must be on the canvas for these shortcuts to work.
4.11.1: View
Axis Visible
This option is checked by default; it makes the X,Y, Z axis is visible in the lower left corner of the canvas.
4.11.2: Colors
M
From this pane, the user can configure the colors for the background of the Innovator canvas, the selection color, and
the colors for the different kinds of connectors. Clicking on any of the buttons in this tab opens a color chooser.
Selection Color
Sets the display color for a selected component or connector.
Connectors
These settings determine the colors of the floating, fixed, connected, and exposed mechanical, electrical, and fluidic
connectors. For more information, see page R4-13.
Attached to Package
This setting determines the color of the connectors that show where the device is attached to a package (if available).
For more information on package attachments, see page C5-5.
4.11.3: Lighting
Use this setting to adjust the distant light position. This setting allows the user to specify the distant light position in
spherical coordinates relative to the camera coordinate system.
Figure D4-28 shows how Innovator computes the distant light position using spherical coordinates.
Figure D4-28 Relationship Between Spherical Coordinates and Camera Coordinate System
z’
ϕ
y’
θ
x’
x’, y’, and z’ represent the camera coordinate system. θ is the azimuth angle, and ϕ is the elevation angle. ν is the
directional vector. Innovator assumes that ν = 1. The user can specify the azimuth and elevation angles, and the Inno-
vator will use those values to compute the distant light position.
M
Copy external files to project
When you click on Save, the MEMS+ files are written to the Devices directory of the selected CoventorWare project
directory.
To export any external files used by the MEMS+ schematic (imported layout, package files, subschematics, etc.),
click on Some files referenced by these documents are not part of the project, then click on Copy to project. These
external files are then copied to the Devices directory of the selected project.
Note that after saving the files into a project directory, the 3-D model is still not part of the project’s database. To
write a model to the database so that it can be opened directly in the CoventorWare Preprocessor, you must export it;
see page R4-44 for more details.
The Innovator schematic can be saved in SAT versions R20, R22, and R24, or in SAB version R24. Note that Coven-
torWare cannot import any SAT file that was created in any version higher than R22.
When a model is exported in SAT format, any curves in the model are preserved, and perforations are preserved. The
SAT does not include any material information, so if the SAT file is imported into a program like CoventorWare, the
user will have to provide material information. When a SAT file is imported into CoventorWare, the user is prompted
to supply a material properties file (.mpd).
To export 3-D geometry and material properties directly to CoventorWare, Coventor recommends using the Export to
CoventorWare function; see Export to CoventorWare.
M
Merge\Subtract parameter:
When this model is exported to GDS, the layer that represents the mirror plate is created from a Boolean of the Mir-
rorPlate and PostHole; the result is a polygon, as shown below:
Figure 4-30 Negative and Positive Geometry Merged into One Polygon
Exporting Perforations
When exporting a perforated model to GDS, the user has two options:
export the holes as geometry on a separate layer
create holes in the positive geometry using a polygon to create the perforated shape
To use the first method, the mask specified for the Straight Cut layer used to pattern the deposit must have a negative
layer defined in the Process Editor’s Layer Table. For example, the Gyroscope Design Tutorial model has a perfo-
rated Rigid Plate. To create the perforations on a separate layer, in the process, we specify a negative layer under the
MechMask, which is then specified for the Straight Cut that etches the Gyroscope deposit:
When the gyroscope model is exported to GDS, the positive geometry of the Rigid Plate is written to the L3D1 layer,
and the negative geometry (perforations) is written to the L3D1 layer:
M
If perforations are created in Innovator but not assigned to a negative layer in the Process Editor, the perforations are
Booleaned with the parent geometry and both are represented in the GDS as a polygon:
Note that a polygon is limited in the number of vertices it can have, so if a perforated plate is very large, it will be
split into several polygons when exported to GDS.
Project
If your MEMS+ files have already been saved in CoventorWare project mode (see page R4-39), the project name
will be displayed in this field. If your schematic is not part of CoventorWare project, you can select a project from
the drop-down menu or select New project (at the end of the drop-down list), and create a project.
Note that the drop-down menu is populated with previously created projects that exist in the work directory you
specified when you first installed CoventorMP; see page 2-5 of the Installation Instructions for more details.
Model
After you have selected a project, use the Model field to create a new model or to select an existing model to over-
write. If you select an existing model from the Model list, click on Confirm overwrite and Export.
If you want to create a new model:
1. From the Model field’s drop-down menu, select New model.
2. Enter the new model name in the Model field.
3. Click on Export. This flow is illustrated in Figure 4-33:
Section 5: Simulator
Simulator allows the user to conduct basic MEMS device analysis to verify the correctness of a device before export-
ing it to MATLAB, Simulink, or Cadence Virtuoso for system simulation. Simulator can be used to run the following
analyses:
DC analysis: steady-state equilibrium with mechanical and electrostatic forcing (see page R5-7)
DC Sweep: electrostatic pull-in and lift-off, and contact (see page R5-10)
Pull-in: computes system instabilities, including pull-in, lift-off, and buckling (see page R5-17)
Modal analysis: includes electrostatic spring softening effects (see page R5-34)
M
Small-signal AC: linear frequency response to mechanical and/or electrostatic forcing (see page R5-37)
Nonlinear AC: computes the harmonic response of the system to inputs at specified frequency (see page R5-
39)
Frequency Hysteresis: computes the nonlinear frequency response of large amplitude motion (see page R5-
42)
Noise: calculates the amplitudes of thermal noise on states and outputs over a specified frequency range (see
page R5-44)
Users can also set up a transient analysis in Simulator that can be run in MATLAB (see page R5-45).
To open a result when the simulation is finished, the user can double click on a result in the Analyses pane to open it
for viewing in Scene3D, or right click on it and select Open in a New Tab (or press Ctrl + T). For more details on
Scene3D, see page R6-1.
5.1.2: Analyses
This pane lists the analyses that have been or will be run for the 3-D model. To add an analysis, right click on the top-
level Analysis label, and select Add, then the select the desired analysis. The user can also add an analysis to this pane
by doubling clicking on the analysis in the Item Library or clicking on the analysis in the Item Tree and dragging it to
the Analyses pane.
Editing Properties
When an analysis is first added to the Analyses pane, its Properties dialog opens automatically. To access an analysis’
properties after this dialog has been closed, double click on the analysis in the Analyses pane, or right click on the
analysis and select Properties.
To edit multiple analyses, use the Ctrl or Shift key to select the desired analyses, and then right click to select Proper-
ties. A single properties dialog, called the Multi Properties Window will open, as shown below:
M
Figure 5-1 Property Window for Multiple Analyses
Only those properties shared between the selected analyses will appear in the Multi Properties Window. If shared
properties of the selected analyses have the same value, that value is displayed. If they do not have the same value, As
Is is displayed in the property fields (Value, Expression, Units). To see the value for each analysis, use the mouse to
hover over the field, and a table with the individual values will be displayed, as shown in Figure 5-1.
For more information on editing properties for multiple entities, see the section beginning on page R4-4.
Right-Click Options
Right clicking on an analysis in the Analyses pane displays options for managing that analysis. The list includes:
Add: This option is only available if the analysis can have a nested analysis. It will include only those analysis
options that are appropriate for that type of analysis.
Copy: Copies the analysis for pasting in another location in the list. Its equivalent icon is . The keyboard
shortcut is Ctrl + C.
Cut: Deletes the analysis, but makes it available for pasting. Its equivalent icon is . The keyboard shortcut
is Ctrl + X.
Paste: Pastes the analysis to another location in the list. Its equivalent icon is . The keyboard shortcut is
Ctrl + V.
Run: Starts the selected analysis. Its equivalent icon is . The keyboard shortcut is Alt + P.
Stop: Stops the selected analysis. Its equivalent icon is . The keyboard shortcut is Alt + L.
Delete: Deletes the selected analysis. The keyboard shortcut is the Delete key.
Rename: When this option is selected, the name of the analysis is highlighted in the list. The user can then
type a new name for the analysis. The keyboard shortcut is F2.
Get Info: Opens a window that has a summary of the analysis results (if the analysis has been executed). The
keyboard shortcut is Alt + I.
Properties: Opens the dialog for setting the analysis parameters. The keyboard shortcut is Ctrl + W.
5.1.3: Variables
Variables can be referenced in analysis parameters and used for design optimization. If a variable is used to define
several parameters, then the value of all those parameters can easily be changed by changing the variable definition.
Variables can be set in the Material Database, the Process Editor, Innovator, and Simulator. Simulator’s Variables
pane also includes any exposed variables created and saved in the specified material database, process, and sche-
matic. For detailed information on using variables, see page U1-14.
The Source Type, DC Value, AC Mag, and AC Phase can be changed directly in the Exposed Connectors pane or in
the exposed connector’s Properties dialog, which is displayed in Simulator by default. If the user has closed this Prop-
erties pane, it can be reopened by right clicking on the connector’s name in the Exposed Connectors pane and select-
ing Properties.
If you make a change in the Exposed Connectors pane after having run a series of analyses, all results will be
deleted; the purpose of this feature is to maintain consistency between the input values shown in the pane and the
available results. To avoid deleting results, override any settings by adding an analysis with the desired settings to
the Analyses pane, rather than changing inputs in this pane.
M
Note that the search function is not case sensitive.
Hides the Simulator panes and the tool bar, leaving only the canvas. If Simulator is already in
Full Screen
full-screen mode, clicking on this icon will restore the Simulator panes and tool bar to view.
Rotate Rotates the model. The keyboard shortcut is left mouse click + drag.
Pan Moves the model in the canvas. The keyboard shortcut is right mouse click + drag.
Zooms in or out on the model. The keyboard shortcut for this function is press the left and right
Zoom
mouse keys simultaneously and drag (up to zoom out, down to zoom in), or use the mouse wheel.
Fit to Window Adjusts the view so that the entire geometry fits within the canvas
Rubberband
Click on icon to drag a rectangle around the area to zoom
Zoom
Click on this icon to return the model view to the previous state before the last model
Previous View manipulation
Next View Click on this icon to return to the view before Previous View was invoked
Click on the icon to get an oblique (3-D) view of the model, or click on the drop-down arrow to
choose other options: XY+ view, XY- view, XZ+ view, XZ- view, YZ+ view, or YZ- view. The
Oblique View
keyboard shortcuts for these views are Ctrl + 1, Ctrl + 2, Ctrl + 3, Ctrl + 4, Ctrl + 5, Ctrl + 6, Ctrl
+ 7.
Measures the distance between two model vertices. When activated, the user clicks to select each
Measure
vertex, and the measurement tool snaps to the nearest model vertices. The x,y z location of each
vertex is displayed on the Canvas in a blue-shade box. The resulting measurement is displayed in
a white-shaded box; the dx, dy and dz components of distance vector are also reported. The
vertex locations and resulting measurement will remain until another measurement is taken or
until another icon is activated.
Note that the vertices locations may not be displayed if the measured distance is very small; in
this case, zoom in to the area to be measured so that these locations can be displayed.
Snapshot Save the current model display as an image in JPEG, PNG, or TIFF format
Show Cross Creates a cross-section view of the model; oriented by default in the XZ plane. Rotate the cross-
Section Plane section plane for different cross-section views.
Delete Cross
Deletes cross section plane
Section Plane
Scale Controls
The Scale setting controls the model scale in the selected direction. Adjusting this menu may make it easier to see
features. The user has the option of selecting a number from the drop-down menu or entering a number in the field
and can scale in more than one direction.
The keyboard shortcut for increasing the active scale value is ]. The keyboard shortcut for decreasing the active scale
value is [. Note that the mouse focus must be on the canvas for these shortcuts to work.
Linear AC
Other available analyses include modal, noise, transient, and reduced-order modeling.
M
Another class of analyses is provided to facilitate the use of the basic analyses; this class includes Vary, Alter Operat-
ing Point, Alter Source, and Alter Variable.
Each of these analyses is explained below.
5.2.1: DC Analysis
A DC analysis calculates the operating point of the system, which can then be input into several types of nested anal-
yses, including DC, DC Sweep, DC Sweep Variable, AC, Nonlinear AC, Noise, Frequency Hysteresis, Modal, Pull-
In, Alter Operating Point, and Transient. The AC, Nonlinear AC, Noise, Frequency Hysteresis, Modal, and Transient
simulations must be nested under a DC analysis, and Transient simulation can only be run in MATLAB.
Tolerances
The DC solver considers the solution converged under these conditions:
1. For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
Numerical Results
To view the numerical results of a DC analysis, right click on the analysis in the Simulator Analyses pane, and select
Get Info. A dialog opens that displays the source settings, outputs, and the state values. The DC Analysis\Get Info
window for the tutorial gyroscope is shown below:
M
For information on how to troubleshoot a DC simulation, see page U5-5 of the MEMS+ User Guide.
5.2.2: DC Sweep
This option allows the user to sweep an exposed connector by defined steps. The Sweep Source menu lists any
exposed connectors. Only one sweep source can be selected.
Tolerances
The DC solver considers the solution converged under these conditions:
1. For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
2. For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the state
vector, X, and the sum of contributions to each connector on the system, F (the function). The reference value is
the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance value
for both the state vector and the function values.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value defin-
ing the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet the stop
criteria before the solution is stable, thus the solution (which is the starting point for the next DC Sweep
point) is not as good as expected. In such case, decrease the DOF tolerance to ensure that at each sweep point,
the solution is correct. In continuous regions (no pull-in), there is no problem with a high DOF tolerance, as
an over-restrictive one would lead to unnecessary iterations. On the other hand, when trying to resolve a sin-
gularity (such as a pull-in), each step before pull-in needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0 (the equilibrium). The Absolute Force Tol-
erance sets the non-proportional part in the actual tolerance value for the solver to consider F(Xn) is close
enough to 0.
Sweep Source
When a source is selected, it will be listed below this option with additional fields:
M
Linear by Number of Steps: The user will specify a Start Value, an End Value and the Number of Points.
Logarithmic by Number of Steps: The user will specify a Start Value, an End Value and the Number of Points,
and the step values will be determined by a logarithmic scale.
Linear by Increment: The user will specify a Start Value, an Upper Limit, and an Increment value.
Logarithmic by Increment: The user will specify a Start Value, an Upper Limit, and an Logarithmic Incre-
ment value, and the increment values will be determined by a logarithmic scale.
Sweep Values: The user will enter set values for the sweep. To enter multiple values, right click on the Sweep
Values label, and select Add Element.
A sweep can be run with increasing or decreasing values; for a reverse sweep that uses increments, enter a negative
value. Note that if a simulation yields unexpected results, try increasing the number of simulation points (increase
the number of increments, steps or user-defined values) used in the simulation. If the number of simulation points
is inadequate, the solver may fail to capture the desired phenomenon.
For information on how to troubleshoot a DC Sweep simulation, see page U5-5 of the MEMS+ User Guide.
Numerical Results
To view the numerical results of a DC Sweep, right click on the analysis in the Simulator Analyses pane, and select
Get Info. A dialog opens that displays the source settings, outputs, and the state values for each DC Sweep step, as
shown below:
For information on how to troubleshoot a DC Sweep simulation, see page U5-5 of the MEMS+ User Guide.
M
Exposed Connectors Override
The expanded list includes any connector exposed in the 3-D schematic. By default, each connector is set to in-
herited, which is whatever value set in the Exposed Connectors pane. The user can enter another value that will
override the value set in the Exposed Connectors pane, but only for that DC Sweep simulation.
DC Solver Settings\Tolerances
The DC solver considers the solution converged under these conditions:
1. For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
2. For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the state
vector, X, and the sum of contributions to each connector on the system, F (the function). The reference value is
the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance value
for both the state vector and the function values.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value defin-
ing the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet the stop
criteria before the solution is stable, thus the solution (which is the starting point for the next DC Sweep
point) is not as good as expected. In such case, decrease the DOF tolerance to ensure that at each sweep point,
the solution is correct. In continuous regions (no pull-in), there is no problem with a high DOF tolerance, as
an over-restrictive one would lead to unnecessary iterations. On the other hand, when trying to resolve a sin-
gularity (such as a pull-in), each step before pull-in needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0 (the equilibrium). The Absolute Force Tol-
erance sets the non-proportional part in the actual tolerance value for the solver to consider F(Xn) is close
enough to 0.
Maximum Solver Iterations: If a simulation has difficulty converging, this setting can be used to increase
the number of iteration points the solver will use to try to reach convergence.
Recursive Iteration Depth: Sets the level of the automatic sweep algorithm; it determines how many times
the algorithm is allowed to divide the voltages by half to try to reach convergence. For example, if the solver
cannot converge using the given voltage, it will divide that value by half, and try again. It will continue divide
the voltage until it succeeds or until it reaches the limit specified by the depth parameter. The default is 8, so
if it fails to converge after dividing the initial voltage 8 times, it will stop the simulation.
M
Numerical Results
To view the numerical results of a DC Sweep Variable, right click on the analysis in the Simulator Analyses pane, and
select Get Info. A dialog opens that displays the source settings, outputs, and the state values for each DC Sweep
Variable step, as shown below:
This window also includes the Variable that was swept and each sweep step:
5.2.4: Pull-In
Pull-In analysis, available in both the Simulator tab as well as within the MEMS+-for-MATLAB environment, is a
general term referring to an analysis capable of computing system instabilities. As the name implies, the Pull-In anal-
ysis (referenced in the MEMS+ interface as PullIn) can be used to compute pull-in voltages, as well as release volt-
ages and the behavior of the device between and beyond those voltages. However, the Pull-in analysis is also useful
in calculating other system instabilities, such as buckling. It avoids the challenges of a DC sweep by using an inde-
pendent variable, assigned the name of lambda, to follow the curve of the many possible solutions to force balance
rather than compute one of the solutions to force balance at a given voltage. Pull-In analysis should be run if the DC
Sweep exhibits a discontinuity or fails to converge. Before attempting a Pull-In analysis; first run a DC Sweep.To
better understand this technique, we first give some background to define terms and the ideas needed to understand
the results.
M
To run the Pull-In analysis, you must have the Advanced Sensor Modeling license bundle. Contact your Coventor
account executive or email sales@coventor.com for more details.
Background
It is well known that the coupling of electrostatic and mechanical forces leads to a small set of voltage values that are
unstable and cause the device to rapidly shift from one state to another [1]. Pull-in is a phenomenon where a small
increase in voltage causes a sudden response, bringing multiple parts of the actuator into contact (or increase the
amount of contact). Release, lift-off, or pull-out are all synonyms for when a small decrease in voltage causes the
parts to decrease the amount of their contact with one another. All these voltages will generally be called instabilities.
Other types of instabilities also exist in MEMS. For instance, compressive stress in a beam fixed at both ends may
cause it to deform upwards. A force applied on its top surface, if large enough, can cause it to suddenly snap through
to being deformed downwards; the device is bi-stable, and the force has pushed it from one buckled state to another.
A typical device will have multiple, feasible equilibria (where the force balance = 0), which may be stable or unstable
solutions, but a DC Sweep simulation will only report a single possible solution. For example, we can run a DC
Sweep on the RF Switch Design Tutorial device from the 0 to 80 V to capture pull-in or from 80 to 0 V to capture lift-
off, but we have to run them as separate analyses. As can be seen in Figure 5-2, which shows the z displacement of
the tip of the RF Switch as a function of voltage applied to the Actuation Electrode, a single voltage value can yield
different displacement results where force balance is satisfied, depending on where the simulation starts. At 12 V the
0 to 80 V curve shows the switch has not been pulled in, but the 80 to 0 V curve shows the switch is still in contact as
lift-off has not been reached.
To compute these curves, the DC sweep must solve for the displacement that balances the electrostatic force deriving
from the applied voltage and the restoring mechanical force of the beam. For some designs, the DC solver may not be
able to find a solution. However, even in cases where the DC solver can compute the equilibrium positions, it can
only report one solution.
Instead of computing the solution to force balance at given voltages as in the DC sweep, the Pull-in analysis follows
the curve of all equilibria solutions. Doing so avoids the jump to unpredictable solutions and also avoids the difficul-
ties in computing a solution near pull-in. The result is a plot the includes all the instabilities and equilibria of the sys-
tem. The plot can include multiple possibilities for each solver input; it is up to the user to identify and investigate the
instabilities of interest. Wherever the curve has an infinite slope is an instability.
Full release
The simulation input is varied using lambda, an independent variable. The user selects at least one exposed connector
to be u(lambda), and sets an initial, minimum, and maximum value for lambda. The profile created by lambda is then
applied to the exposed connector. Successive lambda values are corrected using the continuation algorithm; values
are adjusted so that the force balance is equal to zero.
Continuation Algorithm
The Pull-In analysis uses a continuation algorithm to select lambda values, bounded by the user, which satisfy force
balance. The algorithm starts from an equilibrium point of the system, predicts the next solution based on the current
step size, and then corrects that prediction to enforce equilibrium.
There are two methods for correcting the algorithm prediction: orthogonal correction (shown in Figure 5-4) and arc
length correction (shown in Figure 5-5). The initial guess is yk-1, which is a known solution where force balance is
achieved (calculated with Newton’s method). The algorithm predicts the new solution based on the tangent at yk-1 and
the Step Size, which gives Pk. The algorithm attempts to correct Pk by using Newton's method. If it achieves force
balance (sum of forces = 0), as determined by driving the error < tolerances, it accepts that solution (yk) and the cur-
rent Step Size is multiplied by the Step Size Scaling Factor. If it is unable to achieve force balance using Newton's
method (error remains > tolerances), it divides the current Step Size by the Step Size Scaling Factor to compute a new
Pk and try Newton's method again. The algorithm does this until error < tolerance, and then it accepts the solution or
until it reaches the Minimum Step Size (in which case it automatically accepts the solution and continues with the
simulation).
M
Figure 5-5 ArcLength Correction
In general, the orthogonal corrector is used for linear behavior, and the arc length corrector is for nonlinear behavior,
but in most cases, the orthogonal corrector will be sufficient. The switch from the orthogonal corrector to arc length
corrector is determined by the Lower Limit of Step Size to switch from Orthogonal to Arc Length Corrector parame-
ter; see below.
Step Size
The Step Size settings define the step size used for the prediction step of the continuation algorithm (see page
R5-18). A step size greater than 1 can be meaningful because the system can evolve in dimensions other than
lambda.
.
The Step Size values are normalized with respect to the length of lambda interval, which is the Lambda Domain’s
MaximumValue - Lambda Domain’s MinimumValue.
Initial Step Size: Specifies the first step taken along the solution curve.
Minimum Step Size: Specifies the minimum allowed step for the entire simulation. If achieved, the pre-
dictor step size will not be reduced further.
M
Maximum Step Size: Specifies the maximum allowed step for the entire simulation. If achieved, the pre-
dictor step size will not be increased further.
Step Size Scaling Factor: Specifies a scaling factor for the step size. If the Newton method converges
and all the three acceptance conditions below are satisfied, the next step size will be multiplied by this
factor. Otherwise, the next step size will be divided by this factor.
Corrector
These tolerances use a Newton algorithm to correct the predicted value relative to the correct value (yk in Fig-
ure 5-4 and Figure 5-5). Coventor recommends that for an initial Pull-in analysis, the tolerances should be kept
at very loose values. The Pull-in analysis considers the solution converged under these conditions:
For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the
state vector, X, and the sum of contributions to each connector on the system, F (the function). The reference
value is the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance
value for both the state vector and the function values. This setting can be used to trade solution accuracy
for speed. A smaller relative tolerance gives more accurate results, but requires the simulator to take
smaller steps to meet the tighter requirement, which increases simulation time.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value
defining the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet
the stop criteria before the solution is stable, thus the solution (which is the starting point for the next DC
Sweep point) is not as good as expected. In such case, decrease the DOF tolerance to ensure that at each
sweep point, the solution is correct. In continuous regions (no pull-in), there is no problem with a high
DOF tolerance, as an over-restrictive one would lead to unnecessary iterations. On the other hand, when
trying to resolve a singularity (such as a pull-in), each step before pull-in needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0 (the equilibrium). The Absolute Force
Tolerance sets the non-proportional part in the actual tolerance value for the solver to consider F(Xn) is
close enough to 0.
Maximum Number of Iterations: Specifies the maximum allowed number of Newton iterations. In gen-
eral, for a continuation algorithm, this setting should remain low, while convergence should be achieved
by decreasing the predictor step size via tightening the corrector tolerances or the acceptance conditions.
Lower Limit of Step Size to switch from Orthogonal to Arc Length corrector: Determines when the
Orthogonal or Arc Length corrector is used. By default, the Orthogonal corrector is used. Setting this
parameter to 0 will prevent the algorithm from switching to the Arc Length corrector.
Acceptance Conditions
Bound on Lambda Variation: Limits the allowed difference between the predicted value and the correct
value such that max( abs( projectionOnLambdaAxis(Pk) - projectionOnLambdaAxis(yk) ) ) < Bound on
Lambda Variation value. This setting, along with the Bound on State Vector Length and Step Size Scaling
Factor act as validation conditions.
.
The Bound on Lambda Variation is normalized with respect to the length of lambda interval, which is the
LambdaDomain’s Maximum Value - LambdaDomain’s Minimum Value.
Bound on State Vector Length: Specifies the maximum update of the n-dimension state vector (exclud-
ing lambda) such that max(|| xk - xk-1 ||_2) where xk is such that yk = [ xk, lk].
Angle acceptance condition: Although this condition does not have an associated setting, it is checked at
each iteration. This acceptance condition requires that the corrector vector (yk-1 - Pk-1) and the corrector
vector (yk - Pk) point in the same direction. If the angle modulus between these vectors exceeds pi/2, the
point is not accepted. This condition helps the algorithm to track the same solution branch instead of
jumping from one branch to another.
Maximum Number of Instabilities: Specifies the maximum number of expected instabilities. The instabili-
ties are calculated as the points where lambda direction changes sign (from increasing to decreasing lambda
or vice versa). A continuation algorithm can oscillate at some unstable points. In this case, the number of
changes in the sign of the function can grow without limit, so this setting can be used to stop the calculation.
This number must be an integer ≥ 1.
GetInfo
After a Pull-in analysis is completed, the GetInfo dialog for the analysis gives information about the location of sim-
ulation instabilities and the continuation algorithm acceptance conditions. To access this information, right click on
the Pull-in analysis entry in the Analyses pane, and select Get Info. The Get Info window for the RF Switch Pull-in
analysis is shown below:
M
The first column lists the lambda values used in the simulation. The multiple Step Size values associated with a given
lambda value represent the predictor/corrector iterations. Each time a predictor/corrector iteration did not meet all the
conditions, the step size is reduced by Step Size Scaling Factor (unless it is already at its minimum value).
The Iterations value indicates the number of Newton iterations that was necessary to achieve convergence on each
iteration of predictor/corrector loop.
The Bound on Lambda Variation column compares the value used in the solution step to the value set for Pull-in
Analysis parameter of the same name. If it is less than the value set in the Pull-in Analysis dialog, it will display
PASSED in the GetInfo window for that step.
The Bound on Length of State Vector column compares the value used in the solution step to the value set for the
Pull-in Analysis’ Bound on State Vector Length parameter. If it is less than the value set in the Pull-in Analysis dia-
log, it will display PASSED in the GetInfo window for that step.
The Angle Condition column reports the status of the Angle acceptance condition (see above). The Angle is defined
as ([yk-1, Pk-1], [yk, Pk]), and the GetInfo window reports if it remains on the current solution curve.
Note that a solution may be accepted without verifying the conditions if the step size has reached the Minimum Step
Size.
To get a list of these states, first run a DC analysis, then right click on the DC analysis label in the Analysis tree and
select Get Info. The state names are listed in this window:
The user can then enter a state name in the Alter Operating Point dialog and input a value for this state. The simula-
tion that is then nested underneath the Alter Operating Point entry will use the altered state in its calculations. This
type of analysis is useful for modifying the operating point for another DC analysis, as would be required in buckling
simulations. For example, with a double fixed beam with tensile stress, if you run a DC analysis without using the
Alter Operating Point feature, the result is the metastable solution (beam center will not displace). To simulate the
buckling state, perturb the center point position in one direction and restart the DC analysis. This perturbation would
be done with the Alter Operating Point function.
If you want to alter a large number of states, it may be much more efficient to use a MATLAB-based analysis. For
more information, refer to “User-Defined Custom Analyses in MATLAB” on page U2-81 of MEMS+ User Guide
and to the file //runtime/matlab/+cov/+memsplus/CopyOperatingPoint.m.
M
Selection List. Multiple variables can be selected (using the Ctrl key), and each selected variable will have a corre-
sponding Value field listed under the Variable Selection list.
5.2.8: Vary
This analysis option allows the user to create a series of analyses in which a variable is varied for each analysis. After
defining the Vary loop, the user adds the type of analysis in which the variable is to be varied to the Vary analysis.
Note that with the Vary loop, each nested analysis starts from the unperturbed state.
Sweep Type
This option determine how the variable will be varied. It has the following options:
Linear by Number of Steps: The user will specify a Start Value, an End Value and the Number of Points.
Logarithmic by Number of Steps: The user will specify a Start Value, an End Value and the Number of Points;
the step values will be determined by a logarithmic scale.
Linear by Increment: The user will specify a Start, an End, and an Increment value.
Logarithmic by Increment: The user will specify a Start, an End, and an Logarithmic Increment value.
Sweep Values: The user will enter set values for the sweep. To enter multiple values, right click on the Sweep
Values label, and select Add Element.
Note that the Create Merged Result setting cannot be used with a nested Frequency Hysteresis analysis.
M
Individual vary step
For an example of a Vary analysis, see the section beginning on page T2-35 of the MEMS+ Tutorials.
Numerical Results
For the top-level Vary analysis, there are no numerical results available from the right-click\Get Info menu. Numeri-
cal results are available for any analysis nested underneath the Vary.
M
To use the Model Reduction capability, you must have the Advanced Sensor Modeling license bundle. Contact
your Coventor account executive or email sales@coventor.com for more details.
Nonlinearities
MEMS+ detects nonlinear effects that are inherent in the model and includes them in the reduced-order model. Non-
linearities include
electrostatic spring softening,
Coriolis force,
centrifugal force, and
Euler force
Electrostatic nonlinearities are included for all electrical connectors that are exposed and not connected to a piezo-
electric model. Coriolis force, centrifugal force and Euler force are automatically included based on the exposed state
of avx, avy, avz. The reduced models are always linear with respect to displacement.
Limitations
The reduced-order model has the following limitations:
Mechanics is linear.
Squeezed-film damping is linear.
Contacts models are not supported, so reduced-order models cannot be used to model pull-in and lift-off phe-
nomena.
Validity Domain
To ensure the validity of your reduced-order model:
The DC point should remain close to the DC point used for the ModelReduction extraction (the linearization
point used for the extraction of the reduced system matrices).
For an AC analysis nested under ModelReduction, the frequency should remain close to one of the frequen-
cies preserved in the ModelReduction.
The DOFs of interest should contain meaningful information in the full model simulations. Taking the
MEMS+ single mass gyro tutorial example (see page T2-1 of the MEMS+ Tutorials), consider an AC analy-
sis of the comb direction; the Z displacement calculated in the AC analysis is below the numerical precision
(it is very small and varies from one simulation to another), so the ROM cannot be expected to capture this
phenomenon.
If one of these conditions does not hold, a ROM may give results that differ significantly from the full model.
The ROM model is comparable as both the modal frequencies of interest, representing the driving and sense modes of
the dual mass gyroscope, have been preserved. The other frequencies reported in the Export Model Get Info dialog
are of no interest for model validation purposes. Because this is a purely mechanical simulation, for N modes
requested by the user, up to N+1 additional modes are artificially added to the reduced-order model in order to
improve its numerical stability. Only the modes that were explicitly requested by the user should be considered mean-
ingful. Discrepancies between the Modal analysis (without MOR) and the ROM model for unselected frequencies
can be expected.
M
Exposed Connectors DC Value
The expanded list includes any connector exposed in the 3-D schematic. By default, each connector an Inherited
DC Value Override, which is whatever value set in the Exposed Connectors pane. The user can enter another value
that will override the value set in the Exposed Connectors pane, but only for this model reduction.
Note that the exported file is a linearized model, and the reduction basis is obtained for a single operating point
defined by inputs specified in the Exposed Connectors pane or by the Exposed Connectors DC Value. If no non-
linearities are included in the export, all linearizations will be made around this operating point. A modal analysis
is conducted around this operating point from which the desired modes are preserved. Thus, correctly setting the
operating point is of great importance, and this can be done by entering the values in the Exposed Connectors pane
or using the overrides in the Model Reduction dialog.
If a user extracts a reduced model (no matter the format) using positions sources, it may be more convenient to nest
ModelReduction under AlterSources, rather than to change source type to 'position' in Exposed Connectors pane.
In this way, the modal analysis can be still performed with force source, and display the correct frequencies for
parameterizing the ModelReduction item.
DC Solver Settings
To perform the model extraction, a number of DC analyses will be conducted, depending on the number of non-
linear sources and their orders. To this end, the same settings as for a DC analysis are accessible under the DC
Solver Settings:
Tolerances: The DC solver considers the solution converged under these conditions:
For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the
state vector, X, and the sum of contributions to each connector on the system, F (the function). The reference
value is the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance
value for both the state vector and the function values.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value
defining the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet
the stop criteria before the solution is stable, thus the solution is not as good as expected. In such case,
decrease the DOF tolerance to ensure that at each sweep point, the solution is correct. In continuous
regions (no pull-in), there is no problem with a high DOF tolerance, as an over-restrictive one would lead
to unnecessary iterations. On the other hand, when trying to resolve a singularity (such as a pull-in), each
step before pull-in needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0 (the equilibrium). The Absolute Force
Tolerance sets the non-proportional part in the actual tolerance value for the solver to consider F(Xn) is
close enough to 0.
Maximum Solver Iterations: If a simulation has difficulty converging, this setting can be used to increase
the number of iteration points the solver will use to try to reach convergence.
Recursive Iteration Depth: Sets the level of the automatic sweep algorithm; it determines how many times
the algorithm is allowed to divide the voltages by half to try to reach convergence. For example, if the solver
cannot converge using the given voltage, it will divide that value by half, and try again. It will continue divide
the voltage until it succeeds or until it reaches the limit specified by the depth parameter. The default is 8, so
if it fails to converge after dividing the initial voltage 8 times, it will stop the simulation.
Export to Format
Options are Verilog-A and MROM. Verilog-A can be imported into Virtuoso/Spectre, and MROM can be imported
into MATLAB and MATLAB Simulink. Note that if you are going to run any analyses on the reduced-order mod-
el in Simulator, this option must be set to MROM.
Model Reduction
With model order reduction, the MEMS+ mechanical degrees of freedom are replaced by reduced degrees of free-
dom corresponding to preserved modes. Ideally, one reduced degree of freedom is needed for each preserved
mode; nevertheless, in practice more reduced DOFs are needed to correctly reproduce preserved modes and op-
erating points. Model Reduction allows the user to set the modal solver settings and specify the frequencies at
which the modes are preserved in the modal decomposition of the model.
Modal Solver Settings: The user can adjust the following:
Maximum Number of Iterations: If a simulation has difficulty converging, this setting can be used to
increase the number of iterations the solver will use to try to reach convergence.
Tolerance: Sets the tolerance for convergence. Decreasing this value may make it easier for the simulation
to converge.
Preserved Modes/Mode to Preserve: Allows the user to specify the frequency at which the modes are pre-
served in the modal decomposition of the model. To add more frequency points, right click on the Preserved
Modes label, and select Add Element.
Target Frequency: Specifies the frequency of interest, which has usually been identified with a previous
modal analysis.
Q Factor: If left to inherited, the Q factor will be the one associated with the Innovator schematic. If a
value is entered, it will override the corresponding Q-factor with this value. The specified value must be
greater than the inherited value.
Generated File
Running the Model Reduction analysis will generate a Verilog-A file (*.va) or a MATLAB\Simulink file (* .mrom),
which is a text file that can be opened with a text editor. The file is written to the same location as the schematic file.
M
Note the following:
Scale factors are commented out on top of the file.
All exposed connectors are arguments of the model (or module in Verilog-A language).
The mechanical connectors are not present and instead are the reduced degrees of freedom (reduced_0 to
reduced_4) that correspond to the order reduction. Exposed mechanical connectors, although not accessible
as sources, can be printed out as outputs, as they are reconstructed from the reduced states.
For a demonstration of how to use the Model Reduction function, see the following tutorials:
the Gyroscope tutorial, starting on page T2-106 of the CoventorMP Tutorials.
the Double Mass Gyroscope tutorial, starting on page T2-26 of the MEMS+ Tutorials
AC, Modal) on an ROM, and compare the obtained results with those of the full model used for ROM extraction. One
specific application of ROM is to run an AC analysis at a specified Q-factor.
In the example shown in Figure 5-9, a reduced-order model is generated from a gyroscope, then DC analysis is added
to the Model Reduction. Note that the exposed connectors have to be set in the DC analysis because it inherits the val-
ues from Simulator’s Exposed Connectors pane, not the Model Reduction operation. Then an AC analysis is added to
the DC analysis, and is executed. For comparison, the reduced-order model AC results are plotted with the same AC
analysis performed on the full model.
Mechanical Only
Check this option to compute eigenmodes of only the solid mechanical states of the system. Damping is not in-
cluded nor are spring effects from fluidic forces such as those from squeezed film damping at high frequency.
Modal Solver
There are two modal solver options:
Sparse Modal Solver: This solver is the default; it is fast, but less robust (the simulation may have conver-
gence issues). It should be used for big problems, and the fewer modes requested, the faster the computation.
By default, it is set to solve for three modes, but the user can increase or decrease this value. The Sparse
solver has advanced settings that may be used if the simulation has convergence problems (Maximum Num-
ber of Iterations, Tolerance) or if you would like to target a specific portion of the frequency spectrum (Target
Frequency, Target Frequency Q factor), but the default settings are sufficient for most simulations.
Maximum Number of Iterations: If a simulation has difficulty converging, this setting can be used to
increase the number of iterations the solver will use to try to reach convergence.
Tolerance: Sets the tolerance for convergence. Decreasing this value may make it easier for the simulation
to converge.
Target Frequency: If the device has a large number of degrees of freedom, specifying a Target Frequency
with the Number of Modes = 1 will make the simulation run faster.
Target Frequency Q Factor: Use this setting if you know both the frequency of interest and the associated
Q factor. It will save simulation time because instead of computing many modes, you will run the sparse
solver with only one mode, a target frequency, and the target Q factor.
Note that with the Sparse solver:
Only n-1 modes can be reported by the Sparse solver, where n is the number of degrees of freedom as
reported in the top-level Components’ Get Info function.
The simulation may report less than the number of specified modes because of convergence difficulties.
Simulation times for the Sparse solver may be very long when dealing with overdamped modes.
The Sparse solver is not able to recover modes overdamped (modes with zero imaginary parts) by
Rayleigh damping. So if the Sparse solver reports “not converged” entries in the Modal Get Info window,
it is likely to be the result of overdamping induced by Rayleigh damping.
Dense Modal Solver: This solver is slow, but robust. It should be used for small problems or big problems
that fail to converge with the Sparse solver.
Numerical Results
Once a modal analysis finishes, the user can view the results in Scene3D. To view the numerical results of a modal
analysis, right click on the analysis in the Simulator Analyses pane, and select Get Info. A dialog opens that displays
the mode frequencies, Q factor, and maximum translational and rotational DOFs for each frequency, as shown below:
5.2.11: AC Analysis
An AC analysis drives a device either electrostatically or mechanically over a specified frequency range and reports
its response of the device. It is dependent on a DC operating point, so it can only be added to a DC analysis.
M
Exposed Connectors Override
The expanded list includes any connector exposed in the 3-D schematic. By default, each connector is set to in-
herited, which is whatever value set in the Exposed Connectors pane but only for this AC simulation.
Sweep Type
Linear by Number of Steps: The user sets Start Frequency, End Frequency, and Number of Points.
Logarithmic by Number of Steps: The user sets Start Frequency, End Frequency, and Number of Points.
Linear by Increment: The user sets Start Frequency, End Frequency, and an Increment size.
Logarithmic by Increment:The user sets Start Frequency, End Frequency, and a Logarithmic Increment.
Frequency Values: The user enters set values for the frequency. To enter multiple frequency values, right
click on the Frequency Values label, and select Add Element.
Numerical Results
Once an AC analysis finishes, the user can view the results in Scene3D. To view the numerical results of an AC anal-
ysis, right click on the analysis in the Simulator Analyses pane, and select Get Info. A dialog opens that displays the
sum of the DC linearization point and AC amplitudes, source settings, state values, and simulation frequencies. The
GetInfo window also reports the simulation time at the bottom of the window. A sample AC GetInfo is shown in Fig-
ure 5-10:
Viewing Plots
AC analysis includes DC and AC results, which are summed together when the signal is plotted. The individual DC
result can be plotted separately: In Scene3D, after plotting the signal of interest, right click on the signal in the Graphs
pane, and select Properties. In the dialog that opens, for Harmonics setting, enter 0 to plot the DC result. The default
value is 1, which is the plot of the AC + DC result.
Note that if you plot AC results generated with a previous version of MEMS+ or generated in Cadence Spectre with
a model from MEMS+ 6.3 or a previous version, you will not have the Harmonics option.
5.2.12: Nonlinear AC
Nonlinear AC analysis computes the harmonic response of the system to inputs at specified frequency, f1. For a non-
linear system, the response is a sum of sinusoids at harmonics of the input, f1. The response is represented by the
complex harmonic amplitudes, Xn, defined by
iω 1 t i2ω 1 t inω 1 t
x ( t ) = Re ( X 0 + X 1 e + X2 e + … + Xn e )
where x(t) is the time domain response, ω1 = 2*pi*f1, i=sqrt(-1), and Xn are vectors of the complex amplitudes of nth
harmonics of all the states in the system. X0 is a DC point, X1 is the "1st harmonic vector", X2 is the "2nd harmonic
vector", etc.
Nonlinear AC analysis can only be added to a DC analysis: the DC value parameter (entered in the Exposed Connec-
tor pane) is used to calculated the input and is only available if the nonlinear AC analysis is nested under a DC analy-
M
sis. Inputs must be sinusoidal; MEMS+ does not currently support nonlinear AC analyses involving generic periodic
sources (sawtooth, pulse, etc.).
The input, u(t), is calculated as
iωt iφ
u ( t ) = DC + Ae e
where DC is the DC value, A is the AC Mag value, φ is the AC Phase value, and ω is 2*pi*f1. Like the DC value, AC
Mag and AC Phase are entered in the Exposed Connector pane.
Also note that outputs are not computed, only states (DOFs).
To run a Nonlinear AC analysis, you must have the Advanced Sensor Modeling license bundle. To add more
features to your current license, contact your Coventor account executive or email sales@coventor.com for more
details.
Number of Harmonics
Specifies the number of harmonics to be calculated. For example, if the user specifies a value of 5, the solver will
compute the first five harmonics, X0,...,X5. Note that the size of the system, thus the time to solution, is very de-
pendent of the number of harmonics because the size of the nonlinear system to solve is [(2 N + 1) * nDof ]2 (with
N the number of harmonics). Increasing the number of harmonics increases the accuracy, but at the expense of
simulation time.
Sweep Type
Linear by Number of Steps: The user sets Start Frequency, End Frequency, and Number of Points.
Logarithmic by Number of Steps: The user sets Start Frequency, End Frequency, and Number of Points.
Linear by Increment: The user sets Start Frequency, End Frequency, and an Increment size.
Logarithmic by Increment:The user sets Start Frequency, End Frequency, and a Logarithmic Increment.
Frequency Values: The user enters set values for the frequency. To enter multiple frequency values, right
click on the Frequency Values label, and select Add Element.
Note that the nonlinear AC sweep can be run with increasing or decreasing values.
Tolerances
The solver considers the solution converged under these conditions:
For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the state
vector, X, and the sum of contributions to each connector on the system, F (the function). The reference value is
the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance value
for both the state vector and the function values.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value defin-
ing the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet the stop
criteria before the solution is stable, thus the solution is not as good as expected. In such case, decrease the
DOF tolerance to ensure that at each sweep point, the solution is correct. In continuous regions (no pull-in),
there is no problem with a high DOF tolerance, as an over-restrictive one would lead to unnecessary itera-
tions. On the other hand, when trying to resolve a singularity (such as a pull-in), each step before pull-in
needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0. The Absolute Force Tolerance sets the non-
proportional part in the actual tolerance value for the solver to consider F(Xn) is close enough to 0.
For information on how to troubleshoot a Nonlinear AC simulation, see page U5-7 of the MEMS+ User Guide.
M
dialog that opens, enter the Harmonic number you would like to view, and the plot will update to display that har-
monic.
Note that Harmonic 0 corresponds to the DC result. The number of harmonics is determined by the setting of the
Nonlinear AC’s Number of Harmonics setting.
Note that if you plot nonlinear AC results generated with a previous version of MEMS+ or generated in Cadence
Spectre with a model from MEMS+ 6.3 or a previous version, you will not have the Harmonics option.
The x-axis is the frequency, and the y-axis is the amplitude of motion of the proof mass in the y-direction. Each curve
is for different amplitudes of voltage applied to the combs. As the amplitude grows, two effects occur: First, the
device appears to stiffen because the peak frequency gets larger; this stiffening is consistent with stress stiffening
from large amplitude beam bending. Second, the curves starts to look like a breaking ocean wave for the larger ampli-
tudes, which describes a hysteresis effect. For frequencies underneath the breaking wave, there is more than one pos-
sible amplitude of oscillation. The actual amplitude of oscillation depends on the path to reach the frequency in the
multi-valued region. If the frequency is increased from a low frequency to a frequency in the multi-valued region, the
highest amplitude of motion will be realized. If the frequency is decreased from a frequency higher than the multi-
valued region, the lowest amplitude will be realized. Predicting this response is important to the design of devices
meant to operate in or avoid this multi-valued region.
The MEMS+ frequency hysteresis analysis can predict the nonlinear response shown above. Starting from an initial
frequency, frequency hysteresis analysis computes the hysteresis curve by following the solution curve in the fre-
quency domain. It is similar to the pull-in analysis, except for pull-in, the x-axis is voltage while here it is frequency.
For pull-in, each point on the solution curve is a DC, while here it is a nonlinear AC. Thus, settings for frequency hys-
teresis are nearly identical to those for pull-in analysis, except instead of specifying the lambda domain, the user spec-
ifies the frequency domain, as shown in Figure 5-14. Note that a frequency hysteresis analysis is dependent on a DC
operating point, so it must be added to a DC analysis.
Before running a Frequency Hysteresis analysis, Coventor recommends first running a Nonlinear AC analysis.
To run a frequency hysteresis analysis, you must have the Advanced Sensor Modeling license bundle. Contact your
Coventor account executive or email sales@coventor.com for more details.
M
As noted above the frequency hysteresis analysis shares the same properties as the pull-in analysis; for information on
these shared settings, see page R5-19. The Frequency Hysteresis analysis settings differ from the Pull-In analysis in
the following:
Number of Harmonics
Specifies the number of harmonics to be calculated. For example, if the user specifies a value of 5, the solver will
compute the first five harmonics, X0,...,X5. Note that the size of the system, thus the time to solution, is very de-
pendent of the number of harmonics because the size of the nonlinear system to solve is [(2 N + 1) * nDof ]2 (with
N the number of harmonics). Increasing the number of harmonics increases the accuracy, but at the expense of
simulation time.
For information on plotting frequency hysteresis results in MEMS+ Simulator, see page R5-41.
For information on how to troubleshoot a Frequency Hysteresis simulation, see page U5-6 of the MEMS+ User
Guide.
Note that if a Frequency Hysteresis analysis is nested under a Vary analysis, you cannot create a merged result.
5.2.14: Noise
Noise analysis computes the effect of Johnson-Nyquist (thermal) noise on states and outputs of the device. It linear-
izes the model about the operating point and computes the thermal noise spectral density at each state and each out-
puts of the model over a specified frequency range. Like an AC analysis, it has to be nested under a DC analysis. The
following components contribute to the noise amplitudes in Simulator plug-in and MATLAB:
rigid plate damping
squeezed film damping
fluid resistance
generic damper
When running a noise simulation in Cadence, PZR and PZE components also provide noise contributions.
Applications for noise analysis include determining the noise threshold and roll-off frequencies for inertial sensing
devices and computing the sensitivity-to-noise ratio for condenser microphones.
To run noise analysis, you must have the Advanced Sensor Modeling license bundle. Contact your Coventor
account executive or email sales@coventor.com for more details.
Sweep Type
Linear Frequency Steps by Number: The user sets Start Frequency, End Frequency, and Number of Points.
Linear Frequency Steps by Value: The user sets Start Frequency, End Frequency, and Step Size.
Logarithmic Frequency Steps by Number: The user sets Start Frequency, End Frequency, and Number of
Points.
Frequency Values: The user enters set values for the frequency. To enter multiple frequency values, right
click on the Frequency Values label, and select Add Element.
Numerical Results
For a certain frequency and a certain state or output, the respective noise amplitude value is calculated as the sum of
contributions of all the available noise sources between the pin corresponding to this state or output and the ground
pin.
5.2.15: Transient
Transient analysis simulates the dynamic response of a structure subjected a time-dependent load. It is dependent on
a DC operating point, so it can only be added to a DC analysis or to a Nonlinear AC analysis. And because it is
dependent on a DC analysis, most of the DC analysis algorithms, control options, and initialization and convergence
issues apply to transient analysis.
Note that this analysis is configured within Simulator, but it can only be run from the MATLAB scripting interface.
M
To run this analysis, save the Simulator configuration to a .msim file, and then instantiate the file as a MATLAB
object, and run:
h = cov.memsplus.Simulation('filename.msim')
h.Analyses.DC1.Transient1.run()
The Transient analysis parameters are explained below.
Time Span
Specifies the time interval for the transient analysis. For a transient analysis with only one time specification, the
solver runs on the interval [0, TimeSpanValue]. To specify multiple time spans, right click on the Time Span label,
and select Add Element. For a transient analysis with two time span values, the solver returns the solution evalu-
ated at every integration step. With more than two time span values, the solver returns solutions evaluated at the
given time points. The time values must be in order, either increasing or decreasing.
Decimation
The volume of data written to the Scene3D file can be reduced by setting the Decimation to a value larger than 1.
For instance, a value of 10 would save every tenth transient point, thus reducing file size by a factor of 10.
Solver
This setting specifies the stiff solver for contact (@ode15s). In general, the ode15s solver is recommended for a
transient analysis with contact, and it is the default solver. Note that with this solver, it is recommended to set the
Max Order parameter to 2. The ode23t solver is recommended for systems with high-frequency oscillations (res-
onator, gyroscope, scanning mirror, etc.). The ode23t solver will avoid numerical damping of those oscillations,
and it is a conservative solver, i.e., it favors numerical accuracy over simulation speed when dealing with stiff
problems.
Tolerances
The simulation tolerances should be adjusted if the simulation results do not seem appropriate. The user should
increase the tolerances if the result is too slow to converge, but the solution remains consistent with expected re-
sults. If the solution displays unexpected behavior, the user should decrease the tolerances.
The transient solver considers the solution converged under these conditions:
1. For any element of the scaled state vector:
|xn - xn-1| < [Relative Tolerance] * |xn-1| + [Absolute Position Tolerance]
2. For any element of the scaled function values:
|f(Xn)| < [Relative Tolerance] * [Reference value] + [Absolute Force Tolerance]
The n subscript is the iteration number in an iterative algorithm. Lower case x and f denote components of the state
vector, X, and the sum of contributions to each connector on the system, F (the function). The reference value is
the sum of absolute value of each contribution to the node.
When modifying these settings, it is recommended to keep the ratio between the three values.
Relative Tolerance: This setting defines the part proportional to the reference value in actual tolerance value
for both the state vector and the function values.
Absolute Position Tolerance: This setting defines the non-proportional part in actual tolerance value defin-
ing the stop criterion for |xn - xn-1|. If the absolute position tolerance is too high, the solver may meet the stop
criteria before the solution is stable, thus the solution is not as good as expected. In such case, decrease the
DOF tolerance to ensure that at each simulation point, the solution is correct. In continuous regions (no pull-
in), there is no problem with a high DOF tolerance, as an over-restrictive one would lead to unnecessary iter-
ations. On the other hand, when trying to resolve a singularity (such as a pull-in), each step before pull-in
needs to be as good as possible.
Absolute Force Tolerance: The simulator is solving for F(X)=0 (the equilibrium). The Absolute Force Tol-
erance sets the non-proportional part in the actual tolerance value for the solver to consider F(Xn) is close
enough to 0.
Advanced Options
Norm Control: Controls global error rather than all component errors. By default, a transient analysis uses a
component-wise criteria for convergence (Norm Control = off). This criteria means that the simulation deter-
mines convergence by looking at the error for each DOF; if the error for each DOF is below the default error
value, that step is considered to have converged. This method may result in a considerably slow transient
analysis. To speed up a transient analysis, the user can set Norm Control to on, which invokes a looser con-
vergence criteria; instead of looking at the error for each DOF, it looks at the average error for all the DOFs.
Max Order: Defines the maximum polynomial order formula used to compute the solution (1 to 5). Increas-
ing this value may help with convergence, but the higher values are not as stable.
BDF: If set to off (default), NDF (Numerical Differentiation Formula) is used. It is generally more efficient
(more accurate and faster) than BDF (Backward Differentiation Formula, which is the Gear method). NDF is
a MATLAB enhanced Gear method, but it less stable for higher orders (3 to 5).
odeset Options: Allows the user access to other ODE simulator settings that are not exposed in the Simulator
interface. The settings are entered as strings and separated by a comma. See the MATLAB documentation for
odeset for a full list of available options. Each call to setODEoptions replaces options from previous
calls. The options specified via setODEoptions override any default options set within the TransientAnal-
ysis object except those to specify the Mass Matrix, the Jacobian, and OutputFcn (see the MATLAB docu-
mentation for a definition of these terms).
For information on how to troubleshoot a transient simulation, see page U5-8 of the MEMS+ User Guide.
M
5.3: Viewing Results
When an analysis is complete, a result or results will appeared underneath the analysis name in the Analysis tree. To
view a result in Scene3D, double click on its entry in the Analysis tree to open it in Scene3D or click to select, and
then use the Ctrl + T keyboard shortcut.
For more information on Scene3D, see the section beginning on page R6-1.
5.4.1: View
The available View options for Simulator are the same as the ones for Innovator. For more information on these
options, see page R4-36.
5.4.2: Colors
The available Colors options for Simulator are the same as the options for Innovator. For more information on these
options, see page R4-37. The Simulator Colors tab has an additional Legend Text option that sets the text color for the
results legend that appears on the left side of the Simulator canvas.
5.4.3: Lighting
The available Lighting options for Simulator are the same as the options in Innovator. For more information on these
options, see page R4-38.
Note that the GetInfo Column Limit does not set the number of columns. If a simulation generates columns of data
less than the number entered in this field, it will only display that number of columns.
5.6: References
1 S. D. Senturia, Microsystem Design. Boston, MA: Kluwer Academic, 2000, p 134.
Section 6: Scene3D
Scene3D allows the user to view MEMS+ Simulator, MATLAB, Simulink, or Cadence Virtuoso simulation results in
3-D. Simulator creates a result file nested under the analysis used to create it, and the user can double click on that file
in the Analysis tree to open it in Scene3D. In MATLAB, Simulink, and Cadence Virtuoso, when the user creates a
design using a MEMS+ symbol, and then simulates that design, the simulator produces result files with the same
name as the Innovator schematic used to produce the MEMS+ symbol. Those result files can then be opened in
Scene3D, which gives the MEMS designer detailed feedback of what exactly happens to the MEMS device when
subject to electrical or mechanical stimulus.
In Scene3D, users can do the following:
M
visualize and animate DC, DC sweep, modal, AC, and transient results in 3-D
scale simulation displacement results for better viewing
display harmonic response and mode shapes
record animations
plot results with the built-in 2D graph tool
Note that Scene3D is only accessible when a result file is selected; see Viewing Results.
Result files generated from a MATLAB or Simulink model or a Cadence Virtuoso schematic without a MEMS+
symbol cannot be viewed in Scene3D.
Deform Mode
This option allows the user to view in the following modes:
Undeformed: Displays the model as it would appear in Innovator (without any boundary conditions applied
to it).
Simulation: Displays the result model (the model as it is affected by the simulation conditions). The result
type is determined by the result file selected from the Open icon.
Animation Controls
The animation controls allow the user to cycle through the entire simulation range (using the Play button) or step
through the simulation point by point (using the Forward One Frame and Backward One Frame icons). The slider
control allows the user to move through the simulation results and stop and start the animation at his/her own speed.
To cycle through the simulation results continuously, first activate the Play icon, and then activate the Repeat On
icon. The Frames setting determines the number of frames to include in an animation cycle; the more frames, the lon-
ger it takes to cycle through the results. As an alternative to the Frames option, the user can click on the Show Each
Simulation Point icon. With this option, the animation will display a frame for each simulation point on the X axis,
rather than dividing the X-axis range into equally spaced points as defined by the Frames per Animation field.
Note that if you select the Show Each Simulation Point icon, and then input a value in the X axis field that is not a
simulation point, Scene3D will display the closest simulation point to the value that you input. But if you have
selected a number of frames and then input a value in the X-axis field that is not a simulation point, Scene3D will
interpolate results for that value.
The Record icon allows the user to capture animated results and save them as an animated GIF or in the MPEG movie
format. When the user clicks on the icon, the Data Record dialog appears:
The Frames per second option determines how quickly the animation frames are shown when a movie is exported
and replayed in an external media player.
If the Record One Harmonic Cycle option is checked, the recorder will cycle once through the movement of the
device in harmonic play, and then stop; only that movement will be written to the movie file.
The user clicks on OK, and then selects one of the animation options (Play, Next Frame, Harmonic Play, etc.). When
the desired animation is captured, the user clicks on the Record icon again to stop the recording and open the Save
dialog.
Displacement Scaling
The second tool bar, which was moved below the animation tool bar in the previous figure, controls the result dis-
placement scaling. The Exaggeration option allows the user to set an exaggeration scale factor in the X, Y, and Z
directions. The user can select a value in the X, Y, and Z drop-down menus or enter an integer. The Set Exaggeration
Automatically icon is useful when viewing AC analysis results. This tool sets the displacement exaggeration
based on the order of the device. In an AC analysis, when a user has identified the resonance frequency of a device,
this tool can be used to automatically reset the exaggeration for optimal viewing of the displacement at that fre-
quency. It may also be useful when loading a series of results files. Scene3D retains the order of magnitude of the last
loaded file, which may not be appropriate for the current file; this tool will automatically reset the exaggeration to
values best for that model.
Color By
The Color By option allows the user to color the model using the selected value. The options are Displacement Mag-
nitude, X Displacement, Y Displacement, Z Displacement, Voltage, or Pressure. Note that whatever option is selected,
the model is still deformed by the full displacement vector.
M
tor, MATLAB, or Simulink).
2. For a Cadence result, in the Frequency field, enter the eigenmode frequency value. Simulator, MATLAB, and
Simulink eigenmode files (.eig.ac) store only the eigenmode frequencies; the first eigenmode is loaded auto-
matically, and you can advance through the eigenmodes using the Forward One Frame icon.
3. Click on the Harmonic Play icon to view the harmonic response at the modal frequency.
4. Adjust the Exaggeration and Scale values to better view the results.
If a mode shape is displayed with a frequency of 0 Hz, it means that the mode shape is overdamped.
How to Plot
To create a plot, expand the ExternalSchematics tree in the Components pane to select the component results you
would like to plot, then drag that component into the graph window.
As you move the selected component over the plot area, two choices will be displayed:
Display All Plots: If you drag the selected component to this section, all the signal results associated with the
selected component will be plotted.
Display Selected Plots: If you drag the selected component to this section, a dialog will open that displays all
the available signals. Select the signals you want to plot, and then click on OK.
The View options configure what part of the 2-D data is displayed in the graph. If the data for the selected view is not
available for the selected 2-D plot, the Properties dialog will display an error. Note that dB is computed as
20*log_10(amplitude).
M
To clear data labels, right click in the plot area or on the Graph Item entry in the Graph tree and select Clear Data
Labels.
To plot a 2-D function in a separate graph, right click on the Graphs entry in the Graphs pane, and select Add >
Graph Item; then right click on the new Graph Item and select Add > Plot 2D Function. The functions that can be
entered in the Function field are listed on page U1-15.
Figure 6-4 is an example of a 2-D plot function. The original plot is the y plot of the gyroscope’s rigid plate. We add
a Graph Item to the Graphs tree, and then add a 2-D function under this graph item so that we can plot the voltage
input used during the transient simulation for a phase of 0.
M
How to Zoom
To zoom in or out on a particular axis, put the mouse focus on that axis, and use the mouse scroll bar to zoom in or
out.
To zoom in on a particular area of a plot, click and drag a box around the area of interest.
To zoom out so that the entire graph item can be seen, right click in the plot window and select Fit to view, or use the
Alt + F keyboard shortcut. You can also right click on the Graph Item entry in the Graph tree and select Fit to view.
To zoom in on a particular plot when the plot window has multiple plots, click on the plot entry under the Graph Item,
then right click and select Fit Selection to View.
M
Note that Component tree in Scene3D is for reference purposes only, components cannot be added or edited from this
tree. There are right click options that allow the user to show or hide a components and to get more information about
a component:
Show: This option is active only if the component was hidden in a previous operation. The keyboard shortcut
is Alt + S.
Hide: Hides the selected component from view. The keyboard shortcut is Alt + H. Note that this menu option
cannot be applied to an individual Rigid Plate segment.
Properties: Displays the component dialog that was used to create the component, but none of the fields are
editable. To change any properties of a component, the user has to return to the Innovator tab.
Get Info: This option opens a dialog that displays model properties for the component in SI units. The key-
board shortcut is Alt + I. The information that is displayed depends on the type of component. For example,
the Get Info window for a Gap component set to the squeezed-film model displays the Cavity fluid, viscosity,
mean free path, and squeezed film edge types and protrude settings. For a beam, a window opens that dis-
plays the mechanical connectors locations, and the stiffness, damping, and mass matrices between the con-
nectors.
Record Captures animated results and saves them as an animated GIF or in MPEG movie format
Animates the structure by oscillating about is undeformed shape based on the complex
Harmonic Play amplitudes for the frequency specified in the X-axis field. The icon is active for an AC analysis
simulation result.
Resets the legend scale to 0. The displacement legend is expanded based on the largest
displacement being visualized during the animation. If you are visualizing displacements that
Reset Legend
vary greatly in scale, you may need to reset the scale values; for example, to visualize small
displacements after having visualized large ones.
Show Each
Animates the model by showing a frame for each X-axis point that appears in the result file,
Simulation
rather than dividing the X-axis range into equally spaced points as defined by the Frames field
Point
Open New
Opens the 2-D plotting window, see page R6-3 for more details.
Graph Window
Hide Fixed Hides any components that are not mechanical, including electrodes, stators, electrical pads,
Geometries etc.
M
Allows the user to move the model in the canvas. The keyboard shortcut for this function is
Pan
right mouse click + drag.
Allows the user to zoom in or out on the model. The keyboard shortcut for this function is press
Zoom the left and right mouse keys simultaneously and drag (up to zoom out, down to zoom in), or
use the mouse wheel.
Fit to Window Adjusts the view so that the entire geometry fits within the canvas
Rubberband
Click on icon to drag a rectangle around the area to zoom
Zoom
Click on this icon to return the model view to the previous state before the last model
Previous View manipulation
Next View Click on this icon to return to the view before Previous View was invoked
Click on the icon to get an oblique (3-D) view of the model, or click on the drop-down arrow to
choose other options: XY+ view, XY- view, XZ+ view, XZ- view, YZ+ view, or YZ- view.
Oblique View
The keyboard shortcuts for these views are Ctrl + 1, Ctrl + 2, Ctrl + 3, Ctrl + 4, Ctrl + 5, Ctrl +
6, Ctrl + 7.
Measures the distance between two model vertices. When activated, the user clicks to select
Measure
each vertex, and the measurement tool snaps to the nearest model vertices. The x,y z location
of each vertex is displayed on the Canvas in a blue-shade box. The resulting measurement is
displayed in a white-shaded box; the dx, dy and dz components of distance vector are also
reported. The vertex locations and resulting measurement will remain until another
measurement is taken or until another icon is activated.
Note that the vertices locations may not be displayed if the measured distance is very small; in
this case, zoom in to the area to be measured so that these locations can be displayed.
Snapshot Saves the current model display as an image in JPEG, PNG, or TIFF format
Show Cross Creates a cross-section view of the model; oriented by default in the XZ plane. Rotate the
Section Plane cross-section plane for different cross-section views.
Delete Cross
Deletes cross section plane
Section Plane
The keyboard shortcut for increasing the active scale value is ]. The keyboard shortcut for decreasing the active scale
value is [. Note that the mouse focus must be on the canvas for these shortcuts to work.
6.7.1: View
The available View options for Scene3D function the same as the ones for Innovator. For more information on these
options, see page R4-36.
6.7.2: Colors
The available Colors options for Scene3D function the same as the options for Innovator. For more information on
these options, see page R4-37.
6.7.3: Lighting
The available Lighting options for Scene3D function the same as the options in Innovator. For more information on
these options, see page R4-38.