sugar: a mems simulation programbindel/present/2002-04-msm.pdfsugar: recent evolution sugar 2.0...

Post on 14-Oct-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SUGAR:A MEMS Simulation Program

David Bindel

dbinde l@eecs.b 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

top related