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.