1 / 18

DANSE Diffraction Software for the SNS: DiffDANSE

DANSE Diffraction Software for the SNS: DiffDANSE. S.J.L. Billinge Dept. Physics and Astronomy Michigan State University. Outline. “Local” Goals of DiffDANSE Proposed scope and tasks Preliminary work Communications. DiffDANSE goals.

ponce
Download Presentation

DANSE Diffraction Software for the SNS: DiffDANSE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DANSE Diffraction Software for the SNS: DiffDANSE S.J.L. Billinge Dept. Physics and Astronomy Michigan State University

  2. Outline • “Local” Goals of DiffDANSE • Proposed scope and tasks • Preliminary work • Communications

  3. DiffDANSE goals • Make diffraction data analysis software that SNS users (and other people) want to use! • Make sure that it has a long life

  4. DiffDANSE goals • Make diffraction data analysis software that people want to use! • Solves people’s scientific problems, opens new scientific horizons • Shortens time to publication • Flexible • Easy to use • Good user documentation • Robust and Stable

  5. DiffDANSE goals • Make sure that it has a long life • Maintainable (esp. by others, i.e., SNS!) • Good developer documentation • Requirements/use cases/tests stored with the code • Extensible • modular • Scalable • Dynamic memory allocation • Distributable/parallelizable • Quality controlled • Open source

  6. Scope

  7. Common tasks Libraries/common utilities Education/outreach

  8. DiffDANSE development team ?

  9. Prototype: Dream-desktop for local-structure studies using the atomic pair distribution function (PDF)

  10. Prototype application: PDFgui • Goals: • PDF is a great technique for studying local structure, but our programs are clunky and hard to use…ok for hard-core physicists but not for wider adoption. Give it an easy-to-use interface • Often we want to refine multiple datasets as a function of temperature/pressure/composition, etc.. Make a program that is straightforward to automate for multiple datasets but flexible enough to give the user control over this process • Users are interested in structure, not scattering data. Allow them to interact with the structure straightforwardly in the same program in real time • Make it sufficiently fast that people want to use it • Use it as a prototype to learn how the DANSE software development process is going to go

  11. PDFgui • Solution: • Write Python bindings into our existing PDFFIT2 C++ code to access variables at the python layer at run-time • Wrap an existing plotting program, matplotlib, for 1D plots which support user interactions (zoom, explore, etc.) • Wrap an existing structure visualization program, ATOMEYE, for simple structure visualization • Build a GUI front-end • We want real-time interactivity so… • Graphics can eat up system resources => build in distributed functionality. Have PDFFIT2 running on a remote computer but keep the real-time interactivity

  12. GUI Control Center PDFFIT2 PDFgui component structure Plot Control Matplotlib StruVis Control Pymol

  13. Configuring a set of fits for a T-series on LaMnO3 data.

  14. Plotting pane of PDFgui

  15. PDFgui • Make code people want to use • Careful design of the structure of the GUI. This went through several iterations and ultimately a complete refactoring as we struggled with how people will use it for different tasks. • User input: • Rapid development cycle was just a few months from inception to the alpha-0 release (local release with a single installation). Now working on alpha-1 (wider release, some feature improvements) • (already expert PDF) Users were up to speed after one tutorial session with no documentation (will address at beta release) • Software control on TRAC and svn allows users to post bug-reports and feature requests that won’t get lost.

  16. PDFgui • Make sure that it has a long life • Modular • Clear separation of gui from program logic. Interaction between the program and the gui through proxies • Team development results in code that is readable by more than one human being • Coding standards for docstrings and basic syntax structure • Project under subversion control under TRAC

  17. Summary • Make codes people want to use • Open Source • Community engagement – what do you want to have? • Community involvement – what do you want to do? • Now beginning to develop the detailed software requirements. Please tell us what you need!

More Related