# Glossary¶

- AppVeyor
A cloud-based Continuous Integration tool. See https://www.appveyor.com.

- Buildbot
The Buildbot is a system to automate the compile/test cycle required by most software projects to validate code changes. No longer used for FiPy. See http://trac.buildbot.net/.

- CircleCI
A cloud-based Continuous Integration tool. See https://circleci.com.

- conda
An open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language. See https://conda.io.

- Continuous Integration
The practice of frequently testing and integrating one’s new or changed code with the existing code repository. See https://en.wikipedia.org/wiki/Continuous_integration.

- FiPy
The eponymous software package. See http://www.ctcms.nist.gov/fipy.

- Gmsh
A free and Open Source 3D (and 2D!) finite element grid generator. It also has a CAD engine and post-processor that FiPy does not make use of. See http://www.geuz.org/gmsh.

- IPython
An improved Python shell that integrates nicely with Matplotlib. See http://ipython.scipy.org/.

- linux
An operating system. See http://www.linux.org.

- macOS
An operating system. See http://www.apple.com/macos.

- Matplotlib
`matplotlib`

Python package displays publication quality results. It displays both 1D X-Y type plots and 2D contour plots for structured data. It does not display unstructured 2D data or 3D data. It works on all common platforms and produces publication quality hard copies. See http://matplotlib.sourceforge.net and Matplotlib.- Mayavi
The

`mayavi`

Data Visualizer is a free, easy to use scientific data visualizer. It displays 1D, 2D and 3D data. It is the only FiPy viewer available for 3D data. Other viewers are probably better for 1D or 2D viewing. See http://code.enthought.com/projects/mayavi and Mayavi.- MayaVi
The predecessor to Mayavi. Yes, it’s confusing.

- MPI
The Message Passing Interface is a standard that allows the use of multiple processors. See http://www.mpi-forum.org

- mpi4py
MPI for Python provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors. For Solving in Parallel, FiPy requires

`mpi4py`

, in addition to PETSc or Trilinos. See https://mpi4py.readthedocs.io.- numarray
An archaic predecessor to NumPy.

- Numeric
An archaic predecessor to NumPy.

- NumPy
The

`numpy`

Python package provides array arithmetic facilities. See http://www.scipy.org/NumPy.- OpenMP
The Open Multi-Processing architecture is a specification for a set of compiler directives, library routines, and environment variables that can be used to specify high-level parallelism in Fortran and C/C++ programs. See https://www.openmp.org.

- pandas
“Python Data Analysis Library” provides high-performance data structures for flexible, extensible analysis. See http://pandas.pydata.org.

- PETSc
The Portable, Extensible Toolkit for Scientific Computation is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. See https://www.mcs.anl.gov/petsc and PETSc.

- petsc4py
Python wrapper for PETSc. See https://petsc4py.readthedocs.io/.

- pip
“pip installs python” is a tool for installing and managing Python packages, such as those found in PyPI. See http://www.pip-installer.org.

- PyAMG
A suite of python-based preconditioners. See http://code.google.com/p/pyamg/ and PyAMG.

- pyamgx
a Python interface to the NVIDIA AMGX library, which can be used to construct complex solvers and preconditioners to solve sparse sparse linear systems on the GPU. See https://pyamgx.readthedocs.io/ and pyamgx.

- PyPI
The Python Package Index is a repository of software for the Python programming language. See http://pypi.python.org/pypi.

- Pyrex
A mechanism for mixing C and Python code. See http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/.

- Pysparse
The

`pysparse`

Python package provides sparse matrix storage, solvers, and linear algebra routines. See http://pysparse.sourceforge.net and Pysparse.- Python
The programming language that FiPy (and your scripts) are written in. See http://www.python.org/.

- Python 3
The (likely) future of the Python programming language. Third-party packages are slowly being adapted, but many that FiPy uses are not yet available. See http://docs.python.org/py3k/ and

**PEP 3000**.- PyTrilinos
Python wrapper for Trilinos. See http://trilinos.sandia.gov/packages/pytrilinos/.

- PyxViewer
A now defunct python viewer.

- ScientificPython
A collection of useful utilities for scientists. See http://dirac.cnrs-orleans.fr/plone/software/scientificpython.

- SciPy
The

`scipy`

package provides a wide range of scientific and mathematical operations. FiPy can use Scipy’s solver suite for linear solutions. See http://www.scipy.org/. and SciPy.- Sphinx
The tools used to generate the FiPy documentation. See http://sphinx.pocoo.org/.

- TravisCI
A cloud-based Continuous Integration tool. See https://travis-ci.org.

- Trilinos
This package provides sparse matrix storage, solvers, and preconditioners, and can be used instead of Pysparse. Trilinos preconditioning allows for iterative solutions to some difficult problems that Pysparse cannot solve. See http://trilinos.sandia.gov and Trilinos.

- Weave
The

`weave`

package can enhance performance with C language inlining. See https://github.com/scipy/weave.- Windows
An operating system. See http://www.microsoft.com/windows.