OOF: Finite Element Analysis of Microstructures

OOF2 on macOS Ventura

oof2 logo

[Introduction] [System Requirements] [Disclaimer and Copyright] [Installation]


Introduction

As of version 2.2, OOF2 uses the Gtk3 graphics toolkit. At this time (2 February 2023) Gtk3 does not work correctly on MacOS 13 (Ventura). In particular, it does not allow mouse clicks on drop-down menus. See here for more information.

One poor but workable solution to the problem is to use the keyboard arrow keys to navigate the menus in OOF2 2.2.x. Click on the menubar to bring up a menu, and then use the up and down arrows to move between menu items. Use the right arrow to enter a submenu, and the left arrow to exit it. The return key will select the current menu item.

Another solution is to install a slightly modified version of OOF2 2.1.19, available below. This version includes the Eigen updates from OOF2 2.2, but does not use Gtk3.

The modified 2.1.19 will work on other systems, but it's not required there. If you can, use OOF2 2.2 instead. It has many advantages over 2.1.19.


System Requirements

You need

  • A C++ compiler.
  • Python, version 2.7.
  • The Image Magick++ image processing library, version 6.x. OOF2 does not work with ImageMagick 7.
  • The gtk+2 graphics toolkit. OOF2 requires version 2.6 or later, but not as late as version 3.0.
  • The Gnome canvas library, libgnomecanvas2, version 2.6 or later. (Earlier versions may work too.)
  • The pygtk Python bindings for the gtk+ library. OOF2 requires version 2.6 or later.
  • The BLAS basic linear algebra subroutines and the lapack linear algebra library.
  • Optional: An X11 server. OOF2 can use either X11 or the native Cocoa/Quartz graphics.

If you're using MacPorts, you can install the prerequisites as follows:

  1. Install MacPorts, from http://www.macports.org/install.php, folowing their instructions.

  2. If you want to use Cocoa/Quartz instead of X11, edit the file /opt/local/etc/macports/variants.conf and add the line

      -x11 +quartz
    
    at the bottom.

  3. Run these commands:

      sudo port install pkgconfig
      sudo port install openblas +native
      sudo port install py27-numpy +openblas
      sudo port install py27-pygtk
      sudo port install libgnomecanvas
      sudo port install ImageMagick
    
    If you're using X11, also run
      sudo port install xorg-server
    

  4. If you want python2.7 to be the default version of python, run

      sudo port select python python27
    
    If you don't do this, then be sure to type python2.7 instead of python when installing OOF2, below.


Disclaimer and Copyright

The research software provided on this web site ("software") is provided by NIST as a public service. You may use, copy and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. To facilitate maintenance we ask that before distributing modified versions of this software, you first contact the authors at oof_manager@list.nist.gov.

The software is expressly provided "AS IS". NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE.

You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software was developed by NIST employees. NIST employee contributions are not subject to copyright protection within the United States.


Installation

  1. Install the OOF2 prerequisites.

  2. Download OOF2 2.1.19_1 from oof2-2.1.19_1.tar.gz (14910223 bytes, compressed; md5 checksum eace066946b3bc4c8fb05be4cdefd928).

    This will create a file called oof2-2.1.19_1.tar.gz in your download directory.

  3. Unpack the downloaded tar file, if your browser didn't do it already: cd to the directory where it lives and type
      tar -xf oof2.1.19_1.tar.gz
    
    This will create a directory called oof2-2.1.19_1.
  4. Read the README file.
  5. cd to oof2-2.1.19_1 and run
      python setup.py build
    
    followed by
      sudo python setup.py install
    
    to install in a system directory, or
      python setup.py install --prefix=$HOME
    
    to install in your home directory. It's important to ensure that you use Python 2.7 to build and install OOF2.