35
35
.. |Tracking | image :: https://img.shields.io/badge/issue_tracking-github-blue
36
36
:target: https://github.com/diffpy/diffpy.srfit/issues
37
37
38
+ diffpy.srfit
39
+ ============
40
+
38
41
Configurable code for solving atomic structures.
39
42
40
- * LONGER DESCRIPTION HERE
43
+ The diffpy.srfit package provides the framework for building a global optimizer
44
+ on the fly from components such as function calculators (that calculate
45
+ different data spectra), regression algorithms and structure models. The
46
+ software is capable of co-refinement using multiple information sources or
47
+ models. It provides a uniform interface for various regression algorithms. The
48
+ target function being optimized can be specified by the user according to the
49
+ data available.
50
+
51
+ Within the diffpy.srfit framework, any parameter used in describing the
52
+ structure of a material can be passed as a refinable variable to the global
53
+ optimizer. Once parameters are declared as variables they can easily be turned
54
+ "on" or "off", i.e. fixed or allowed to vary. Additionally, variables may be
55
+ constrained to obey mathematical relationships with other parameters or
56
+ variables used in the structural model. Restraints can be applied to
57
+ variables, which adds a penalty to the refinement process commensurate with the
58
+ deviation from the known value or range. The cost function can also be
59
+ customized by the user. If the refinement contains multiple models, each model
60
+ can have its own cost function which will be properly weighted and combined to
61
+ obtain the total cost function. Additionally, diffpy.srfit is designed to be
62
+ extensible, allowing the user to integrate external calculators to perform
63
+ co-refinements with other techniques.
41
64
42
65
For more information about the diffpy.srfit library, please consult our `online documentation <https://diffpy.github.io/diffpy.srfit >`_.
43
66
@@ -46,7 +69,13 @@ Citation
46
69
47
70
If you use diffpy.srfit in a scientific publication, we would like you to cite this package as
48
71
49
- diffpy.srfit Package, https://github.com/diffpy/diffpy.srfit
72
+
73
+ P. Juhás, C. L. Farrow, X. Yang, K. R. Knox and S. J. L. Billinge,
74
+ `Complex modeling: a strategy and software program for combining
75
+ multiple information sources to solve ill posed structure and
76
+ nanostructure inverse problems
77
+ <http://dx.doi.org/10.1107/S2053273315014473> `__,
78
+ *Acta Crystallogr. A * **71 **, 562-568 (2015).
50
79
51
80
Installation
52
81
------------
@@ -71,6 +100,30 @@ To confirm that the installation was successful, type ::
71
100
72
101
The output should print the latest version displayed on the badges above.
73
102
103
+ This will install the minimal `diffpy.srfit ` installation. It will often be used
104
+ as along with other packages for manipulating and computing crystal structures
105
+ and so on. We also therefore recommend installing the following:
106
+
107
+ * ``diffpy.structure `` - crystal structure container and parsers,
108
+ https://github.com/diffpy/diffpy.structure
109
+ * ``pyobjcryst `` - Crystal and Molecule storage, rigid units, bond
110
+ length and bond angle restraints, https://github.com/diffpy/pyobjcryst
111
+
112
+ Optimizations involving pair distribution functions PDF or bond valence
113
+ sums require
114
+
115
+ * ``diffpy.srreal `` - python library for PDF calculation,
116
+ https://github.com/diffpy/diffpy.srreal
117
+
118
+ Optimizations involving small angle scattering or shape characteristic
119
+ functions from the diffpy.srfit.sas module require
120
+
121
+ * ``sas `` - module for calculation of P(R) in small-angle scattering
122
+ from the SasView project, http://www.sasview.org
123
+
124
+ Fallback Installation
125
+ ---------------------
126
+
74
127
If the above does not work, you can use ``pip `` to download and install the latest release from
75
128
`Python Package Index <https://pypi.python.org >`_.
76
129
To install using ``pip `` into your ``diffpy.srfit_env `` environment, type ::
@@ -125,3 +178,6 @@ Acknowledgements
125
178
----------------
126
179
127
180
``diffpy.srfit `` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/ >`_.
181
+
182
+ The source code in *observable.py * was derived from the 1.0 version
183
+ of the Caltech "Pyre" project.
0 commit comments