### Go to the Education Page

__Overview__

Welcome to the Simulations and Computational Science group! If you are a student or practicing engineer or scientist who wants to learn more about computation and simulation or an instructor looking for materials to use in a course, you can find material here that includes complete courses and seminars on specialized topics.

Much of the material is freely accessible by any visitor, but by joining this group, you can participate in discussions on topics of interest to you, post items to the group wiki or even work on a project with other group members. Additionally, as a group member you may receive notifications about new materials and events of interest to the computation and simulation group members. Adding events to the group calendar is as easy as clicking on “add event”.

You can also contribute substantial resources to nanoHUB through the resource contribution process, and then send a message to the group manager so that links to those resources can be added to this group.

This group contains the following:

__General Courses__

**Developing Tools for nanoHUB.org**

By Michael McLennan

This presentation explains the benefits of running code on nanoHUB vs on a local computer, and gives pointers to getting started. Although some of the details of this 2008 presentation are dated, the basic message is timeless, and a fundamental reason for nanoHUB’s popularity. If you want to publish one of your own simulation tools on nanoHUB, the next step is to go through the **Rappture Bootcamp training**.

**Rappture Bootcamp — 2014 Deploying Scientific Tools**

Taught by Michael McLennan

This Bootcamp is a 3 to 4 day intensive series that is used to teach students how to use Rappture to make GUIs for simulation code that might not have a user-friendly interface, and is a rapid way to make a simulation tool ready for publication on nanoHUB. Some knowledge of programming is required (For example, MATLAB, C, Python, Fortran, Tcl, etc..).

Selected Topics: Rappture toolkit; nanoHUB workspace, scientific programming, advanced visualization, regression testing.

**Rappture Bootcamp — Building and Deploying Tools on nanoHUB**

**Purdue University (2012) ** 12 Lectures.

Taught by Michael McLennan

This is an earlier version of the Rappture training, that includes video lectures. The 2014 version does not yet contain videos, but they will be added shortly (6/11/14).**Important Note** —In order to see what is being typed on the screen, you must watch the YouTube version of the lectures. The screen capture is not always present or properly synced in the html version.

**A Primer on Semiconductor Device Simulation**

**Purdue University (2006) **

Taught by Mark Lundstrom

Computer simulation is now an essential tool for the research and development of semiconductor processes and devices, but to use a simulation tool intelligently, one must know what’s “under the hood.” This talk is a tutorial introduction designed for someone using semiconductor device simulation for the first time.

__nanoHUB-U Course__

**From Atoms to Materials— Predictive Theory and Simulations **

**Purdue University (2013) ** 30 Lectures

Taught by Alejandro Strachan

Selected Topics: quantum mechanics, quantum well, quantization, optic processes, hydrogen atoms,bonding of molecules, bonding of crystals, simple hydrides, orbitals, crystals, band structures, MD simulations, covalent interactions, phonons, micro/macro, harmonic solids, isothermal, isobaric, case studies

__Graduate Courses__

**Overview of Computational Nanoscience**

**UC Berkeley (2008)** 29 Lectures

Taught by Jeffrey C. Grossman and Elif Ertekin

Selected Topics: molecular dynamics, geometry optimization, Monte Carlo simulation, phase transitions, Ising model, Hartree-Fock calculations, tight-binding, solid modeling, band structure, morphological evolution, electron correlations, excitations, tunneling, verification, validation.

**C****omputational Materials Science and Engineering**

**MSE 498 at the University of Illinois at Urbana-Champaign (2015). **19 Lectures.

Taught by Andrew Ferguson

This new course will give students hands-on experience with popular computational materials science and engineering software through a series of projects in: electronic structure calculation (e.g., VASP), molecular simulation (e.g., GROMACS), phase diagram modeling (e.g., Thermo-Calc), finite element modeling (e.g., OOF2), and materials selection. The course will familiarize students with a broad survey of software tools in computational materials science, scientific computing, and prioritize the physical principles underlying the software to confer an understanding of their applicability and limitations.

**Numerical Simulations for Energy Applications**

**ECE 595E at Purdue University (Spring 2013)** 36 Lectures

Taught by Peter Bermel

Selected Topics: Computability, NP-hardness, Optimization and Eigenvalues, Solving Quantum Wavefunctions, FFTs, FFTW, Beam Propagation Method, Bandstruture simulation, Transfer Matrix Methods, S-Matrix Methods, Eigenmode Layered computations (CAMFR), Coupled Mode Theory, Finite-Difference Time-Domain simulations, MEEP Tutorial.

### Modeling Materials

**Atomistic Materials Science**

**Purdue University (2011) ** 2 Tutorials

Taught by Alejandro Strachan

Selected Topics: *ab initio* simulations, molecular dynamics simulations, Schrodinger equation, Hartree Fock, density functional theory, state of the art interatomic potentials, materials problems

**Atomic-Scale Simulation**

**Phys 466 at University of Illinois at Urbana-Champaign (2013). ** 32 Lectures

Taught by David M. Ceperley

Selected Topics: mechanical statistics, molecular dynamics, Monte Carlo, molecular dynamics, Markov chains, Brownian dynamics, PIMC, fermions

**Atomic-Scale Simulation — older version**

**Physics 466/CSE485 at University of Illinois at Urbana-Champaign (2009). ** 19 Lectures

Taught by David M. Ceperley

Selected Topics: Moore’s law, statistical mechanics, microcanonical, Maxwell-Boltzmann, molecular dynamics, Verlet, interatomic potentials, scalar properties, static correlations, dynamic correlations, transport coefficients, sampling, brownian dynamics, Kinetic Monte Carlo (KMC), Ising model

### Molecular Dynamics

**An Introduction to Molecular Dynamics**

