Skip to content

CASL/Futility

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0d82728 · Feb 15, 2024
Oct 29, 2019
Feb 14, 2024
Nov 21, 2019
Mar 3, 2021
Feb 15, 2024
Feb 14, 2024
Oct 27, 2017
May 24, 2021
Feb 14, 2024
Mar 17, 2021
Sep 14, 2017
Dec 2, 2016
Jan 18, 2017
Mar 3, 2021
Jan 19, 2017
Oct 14, 2020
Jul 15, 2021
Jun 30, 2017
May 18, 2017
Apr 7, 2017
Dec 2, 2016

Repository files navigation

IMPORTANT: Futility has moved! All contributions will be accepted only through the new host server as of 07/14/2021.

Futility


Futility Development Group

All rights reserved.

Futility is a jointly-maintained, open-source project between the University of Michigan and Oak Ridge National Laboratory.  The copyright and license can be found in LICENSE.txt in the head directory of this repository.

Introduction


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

  • Definition of kinds for intrinsic numeric data types
  • 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.

Citation


Proper citation of the Futility software: Futility Development Group, "Futility: FORTRAN Utility," Revision {REVISION}.

Where the {REVISION} can be found with GIT:

git log -1 --pretty=format:"%h, %ad" --date=format:'%m-%d-%Y'

Origin


The original software package that is now Futility was developed at the University of Michigan to enable efficient development and testing of the MPACT code. The original developers, now at ORNL and Michigan, further extended this library and generalized it for use with COBRA-TF and MAMBA as part of VERA. Further information on these original applications that leverage Futility can be found at www.casl.gov.

Software License and Contributor Agreement


License Agreement:

  • By downloading, copying, installing or using the software you agree to the Apache License v2.0, as described in LICENSE.txt. If you do not agree to this license, do not download, install, copy or use the software.

Contributor Agreement:

  • All contributors to the software have agreed that their contributions may be distributed with the license in LICENSE.txt. If you do not agree to the distribution of your contribution under this license, do not contribute to this software project.
  • When a contribution is made through a pull request at github.com/CASL/Futility the author has the right to add an additional Copyright statement to the LICENSE.txt file in their pull request. The original copyright statements should remain followed by the new contribution.
  • The administrators of the github.com/CASL/Futility project reserve the right to decline any pull request for any reason.