Skip navigation.
Home

Cluster Installation of Simbody

Simbody is a multibody physics API to solve Newton's second law in any set of coordinates with arbitrary constraints. To install from source download the latest stable version to somewhere sensible, load the appropriate environment models, including cmake, ensure that a significant number of libraries are available or also added to the path, and install. The following is the most abbreviated example approach.


mkdir /usr/local/src/SIMBODY
cd !$
wget https://github.com/simbody/simbody/archive/Simbody-3.3.tar.gz //double-check what they download these as because the people at Simbody have some very strange conventions.
mv Simbody-3.3 Simbody-3.3.tar.gz // An example of the strangeness, you might not need to do this.
tar xvf Simbody-3.3.tar.gz
mv simbody-Simbody-3.3/ Simbody-3-3 // Another example of the strangeness.

Next is the environment modules and libraries.


yum install freeglut-devel libXi-devel libXmu-devel lapack-devel mesa-libGL-devel.i686 mesa-libGLU-devel.i686 mesa-libGL-devel.x86_64 mesa-libGLU-devel.x86_64 libX11-devel.x86_64
module load gcc/4.6.2
module load cmake/2.8.7

Then create a build directory, and install directory, and run the installation. Note that you will have to either (a) install and build in the same directory (change to /usr/local/simbody/3.3 and run cmake -i /usr/local/src/SIMBODY/Simbody-3.3 or change the install path in CMakeLists.txt, around line 191.


mkdir build
cd !$
mkdir -p /usr/local/simbody/3.3
cmake ../Simbody-3.3
make
make test
make doxygen
make install

Create an .base environment module as normal in /usr/local/Modulefiles/modules/simbody and create a symbolic link to the .base file.


#%Module1.0#####################################################################
##
## $name modulefile
##
set ver [lrange [split [ module-info name ] / ] 1 1 ]
set name [lrange [split [ module-info name ] / ] 0 0 ]
set loading [module-info mode load]
set desc [join [read [ open "/usr/local/Modules/modulefiles/$name/.desc" ] ] ]
module-whatis "$desc (v$ver)"
if { $loading && ![ is-loaded gcc/4.6.2 ] } {
module load gcc/4.6/2
}
prepend-path LD_LIBRARY_PATH /usr/local/$name/$ver/lib64
prepend-path PATH /usr/local/$name/$ver/bin

A closely association application is OpenSim which allowes users to develop models of musculoskeletal structures and create dynamic simulations of movement.