SUGAR: A MEMS Simulation Program David Bindel [email protected] UC Berkeley, CS Division MSM 2002 SUGAR Tutorial – p.1/47
SUGAR:A MEMS Simulation Program
David Bindel
dbinde [email protected] erkeley.e du
UC Berkeley, CS Division
MSM 2002 SUGAR Tutorial – p.1/47
SUGAR contributorsFaculty Grad students Undergrads
A. Agogino (ME) D. Bindel (CS) W. Kao (CS)
Z. Bai (Math/CS) J.V. Clark (AS&T) A. Kuo (EE)
J. Demmel (Math/CS) D. Garmire (CS) E. Zhu (CS)
S. Govindjee (CEE) B. Jamshidi (CEE)
M. Gu (Math) R. Kamalian (ME)
K.S.J. Pister (EE) S. Lakshmin (CS)
J. Nie (Math)
N. Zhou (ME)
MSM 2002 SUGAR Tutorial – p.2/47
Overview
� Background, target applications, grand vision
� Simple cantilever beam example
� Describing MEMS: ingredients and examples
� A bigger example: analysis of a micromirror
� Ongoing work: measurement feedback,synthesis, web-based simulation
� Q & A
MSM 2002 SUGAR Tutorial – p.3/47
Levelsof simulation
� Solve continuum equations (momentumconservation, Maxwell’s, etc.)
� Solve simplified equations of beam and platetheory (structural elements)
� Solve network equations (e.g. modified nodalanalysis in SPICE; Simulink models)
� These approaches are not mutually exclusive!
� Share similar software structures
MSM 2002 SUGAR Tutorial – p.4/47
WheredoesSUGAR fit?
� Primarily simulates electromechanicalsystems
� Has element models at the structural andnetwork levels
� Provides a flexible language for devicedescription
� Performs static, frequency-response, modal,and (some) transient analysis
� Can build quick models that get high-levelbehavior
MSM 2002 SUGAR Tutorial – p.5/47
WheredoesSUGAR fit?
� Freely available and open source
� www.sour cefo rge. net/p roje ct/m ems
� sug ar.mi llen nium .berk eley .edu
� Useful for education and prototyping
� Building block for higher-level operations
� e.g. Design synthesis and optimization
� Part of work to “close design loop”
� Simulation (SUGAR)
� Measurement instruments
MSM 2002 SUGAR Tutorial – p.6/47
SUGAR architecture
System assembly
Models
Solvers
Matlab Web Library
Static analysis
Transient analysis
Results
Netlist Steady−state, modal analysis
User interfaces(Matlab)Extension interfaces
MSM 2002 SUGAR Tutorial – p.7/47
SUGAR: Recent evolution
� SUGAR 2.0 released last year
� SUGAR 3.0 is a major overhaul: a C programwith Matlab interfaces
� Can still use 2.0 model functions and netlists
� Integrating more efficient solvers
� SuperLU, SLICOT, DASSL, HOMPACK, ...
MSM 2002 SUGAR Tutorial – p.8/47
Devicedescription
� Device descriptions are called netlists inanalogy to SPICE
� Basic ingredients: nodes, materials, andelements
� Standard material parameter librariesavailable for MUMPS
MSM 2002 SUGAR Tutorial – p.9/47
Hello world: a cantileveruse ’mumps.ne t’use ’std lib.n et’
anch or {nod e ’sub stra te’, p1;l=10u , w=10u}
beam3d {nod e ’sub stra te’, node ’ti p’, p1;l=100 u, w=2u}
f3d {nod e ’tip ’; F=2u, oz = 90}
MSM 2002 SUGAR Tutorial – p.10/47
Hello world: a cantilever
MSM 2002 SUGAR Tutorial – p.11/47
Running a simpleanalysisnet = cho_l oad( ’can tilev er.n et’) ;cho_ disp lay(n et);dq = cho _dc(n et);cho_ disp lay(n et, dq);dy = cho _dq_v iew( dq,n et,’t ip’, ’y’)
� Load and display device description
� Analyze and display static displacement
� Get y-displacement of tip
MSM 2002 SUGAR Tutorial – p.12/47
Deflectedcantilever
MSM 2002 SUGAR Tutorial – p.13/47
NodepositioningCan position nodes implicitly via elementgeometries and connectivitybeam3d {nod e ’sub stra te’, node ’ti p’, p1;
l=100 u, w=2u}or explicitlysubs trat e = node {name=’su bstr ate’ ;
0, 0, 0}tip = node {name=’ti p’;
100u, 0, 0}beam3d {sub stra te, top, p1; w=2u}
MSM 2002 SUGAR Tutorial – p.14/47
Materia lspoly = mate rial {
Pois son = 0.3 ,...
}p1 = material {
pare nt = poly ,h = 2u
}
� Specify material properties in materialstructures
� Materials can inherit properties from othermaterials
MSM 2002 SUGAR Tutorial – p.15/47
Example: Gap-closingactuator
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 10−4
−8
−6
−4
−2
0
2
4
6
x 10−5
X − horizontal [m]
Y −
ver
tical
[m
]
MSM 2002 SUGAR Tutorial – p.16/47
Gap actuator netlistuse ’mumps.ne t’
use ’std lib.n et’
if not Vin then Vin = 10 end
Vsrc {node ’A’, nod e ’f’ ; V = Vin }
egro und {node ’f’}
anch or {node ’A’, p1; l=5u , w=10u, oz=18 0}
beam2de {node ’A’, nod e ’b’ , p1;
l=10 0u, w=2u, h=2u , R=100}
gap2 de {node ’b’, nod e ’c’ , node ’D’, node ’E’, p1;
l=1 00u, w1=10u, w2=5u, gap= 2u}
anch or {node ’D’, p1; l=5u , w=10u, oz=-9 0}
anch or {node ’E’, p1; l=5u , w=10u, oz=-9 0}
egro und {node ’D’}
egro und {node ’E’}MSM 2002 SUGAR Tutorial – p.17/47
Netlist explanationuse ’mumps.ne t’use ’std lib.n et’
� Include mumps.net for process info
� stdl ib.n et includes standard modeldeclarations and support routines
MSM 2002 SUGAR Tutorial – p.18/47
Netlist explanationif not Vin then Vin = 10 endVsrc {no de ’A’, node ’f’; V = Vin}egro und {node ’f’ }
� Voltage source connects base of beam at A toelectrical ground at f
� If Vin defined, use that for voltage
� If Vin not defined, default to 10V
MSM 2002 SUGAR Tutorial – p.19/47
Netlist explanationanch or {node ’A’ , p1;
l=5u , w=10u, oz=1 80}beam2de {node ’A’ , node ’b’, p1;
l=10 0u, w=2u, h=2u, R=100}
� Anchored node A is where voltage is applied
� Cantilever / resistor extends from A to b
MSM 2002 SUGAR Tutorial – p.20/47
Netlist explanationgap2 de {nod e ’b’, node ’c’ ,
node ’D’, node ’E’ , p1;l=1 00u, w1=10u, w2=5u, gap= 2u}
anch or {nod e ’D’, p1; l=5u ,w=1 0u, oz=-9 0}anch or {nod e ’E’, p1; l=5u ,w=1 0u, oz=-9 0}
� Gap element consists of two initially parallelbeams
� Top beam from b to c attaches to cantilever
� Bottom beam from D to E is anchored down
MSM 2002 SUGAR Tutorial – p.21/47
Netlist explanationegro und {node ’D’ }egro und {node ’E’ }
� Bottom plate is also grounded
MSM 2002 SUGAR Tutorial – p.22/47
Using the Matlab interfaceWe wrote the netlist to allow changing inputvoltages:if not Vin then Vin = 10 endSweep the voltage to see pull-in:dq = [];for k=1: 12
para m.Vin = k;net = cho_l oad( ’bea mgap. net’ , param );dq = cho_ dc(n et,d q);cho_ displ ay(n et, dq);tip( k)=ch o_dq _vie w(dq, net, ’c’ , ’y’);paus e;
endMSM 2002 SUGAR Tutorial – p.23/47
Subnetsand hierarchical design
� Subnets are parameterized components
� Subnet calls look like built-in model calls
� Parallels functional decomposition of design
� Can put commonly-used subnets in a library
MSM 2002 SUGAR Tutorial – p.24/47
Subnet parameterssubn et meander( A, B, mater ial,
l, w, h, nmeander s)...
endmeander {node ’C’ , node ’D’, p1;
l=10 0u, nmeanders =5}
� Parameters identified by position or by name
� Parser checks the materia l parameter forparameters undefined by caller
� Any undefined parameters are left nil
MSM 2002 SUGAR Tutorial – p.25/47
Nestedcoordinate systems
� Each subnet has an associated localcoordinate system
� Nested subnets result in multiple nestedcoordinate systems
� Simplifies subnet re-use
MSM 2002 SUGAR Tutorial – p.26/47
Example: simplified ADXL-05
MSM 2002 SUGAR Tutorial – p.27/47
Building arraysLoop structure lets us build a structure with tenor a thousand units using the same code.c = {nod e()}Suspensi on {c(1 ), p1, 200u }for k = 1,nfi nger s do
c[k +1] = node()Mass {p1, c[k] , c[k+ 1], p1, 100u}
endSuspensi on {c(1 ), p1, 200u ; oz = 180}
MSM 2002 SUGAR Tutorial – p.28/47
Modesof ADXL-05 model
(Displacements are exaggerated)net = cho_l oad( ’adx l.net ’);[f,e ,dq] = cho_ mode(net) ;cho_ modeshape (net , f,e,d q, 1);
MSM 2002 SUGAR Tutorial – p.29/47
A bigger example
� Micromirror design due to Matt Last
� Model has roughly 11K degrees of freedomMSM 2002 SUGAR Tutorial – p.30/47
Micr omirr or SEM
MSM 2002 SUGAR Tutorial – p.31/47
Simulated fr equency response
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000040
60
80
100
120
140
Frequency (Hz)
Gai
n (d
B)
Bode plot
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−200
−100
0
100
200
Frequency (Hz)
phas
e(de
gree
)
MSM 2002 SUGAR Tutorial – p.32/47
Measured fr equency response
MSM 2002 SUGAR Tutorial – p.33/47
First resonant mode
MSM 2002 SUGAR Tutorial – p.34/47
Second resonant mode
MSM 2002 SUGAR Tutorial – p.35/47
Third resonant mode
MSM 2002 SUGAR Tutorial – p.36/47
Existing models
� Mechanical: anchor, beam2d, beam3d, f2d,f3d, rigid, constraint
� Electrical: L, R, C, Isrc, Vsrc, opamp, vcvs
� Coupled: comb2d, gap2dforce, gap3dforce
� Subnets: beam2de, beam3de, gap2de,gap3de
MSM 2002 SUGAR Tutorial – p.37/47
Modelsunder construction
� Plates
� Simple hinges and sliders
� Anisotropic beams
� Nonlinear beams
� Thermal circuit analogues
� Electrothermal and thermomechanical
MSM 2002 SUGAR Tutorial – p.38/47
Futur emodels
� Contact models
� Improved damping
� Wrappers around FEAP models
� Controllers
� Any requests?
� Feel free to add your own!
MSM 2002 SUGAR Tutorial – p.39/47
Analyses
� Current
� Static equilibrium
� Steady-state frequency-response analysis
� Modal analysis
� Transient analysis (2.0)
� Future
� Sensitivity (various flavors)
� Bifurcation analysis
MSM 2002 SUGAR Tutorial – p.40/47
Ongoing numerical work
� Have adopted standard sparse solverpackages for linear solves and modal analysis
� Reduced order modeling techniques (used formirror steady-state response analysis)
� Incorporating newest DAE solvers (IDA);parameter sensitivity for DAEs
� Bifurcation analysis of DAE systems
� CIS algorithm for large-scale bifurcationanalysis
� Dealing with multi-scale problems
MSM 2002 SUGAR Tutorial – p.41/47
Closing the designloop
� Integrate measurement and simulationfacilities
� R. Muller, R. Kant, C. Rembe, M. Youngworking on measurements at UCB
� Other groups at CMU, MIT, Sarnoff
� Feedback measured data into simulation,design
� Compare simulation and reality
� Parameter extraction, sensitivity studies
� Make facilities available as a “virtual lab”
MSM 2002 SUGAR Tutorial – p.42/47
M&MEMS: SUGAR on the Webhttp ://s ugar. mill enni um.be rkel ey.e du/
MSM 2002 SUGAR Tutorial – p.43/47
M&MEMS
� Hosted on UCB Millennium cluster
� Used in Introduction to MEMS course, Fall2001
� Accounts available for outside users
� Currently offline while upgrading to SUGAR3.0
MSM 2002 SUGAR Tutorial – p.44/47
Designsynthesisand optimization
� Genetic algorithms to evolve new designs
� Also simulated annealing approach
� Specializing designs from a library
� N. Zhou, B. Zhu, A. Agogino, and K. Pister:“Evolutionary Synthesis of MEMS(Microelectronic Mechanical Systems)Design” (ANNIE 2001). First Runner-up forNovel Smart Engineering System DesignAward.
MSM 2002 SUGAR Tutorial – p.45/47
Functional decomposition and GA
MSM 2002 SUGAR Tutorial – p.46/47
Conclusion
� Web links
� bsa c.eec s.be rkel ey.ed u/˜c fm
� www.sour cefo rge. net/p roje ct/m ems
� sug ar.mi llen nium .berk eley .edu
� SUGAR is actively used
� Educationally
� For prototyping and exploring
� As a testbed for larger projects
� We would like more users and contributors!
� Questions? What would you like to see?
MSM 2002 SUGAR Tutorial – p.47/47