# Numerical Simulation and Modeling: EECS 219A, Spring 2021

Numerical simulation and computational modelling are technologies that pervade science and engineering, from electronics (e.g., analog/RF/mixed-signal circuits, high-speed digital circuits, interconnect, etc.) to optics, nanotechnology, chemistry, biology and mechanics. The underlying analytical techniques are crucial for designing and understanding systems. This course provides a detailed introduction to the fundamental principles of these technologies and techniques.

Starting with an introduction to equation-based system modelling, the course covers fundamental concepts and algorithms in numerical simulation, including nonlinear and linear algebraic system solution, numerical algorithms for ODEs and DAEs, time- and frequency-domain solution of linear(ized) and nonlinear systems, and algorithms for simulating the effects of noise and parametric variability. Modelling and simulation concepts are developed in the context of system examples to help students apply them to their own research projects. Electronic, mechanical and biochemical systems (including variability-aware and stochastic representations) are used to ground theory and numerics.

The course emphasizes hands-on programming and application to examples as an important means to understand and benefit from the material. Pre-requisites are reviewed in class to make the course as self-contained as possible. This course is particularly relevant to the BIO, CIR, CPSDA/DMA, INC, MEMS, PHY and SCI areas of EECS, and is a part of Berkeley's Designated Emphasis in Computational Science and Engineering (CSE). This offering of the class will be accessible to students who have taken 16A/B and/or 120.

Topics to be covered include:
• from ODEs to DAEs: nonlinear differential-algebraic equations (DAEs) for realistic modelling of circuits and systems.
• computational DC analysis: the Newton-Raphson method with initialization and limiting.
• solving sparse linear Ax=b systems numerically: LU factorization.
• solving DAE systems numerically in the time domain: transient analysis.
• modelling and solving biochemical reaction systems; SVDs for identifying and applying conservation laws.
• linearization and AC analysis: numerical phasor analysis of large circuits and systems.
• eigenanalysis: using eigendecomposition for identifying poles and residues of transfer functions; numerical eigendecomposition.
• sensitivity analysis and its uses, including variability characterization and back-propagation for machine learning; basics of numerical optimization.
• noise analysis: random variables, stochastic processes and their use in numerical estimation of noise propagation; direct and adjoint noise computation.
• nonlinear periodic steady state analysis: shooting, harmonic balance.
Pre-requisites
EE16A/B and/or 120 (or equivalent).
Piazza
link to Piazza's page for this class.
Course format
The grade for the course will be based on homeworks, two open-book midterm exams, a project, and class attendance/participation.
Credits
4. Class# (CCN): 30637.
Class location and times
MW 4-6pm, online.
Textbook and Materials
Slides/notes will be made available to the students.
Instructor
Jaijeet Roychowdhury.
GSI
Parth Nobel.