Skip to main content

FUtility

Futility is a jointly-maintained, open-source project between the University of Michigan and Oak Ridge National Laboratory.

The Futility project is a CMake-configurable package of FORTRAN utilities that contains the following capabilities:

  • Definition of kinds for intrinsic numeric data type
  • Unit test harness
  • Definitions for some basic extensions to the Fortran language:
  • arbitrary length strings, a parameter list construct, exception handlers, a command line processor, and timers
  • Geometry definitions and intersection routines for:
  • point, line, plane, box, cylinder, and polyhedron
  • File wrapper functions:
  • standard Fortran input/output files, binary files, HDF5 files, and VTK files

Parallel wrapper functions:

MPI, and OpenMP abstraction layers, partitioning algorithms

Math utilities:

BLAS, Matrix and Vector definitions, Linear Solver methods, wrappers for other TPLs (PETSC, MKL, etc), and pre-conditioner classes,

A lightweight profiling interface, and Other miscellaneous routines:

random number generator, water saturation properties, sorting algorithms

The Futility project will not contain any encryption technology to preserve the open source license.

Read more...