**MSE 597G at Purdue University (2008). ** 10 Lectures

Taught by Alejandro Strachan

Selected Topics: classical mechanics, statistical mechanics, nano-materials simulation toolkit, interatomic potentials, molecular dynamics simulations, reaction zone model, VKML

**Molecular Dynamics Modeling of Materials— older version**

**Purdue University (2007)** 4 Lectures

Taught by Alejandro Strachan

Selected Topics: molecular dynamics simulations, mesodynamics, classical mechanics, statistical mechanics, canonical ensemble, thermodynamics, quantum effects, Verlet algorithm

**Short Course on Molecular Dynamics Simulation**

**Purdue University (2009) ** 10 Lectures

Taught by Ashlie Martini

Selected Topics: potential energy functions, integration algorithms, temperature control, boundary conditions, neighbor lists, initialization, equilibrium, static properties, dynamic properties, non equilibrium MD

### Density Functional Theory

**Materials Simulation by First-Principles Density Functional Theory**

**NCN@Purdue Summer School: Electronics from the Bottom Up (2010). ** 2 Lectures

Taught by Umesh V. Waghmare

Selected Topics: computational physics, phonons, vibrational spectra, phonon dispersion, *ab initio*, energy functions, density functional theory, DFT, materials science, molecular dynamics, Kohn-Sham, parallelization, quasicontinuum methodology.

### Computational Electronics

**Computational Electronics**

**Arizona State University (2006) ** 11 Lectures.

Taught by Dragica Vasileska

Selected Topics: semi-classical semiconductor device modeling, computational electronics, simplified band structure model, empirical pseudopotential method, distribution function selection, relaxation time, scattering mechanisms,drift-diffusion model, PADRE, silvaco, MOS capacitors, CMOS technology.

### Monte Carlo Simulations

**Bulk Monte Carlo Learning Materials**

Taught By Dragica Vasileska, Gerhard Klimeck, Mark Lundstrom, Stephen M. Goodnick

Selected Topics: carrier mobility, drift velocity, semi-classical transport, Boltzmann transport equation, Gunn effect

**Numerical Simulations for Energy Applications**

**ECE 595E at Purdue University (2013). ** 36 Lectures.

Taught by Peter Bermel

Selected Topics: numerical simulations, NP-hardness, linear algebra, optimization, Eigenvalues, quantum wavefunctions, fast Fourier transforms, beam propagation, bandstructure, bandgaps, matrix methods, MEEP

**Programming Massively Parallel Processors**

**ECE 498AL at University of Illinois Urbana-Champaign (2009).** 15 Lectures.

Taught by Wen-Mei W Hwu

Selected Topics: CUDA programming model, CUDA threads, GPU, threading hardware in G80, memory hardware in G80, control flow, parallel algorithms, reductions

**NEMO5 Tutorials**

**ECE at Purdue University (2012). ** 7 Lectures.

Taught by James Fonseca, Tillmann Kubis, Michael Povolotskyi, Jean Michel D Sellier, Parijat Sengupta, Junzhe Geng, Mehdi Salmani Jelodar, Seung Hyun Park, Gerhard Klimeck

Selected Topics: NEMO5, input, output, models, graphene nanostructures, python solvers, quantum dots, transport, GaSb/InAs tunneling, insulator behavior

**Computational Optoelectronics Course **

Taught By: Dragica Vasileska and Gerhard Klimeck

Selected Topics: quantum mechanics, bound states, open systems, heterostructures, superlattices, Fortran code, MATLAB, solar cells, light-emitting diodes, photodetectors, VCSELS, band structure calculation, K P method, tight-binding, crystalline silicon, SILVACO, lasers

__Workshops__

**Excellence in Computer Simulation**

The successes of computational science and engineering (CSE) over the past two-three decades have been substantial, but at the beginning of a new century, it is useful to reflect on what has been accomplished, on how computational science and engineering are evolving, and on how we can be even more successful in the future.

Excellence in Computer Simulation brought together experts who have made strong contributions to CSE and thought deeply about the field. The one-day event consisted of individual talks followed by short discussions. Each presentation was recorded for dissemination on the nanoHUB to provide a resource for students preparing for careers in science and engineering and to simulate a broader discussion within the NCN and across the national and international research community.

### NEMO5 Tutorials (2012 Summer School)

NCN's 2012 Electronics from the Bottom Up (EBU) Summer School, co-sponsored by Intel, was a weeklong event to introduce students to new ways of thinking about electronic materials and devices. The second half of the week included a hands-on workshop for the nanoelectronics modeling tool, NEMO5, developed in Prof. Gerhard Klimeck's research group. Those videos and slides are available at the link above and can be used to gain an understanding of NEMO5's capabilities in general, but for up to date information, please see https://nanohub.org/groups/nemo5distribution

__Supplementary Material__

**Is Seeing Believing? How to Think Visually and Analyze with Both your Eyes and Briain**

**Purdue University (2007) **

By David Ebert

Visualization is an important technique for dealing with large datasets, such as might be generated from a simulation. In this tutorial, learn about different types of visualizations that can be created from scientific data sets, interactive visual analysis, how visualization can help people think critically, how to reason over space and time, what not to do in visualization, common techniques that are used, and some of the specialized visualization work done at Purdue.

**MATLAB Scripts for Quantum Transport- Atom to Transistor**

**Purdue University (2005) **

Taught by Supriyo Datta

Selected Topics: quantum transport models, code

**How to Make High Quality Plots in MATLAB**

**Purdue Univerisity (2011) **

Taught By Mehdi Salmani Jelodar

This presentation is a tutorial for plotting higher quality figures by MATLAB. Basic elements of plots are introduced and the way to manipulate these elements by coding is explained. Two methods for dual axis plotting is described.