We will be using a custom Python package named resonance during the class to investigate a variety of mechanically vibrating systems. Resonance is an open source software package developed by the instructors and is built on top of the Scientific Python ecosystem of software packages.

The documentation for resonance can be found at:

The rendered Jupyter notebooks that will be used in class can be found at:

Finally, the source code for resonance can be found at:

Running The Software

The easiest, and preferred method, of running the software is to log into with your UCD email address to access our JupyterHub server. You can then create a new "Python 3" Jupyter notebook.

Backing Up Your Work

The JupyterHub server has an automated backup in place should any problems occur, but it is recommended to regularly back up your own work. Download any important files to your computer on a regular basis.

Installing the Software On Your Personal Computer

If you want to run the software locally on your own computer, you can install the same packages that we have on the server. We recommend that you first install the Anaconda distribution of Python which includes most all of the packages you will need.

With this, you can open up either Jupyter notebooks or use the Spyder IDE (which also can open notebooks).

Currently, you will need to install resonance via the command line tool conda. Open a terminal on Mac OSX or Linux or an Anaconda Command Prompt on Windows and type:

conda install -c conda-forge resonance

To upgrade resonance as we release new versions, type:

conda update -c conda-forge resonance

This can also be done via Anaconda Navigator if you add the conda-forge channel.

Learning Python For Engineering Computation

These are my recommended resources:

Each software package also has documentation:

For beginning Python, I recommend ThinkPython by Allen Downey.

There are thousands of other online resources that cover the full spectrum of using Python for scientific and engineering computing.

Example Notebooks

To get an idea of what you can do with Jupyter notebooks, here are some examples: