Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "DANSE Diffraction Software for the SNS: DiffDANSE S.J.L. Billinge Dept. Physics and Astronomy Michigan State University."— Presentation transcript:

1 http://wiki.cacr.caltech.edu/danse/ DANSE Diffraction Software for the SNS: DiffDANSE S.J.L. Billinge Dept. Physics and Astronomy Michigan State University

2 http://wiki.cacr.caltech.edu/danse/ Outline “Local” Goals of DiffDANSE Proposed scope and tasks Preliminary work Communications

3 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/ Scope 6.1.1Structure functions from powder diffractometersMichigan State 6.1.2Bragg-peak intensities from single-crystal diffractometersMichigan State 6.1.3Instrument specific tasksMichigan State 6.2.1Full profile model refinement in real and reciprocal spaceMichigan State 6.2.2Plug in architecture for carrying out joint refinementsMichigan State 6.2.3Model independent peak fittingMichigan State 6.2.4Rietveld and PDF modeling extensionsMichigan State 6.2.5Constraint/restraint plug-insMichigan State 6.2.6Post modeling analysis toolsMichigan State 6.2.7Graphical applicationsMichigan State 6.2.8 Refinement control toolkitMichigan State 6.3.1Simulation of experimentsMichigan State 6.3.2Simulation Research ProjectMichigan State

7 http://wiki.cacr.caltech.edu/danse/ Common tasks 5.4.5.1cctbxMichigan State 5.4.5.2FOXMichigan State 5.4.5.3CrysFMLMichigan State 5.4.5.4PowderCellMichigan State 5.4.5.5ObjCryst++Michigan State 5.4.6.3PyMolMichigan State 5.4.6.4ViewMolMichigan State 5.4.6.5DRAWxtlMichigan State 5.4.6.7Additional CIF readerMichigan State 11.2.1.2 "Hands-On" Nanotechnology and Curriculum Development Michigan State Education/outreach Libraries/common utilities

8 http://wiki.cacr.caltech.edu/danse/ DiffDANSE development team ?

9 http://wiki.cacr.caltech.edu/danse/ Prototype: Dream-desktop for local-structure studies using the atomic pair distribution function (PDF)

10 http://wiki.cacr.caltech.edu/danse/ Prototype application: PDFgui Goals: 1.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 2.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 3.Users are interested in structure, not scattering data. Allow them to interact with the structure straightforwardly in the same program in real time 4.Make it sufficiently fast that people want to use it 5.Use it as a prototype to learn how the DANSE software development process is going to go

11 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/ PDFgui component structure GUI Control Center PDFFIT2 Plot ControlMatplotlib StruVis ControlPymol

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

14 http://wiki.cacr.caltech.edu/danse/ Plotting pane of PDFgui

15 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/ 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 http://wiki.cacr.caltech.edu/danse/

18 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!


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

Similar presentations


Ads by Google