# Glossary¶

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

- Azure¶
A cloud-based Continuous Integration tool. See https://dev.azure.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/.

- JSON¶
JavaScript Object Notation. A text format suitable for storing structured information such as

`dict`

or`list`

. See https://www.json.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.