Previous Section - Pizza.py WWW Site - Pizza.py Documentation - Pizza.py Tools - Next Section

### 1. Introduction

These sections describe what Pizza.py is, what it means to be open-source software, and acknowledge the funding and people who have contributed to Pizza.py.

1.1 What is Pizza.Py
1.2 Open source distribution
1.3 Acknowledgements

#### 1.1 What is Pizza.py

Pizza.py is a loosely integrated collection of tools, many of which provide pre- and post-processing capabilities for the LAMMPS molecular dynamics and ChemCell cell simulator packages.

There are tools to create input files, convert between file formats to connect to other codes, process log and dump files, plot output, and visualize and animate simulation snapshots.

Python is used in Pizza.py in 3 ways:

- to provide an interactive and scripting interface to the tools
- as a language for writing tools
- to wrap existing stand-alone codes

Python makes it easy for users of Pizza.py to:

- experiment with tools interactively
- automate tasks as script files of commands
- extend tools or create new ones

The topmost level of Pizza.py adds a modest bit of functionality to the Python interpreter to make it easier to invoke tools and pass data between them. As such, Python is an ideal "framework" or "glue" language that enables various tools to be hooked together, while also providing a rich programming environment of its own.

#### 1.2 Open source distribution

Pizza.py comes with no warranty of any kind. As each source file states in its header, it is distributed free-of-charge, under the terms of the GNU Public License (GPL). This is often referred to as open-source distribution - see www.gnu.org or www.opensource.org for more details. The legal text of the GPL is in the LICENSE file that is included in the Pizza.py distribution.

Here is a summary of what the GPL means for Pizza.py users:

(1) Anyone is free to use, modify, or extend Pizza.py in any way they choose, including for commercial purposes.

(2) If you distribute a modified version of Pizza.py, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of Pizza.py.

(3) If you release any code that includes Pizza.py source code, then it must also be open-sourced, meaning you distribute it under the terms of the GPL.

(4) If you give Pizza.py to someone else, the GPL LICENSE file and source file headers (including the GPL notices) should remain part of the code.

In the spirit of an open-source code, these are various ways you can contribute to making Pizza.py better. You can send email to sjplimp@sandia.gov on any of these items.

- If you write a Pizza.py script that is generally useful or illustrates how to do something cool with Pizza.py, it can be added to the Pizza.py distribution. Ditto for a picture or movie that can be added to the Pizza.py WWW site.
- If you add a new method to one of the tools or create a new tool that is useful for Pizza.py or LAMMPS or ChemCell users, it can be added to the Pizza.py distribution. See the ToDo list at the beginning of the src/*.py files for features that haven't yet been implemented.
- If you find a bug, report it.
- Report if you find an error or omission in the Pizza.py documentation or on the Pizza.py WWW Site, or have a suggestion for something to clarify or include.
- Point prospective users to the Pizza.py WWW Site or link to it from your WWW site.

#### 1.3 Acknowledgements

Pizza.py has been developed at Sandia National Laboratories which is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.

Funding for Pizza.py development has come from the US Department of Energy (DOE), through its LDRD and Genomes-to-Life programs. The latter effort has been funded by DOE's OASCR and OBER offices as part of the US Department of Energy's Genomics:GTL program (www.doegenomestolife.org) under the project, "Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to Hierarchical Modeling".

The maintainer of Pizza.py is Steve Plimpton.

Matt Jones, a BYU student who was a summer intern at Sandia, wrote several of the coolest tools in Pizza.py and about half the code in the initial version.

Others who have written tools or scripts that are part of the Pizza.py distribution are listed on the Pizza.py WWW site.