libdiffpy’s documentation

Software version 1.3.4.

Last updated June 21, 2017.

libdiffpy - C++ calculators of PDF, bond valence sum and other pair quantities

libdiffpy is a C++ library for calculating atomic pair distribution function (PDF), bond valence sums, atom overlaps for a hard-sphere model, bond distances and directions up to specified maximum distance. The atomic structure models are represented by classes for non-periodic, periodic or structures with space group symmetries. libdiffpy supports Crystal and Molecule classes from the ObjCryst crystallographic library. Calculators support two evaluation models - BASIC, which performs a full pair-summation every time, and OPTIMIZED, which updates only pair contributions that have changed since the last evaluation. libdiffpy supports object serialization and parallel computations using parallel map function. PDF calculations can be performed in two modes - either as a real-space summation of peak profiles (PDFCalculator) or as a reciprocal-space Debye summation and Fourier transform of the total scattering structure function (DebyePDFCalculator).

The calculator objects in libdiffpy share common procedure for iteration over atom pairs and only specialize the processing of pair contributions. New calculator class can thus be readily defined for any quantity that is obtained by iteration over atom pairs.

Disclaimer

OPEN SOURCE LICENSE AGREEMENT
=============================

Copyright (c) 2009-2011, University of Tennessee
Copyright (c) 1989, 1991 Free Software Foundation, Inc.
Copyright (c) 2006, The Regents of the University of California through
    Lawrence Berkeley National Laboratory
Copyright (c) 2014, Australian Synchrotron Research Program Inc., ("ASRP")
Copyright (c) 2006-2007, Board of Trustees of Michigan State University
Copyright (c) 2008-2012, The Trustees of Columbia University in the City
    of New York

Copyright (c) 2014-2017, Brookhaven Science Associates, Brookhaven National
    Laboratory


The "DiffPy-CMI" is distributed subject to the following license conditions:


SOFTWARE LICENSE AGREEMENT

    Software: DiffPy-CMI


(1) The "Software", below, refers to the aforementioned DiffPy-CMI (in either
source code, or binary form and accompanying documentation).

Part of the software was derived from the DANSE, ObjCryst++ (with permission),
PyCifRW, Python periodictable, CCTBX, and SasView open source projects, of
which the original Copyrights are contained in each individual file.

Each licensee is addressed as "you" or "Licensee."


(2) The copyright holders shown above and their third-party Licensors hereby
grant licensee a royalty-free nonexclusive license, subject to the limitations
stated herein and U.S. Government license rights.


(3) You may modify and make a copy or copies of the software for use within
your organization, if you meet the following conditions:

    (a) Copies in source code must include the copyright notice and this
        software license agreement.

    (b) Copies in binary form must include the copyright notice and this
        Software License Agreement in the documentation and/or other materials
        provided with the copy.


(4) You may modify a copy or copies of the Software or any portion of it, thus
forming a work based on the Software, and distribute copies of such work
outside your organization, if you meet all of the following conditions:

    (a) Copies in source code must include the copyright notice and this
        Software License Agreement;

    (b) Copies in binary form must include the copyright notice and this
        Software License Agreement in the documentation and/or other materials
        provided with the copy;

    (c) Modified copies and works based on the Software must carry prominent
        notices stating that you changed specified portions of the Software.

    (d) Neither the name of Brookhaven Science Associates or Brookhaven
        National Laboratory nor the names of its contributors may be used to
        endorse or promote products derived from this software without specific
        written permission.


(5) Portions of the Software resulted from work developed under a U.S.
Government contract and are subject to the following license:
The Government is granted for itself and others acting on its behalf a
paid-up, nonexclusive, irrevocable worldwide license in this computer software
to reproduce, prepare derivative works, and perform publicly and display
publicly.


(6) WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT
WARRANTY OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY
LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF
THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE WOULD NOT INFRINGE
PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE CORRECTED.


(7) LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR  ANY INDIRECT, INCIDENTAL,
CONSEQUENTIAL, SPECIAL OR PUNITIVE  DAMAGES OF ANY KIND OR NATURE, INCLUDING
BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER,
WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING
NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS
BEEN WARNED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES.


Brookhaven National Laboratory Notice
=====================================

Acknowledgment of sponsorship
-----------------------------

This software was produced by the Brookhaven National Laboratory, under
Contract DE-AC02-98CH10886 with the Department of Energy.


Government disclaimer of liability
----------------------------------

Neither the United States nor the United States Department of Energy, nor
any of their employees, makes any warranty, express or implied, or assumes
any legal liability or responsibility for the accuracy, completeness, or
usefulness of any data, apparatus, product, or process disclosed, or
represents that its use would not infringe privately owned rights.


Brookhaven disclaimer of liability
----------------------------------

Brookhaven National Laboratory makes no representations or warranties,
express or implied, nor assumes any liability for the use of this software.


Maintenance of notice
---------------------

In the interest of clarity regarding the origin and status of this
software, Brookhaven National Laboratory requests that any recipient of it
maintain this notice affixed to any distribution by the recipient that
contains a copy or derivative of this software.


END OF LICENSE

Acknowledgments

Developers

libdiffpy is developed and maintained by

Authors:

Pavol Juhas
Chris Farrow
Simon J.L. Billinge

Contributors:

https://github.com/diffpy/libdiffpy/graphs/contributors

Installation

See the README.rst file included with the distribution.

API and Index