OOF: Finite Element Analysis of Microstructures
Installing OOF3D Prerequisites
The hardest part of installing OOF3D can be installing the third party libraries that it uses. This page lists the required libraries and contains explicit instructions for installing them on several different operating systems.
The easiest way to install the libraries that OOF3D requires is to use a package manager, which will automatically configure, build, and install the libraries and all of the additional software that the libraries require. The tricky bit can be knowing which packages to request. This file gives explicit instructions for using package managers on OS X and various flavors of Linux.
NOTE: These instructions assume that you are a non-admin user, but have sudo privileges. If you are doing this from an admin or root account you may be able to omit the sudo from many of the commands listed here.
If you encounter difficulties with these instructions, please let us know.
Before installing OOF3D, the following software packages must be installed on your system. Detailed instructions for installing these packages on some computers are listed below.
If you are using the binary installer for macOS, you do not need to install any of these prerequisites.
If your variety of Linux isn't listed and you successfully installed OOF3D on it, we would appreciate it if you'd tell us what you did, so that we can include your instructions here. Also, Linux distributions and packages sometimes change, so these instructions may be outdated. If they are, please let us know!
Run this command:
sudo zypper install python-devel gtk2-devel python-gtk-devel liblapack3 lapack blas libblas3 vtk8 libbz2-devel libtool
Because OOF3D still requires gtk+2, it unfortunately can't be run on the most recent versions of Ubuntu. The latest that we've built it for is 18.04LTS (bionic). That distribution doesn't provide the required version of VTK, so you will have to build VTK manually. VTK 9.1 requires a later version of cmake than is available on Ubuntu 18.04, so use VTK 8.2 or 9.0. You can obtain 9.0 from github.
Run this command:
sudo apt install python-gtk2-dev liblapack-dev bison
See the instructions below for installing VTK.
Run this command:
yum install gtk2-devel pygtk2-devel python-devel lapack-devel blas-devel bzip2-devel libtool gcc-c++You may have to install VTK manually following the directions below.
When the instructions below tell you to type a command, type it in a Terminal window. You can copy and paste the lines from this page.
OOF3D can be built to use either X11 graphics or native macOS graphics, referred to as "Cocoa" or "Quartz", depending on the context. NOTE: At the time of OOF3D 3.2.4's release, however, it doesn't seem to be possible to build VTK with X11, so follow the instructions below for Quartz/Cocoa.
Apple no longer supplies X11 with the OS, but you can install it from MacPorts (the package name is xorg-server). It can also be downloaded from XQuartz.
Whichever package manager you use, you will have to install Apple's Xcode tools, which are available through the App Store. MacPorts has a good discussion of the various ways of getting Xcode on different versions of macOS. After installing XCode, install its command line tools and agree to its license by typing these commands:
sudo xcode-select --install sudo xcodebuild -license
The tricky part of installing OOF3D with MacPorts without X11 is that other packages that MacPorts has installed have to be installed without X11 too. If you already have other MacPorts packages installed, this is at best a pain and at worst impossible. Installation can take a long time, because using non-standard options means that MacPorts won't download any of its pre-compiled binaries.
Here are the steps:
This no longer seems to be possible, because VTK does not work in this configuration. If it did work, you should be able to follow the Quartz/Cocoa instructions above, skipping the variants.conf step, skipping sudo port install vtk, and addding sudo port install xorg-server. You will have to build VTK manually (see below), but that is where the problem lies.
These are instructions for building the visualization toolkit, VTK. They should be sufficient for OOF3D's purposes. They may not be sufficient for all purposes.
OOF3D requires VTK version 8.1 or 8.2, 9.0, or 9.1. It might build with VTK 6 or 7, but it's not likely to work correctly. It won't build with VTK 5.
These instructions assume you're using vtk 8.1.1. Where they refer to "8.1.1", substitute the actual version number of the version that you downloaded.