#
Appendix B:

The Mathematica Code

#
The Triangle

#####
Initialize various packages, settings, and functions

#####
Define the force function

#####
Define the fourth-order RK4 algorithm

#####
Define constants

#####
Define equilibrium configuration

##
The analytic solution

####
Define the potential energy function

check that the potential energy in this configuration is really zero:

####
Generate the Hessian (H)

####
Find the eigenvalues and eigenvectors

####
The general solution

select the component of each normal mode to appear in the solution:

####
Visualize the analytic motion

##
The numerical solution

####
Define initial conditions

We set the inital position of the vertices to be the same as that chosen by α in the analytic solution (this is just to help the comparison, any points could be used):

####
Visualize the motion

##
Comparing the solutions

First we sample the analytic solution at the same intervals as the numeric solution:

####
The frequency spectrum of both solutions:

First we window the data:

Then we reincorporate the angular frequency:

plot the results:

#
The Tetrahedron

#####
Initialize various packages, settings, and functions

#####
Define the force function

#####
Define the fourth-order RK4 algorithm

#####
Define constants

#####
Define equilibrium configuration

##
The analytic solution

####
Define the potential energy function

check that the potential energy in this configuration is really zero:

####
Generate the Hessian (H)

####
Find the eigenvalues and eigenvectors

####
The general solution

Select the component of each normal mode to appear in the solution:

####
Visualize the analytic motion

This turns the general solution into a set graphics primitives:

##
The numerical solution

####
Define initial conditions

We set the inital position of the vertices to be the same as that chosen by α in the analytic solution (this is just to help the comparison, any points could be used):

####
Execute the fourth-order Runge-Kutta algorithm

####
Visualize the motion

This turns the computational results into a set graphics primitives:

##
Comparing the solutions

First we sample the analytic solution at the same intervals as the numeric solution:

####
The frequency spectrum of both solutions:

First we window the data:

Reincorporate the angular frequency:

plot the results:

#
The Cube

#####
Initialize various packages, settings, and functions

#####
Define the force function

#####
Define the fourth-order RK4 algorithm

#####
Define constants

#####
Define equilibrium configuration

##
The analytic solution

####
Define the potential energy function

Not all the springs are the same length:

check that the potential energy in this configuration is really zero:

####
Generate the Hessian

####
Find the eigenvalues and eigenvectors

####
The general solution

Select the component of each normal mode to appear in the solution:

####
Visualize the analytic motion

This turns the general solution into a set graphics primitives:

##
The numerical solution

####
Define initial conditions

We set the inital position of the vertices to be the same as that chosen by α in the analytic solution (this is just to help the comparison, any points could be used):

####
Execute the fourth-order Runge-Kutta algorithm

####
Visualize the motion

This turns the computational results into a set graphics primitives:

##
Comparing the solutions

First we sample the analytic solution at the same intervals as the numeric solution:

####
The frequency spectrum of both solutions:

First we window the data:

Reincorporate the angular frequency:

plot the results:

#
The Clathrin Cage

#####
Initialize packages

#####
Define the force function

#####
Define the fourth-order RK4 algorithm

#####
Define constants

#####
Define equilibrium configuration

##
The analytic solution

####
Define the potential energy function

there are 54 edges in the cage, so we expect 54 terms to appear in the potential energy

check that the potential energy in this configuration is really zero:

####
Generate the Hessian

####
Find the eigenvalues and eigenvectors:

###
Visualize the analytic solution

####
The general solution:

####
sampling the analytic solution:

We sample the analytic solution at the same intervals as the numeric solution. The results are put in a nested list of {x,y,z} coordinates.

####
The geometery

##
The numerical solution

####
Define initial conditions

####
Integration algorithm:

####
Visualizing the motion:

##
Comparing the solutions

####
The frequency spectrum of both solutions:

First we window the data:

Reincorporate the angular frequency:

plot the results:

Converted by *Mathematica*
June 13, 2002