Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Atomate: a tool for rapid high-throughput
computing and materials discovery
Anubhav Jain
Energy Technologies Area
Lawrence...
2
“Civilization advances by extending the
number of important operations which we
can perform without thinking about them....
Outline
3
① Vision of atomate
② History of atomate
③ Current implementation
④ Future of atomate
⑤ Practical things
A “black-box” view of performing a calculation
4
“something”
Results!
researcher
What is the
GGA-PBE elastic
tensor of GaA...
Unfortunately, the inside of the “black box”
is usually tedious and “low-level”
5
lots of tedious,
low-level work…
Results...
All the low-level steps can lead to errors!
Let’s take a look at two alternate universes:
It is too easy to end up in
the ...
Today, it is difficult to learn and apply several computational
procedures due to steep learning curve
Because of the mult...
What would be a better way?
8
“something”
Results!
researcher
What is the
GGA-PBE elastic
tensor of GaAs?
What would be a better way?
9
Results!
researcher
What is the
GGA-PBE elastic
tensor of GaAs?
Workflows to run
q band stru...
Ideally the method should scale to millions of calculations
10
Results!
researcher
Start with all binary
oxides, replace O...
Atomate’s vision is to make it easy, automatic, and flexible to
generate data with existing simulation packages
11
Results...
Outline
12
① Vision of atomate
② History of atomate
③ Current implementation
④ Future of atomate
⑤ Practical things
13
The first attempt to create something like this in Ceder
group was early/mid 2000s, with the “JCMC” code
“relational
da...
14
Circa 2011, we solved the database problem by switching to
MongoDB.We also migrated everything to Python
Without going ...
• We began the “atomate” project, which
prioritized ease-of-use and ease-of-development
over feature list
• This turned ou...
• The Materials Project is powered by atomate for the
last couple of years
– Thus, atomate users are using the same exact ...
Outline
17
① Vision of atomate
② History of atomate
③ Current implementation
④ Future of atomate
⑤ Practical things
How can we design a simple yet powerful
tool for performing simulations?
• First, we’ll go through the four high-level ste...
Steps for theory &
simulation
19
material
generation
simulation
procedure
calculation
&
execution
data
analysis
(crystal, ...
Software technologies for theory / calculation
20
(automatic materials
science workflows)
Custodian
(calculation error
rec...
Software stack for
theory & simulation
21
material
generation
simulation
procedure
calculation
&
execution
data
analysis
C...
Steps for theory &
simulation
22
material
generation
simulation
procedure
calculation
&
execution
data
analysis
(crystal, ...
Step 1: materials
generation
23
material
generation
• Pymatgen can help generate
models for:
– crystal structures
– molecu...
Steps for theory &
simulation
24
material
generation
simulation
procedure
calculation
&
execution
data
analysis
(crystal, ...
Step 2: simulation
procedure
25
simulation
procedure
• Simulation procedure requires knowing:
i. what sequence of calculat...
Atomate contains a library of simulation procedures
26
VASP-based
• band structure
• spin-orbit coupling
• hybrid function...
Each simulation procedure in atomate is composed of
multiple levels of detail / abstraction
27
Workflow – complete set of ...
atomate allows you to leverage the prior efforts and
knowledge of many researchers
28
K. Mathew J. Montoya S. Dwaraknath A...
Workflow parameters can be customized at
multiple levels of detail
29
1. Workflows have
various high-level
options
2. Fire...
You can build workflows from scratch or reuse components
to assemble workflows
Multiple workflows are built with the same
...
Atomate simulation procedures: the main ideas
• Atomate allows you to start with a material (e.g.,
crystal structure) and ...
Steps for theory &
simulation
32
material
generation
simulation
procedure
calculation
&
execution
data
analysis
(crystal, ...
Step 3: calculation &
execution
33
calculation
&
execution
• Once you have the material and the simulation procedure
(Work...
FireWorks allows you to write your workflow once and
execute (almost) anywhere
34
• Execute workflows
locally or at a
supe...
Dashboard with status of all jobs
35
Job provenance and automatic metadata storage
36
what machine
what time
what directory
what was the output
when was it que...
Detect and rerun failures
• All kinds of failures can be detected and rerun
– Soft failures (job quits with error code)
– ...
Customize job priorities
• Within workflow, or between workflows
• Completely flexible and can be modified /
updated whene...
Track output files remotely
• Can bring up the last few lines of each of your
output files – and can be combined with quer...
FireWorks workflow software: the main ideas
• FireWorks is used to execute Workflow objects at
supercomputing centers
• It...
An aside on “custodian”: instead of running VASP,
have custodian run VASP on your behalf
41
• Custodian can wrap around an...
Steps for theory &
simulation
42
material
generation
simulation
procedure
calculation
&
execution
data
analysis
(crystal, ...
Step 4:
data analysis
43
data
analysis
• Data analysis can involve:
i. Creating databases of materials and their propertie...
Atomate – builders
framework
44
“Builders” start with base
collections in a database and
create higher-level collections
t...
pymatgen – examples of analyses
45
phase diagrams
Pourbaix diagrams
diffusivity from MDband structure analysis
Data analysis: the main ideas
• Atomate generates databases that summarize your
calculation results. Additionally The buil...
Doing simulations programmatically can become second
nature – and very fast / automatic / scalable
47
material
generation
...
Outline
48
① Vision of atomate
② History of atomate
③ Current implementation
④ Future of atomate
⑤ Practical things
• After using atomate for ~3 years, we realize there are still
things that are awkward to do
• For example
– Re-using comp...
• Most of “atomate” (and all the various software tools) are
largely programmatic, not interactive / GUI-driven
• The goal...
51
Atomate GUI prototype
Done by UCB undergrad
But really requires a dedicated, focused effort
Outline
52
① Vision of atomate
② History of atomate
③ Current implementation
④ Future of atomate
⑤ Practical things
• Not going to lie, there is a learning curve and the current tools are
really meant for programmers
– When (if?) we get t...
• Papers: good general overview / vision but of no
practical help
• Online MP Workshop videos and tutorials: good way to
g...
Papers
• Again, these are of little practical help and any
specifics are often outdated
55
Ong, S. P. et al. Python Materi...
• Resources on http://workshop.materialsproject.org
• Videos on MP channel of Youtube:
– https://www.youtube.com/channel/U...
Online documentation
• Online documentation is the most comprehensive
writeup
– www.pymatgen.org
– https://materialsprojec...
Help lists
• A help forum for each code is at
https://discuss.matsci.org
58
Questions? Comments?
(a big thanks to everyone who supported and/or
contributed to this software!)
59Slides (already) post...
Nächste SlideShare
Wird geladen in …5
×

von

Atomate: a tool for rapid high-throughput computing and materials discovery Slide 1 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 2 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 3 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 4 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 5 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 6 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 7 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 8 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 9 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 10 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 11 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 12 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 13 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 14 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 15 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 16 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 17 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 18 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 19 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 20 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 21 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 22 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 23 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 24 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 25 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 26 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 27 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 28 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 29 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 30 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 31 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 32 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 33 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 34 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 35 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 36 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 37 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 38 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 39 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 40 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 41 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 42 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 43 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 44 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 45 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 46 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 47 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 48 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 49 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 50 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 51 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 52 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 53 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 54 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 55 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 56 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 57 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 58 Atomate: a tool for rapid high-throughput computing and materials discovery Slide 59
Nächste SlideShare
What to Upload to SlideShare
Weiter
Herunterladen, um offline zu lesen und im Vollbildmodus anzuzeigen.

0 Gefällt mir

Teilen

Herunterladen, um offline zu lesen

Atomate: a tool for rapid high-throughput computing and materials discovery

Herunterladen, um offline zu lesen

Presentation given to Ceder research group, April 2020

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen
  • Gehören Sie zu den Ersten, denen das gefällt!

Atomate: a tool for rapid high-throughput computing and materials discovery

  1. 1. Atomate: a tool for rapid high-throughput computing and materials discovery Anubhav Jain Energy Technologies Area Lawrence Berkeley National Laboratory Berkeley, CA Ceder group meeting, April 2020 Slides (already) posted to hackingmaterials.lbl.gov
  2. 2. 2 “Civilization advances by extending the number of important operations which we can perform without thinking about them.” - Alfred North Whitehead
  3. 3. Outline 3 ① Vision of atomate ② History of atomate ③ Current implementation ④ Future of atomate ⑤ Practical things
  4. 4. A “black-box” view of performing a calculation 4 “something” Results! researcher What is the GGA-PBE elastic tensor of GaAs?
  5. 5. Unfortunately, the inside of the “black box” is usually tedious and “low-level” 5 lots of tedious, low-level work… Results! researcher What is the GGA-PBE elastic tensor of GaAs? Input file flags SLURM format how to fix ZPOTRF? q set up the structure coordinates q write input files, double-check all the flags q copy to supercomputer q submit job to queue q deal with supercomputer headaches q monitor job q fix error jobs, resubmit to queue, wait again q repeat process for subsequent calculations in workflow q parse output files to obtain results q copy and organize results, e.g., into Excel
  6. 6. All the low-level steps can lead to errors! Let’s take a look at two alternate universes: It is too easy to end up in the wrong timeline! 6 you have coffee copy files from previous simulation edit 5 lines run simulation, analyze data forget coffee copy files from previous simulation edit 4 lines but forget LHFCALC=F run simulation, looks fine at first, in a month you discover it was wrong 1 2 you
  7. 7. Today, it is difficult to learn and apply several computational procedures due to steep learning curve Because of the multiple low-level steps and subtleties that all need to be done correctly to apply computational methods, there is often a single group “expert” for each technique 7 “Alice knows how to do charged defect calculations.” “Bob is the one who can properly converge GW runs.” “Olga has all the scripts for phonon calculations.”
  8. 8. What would be a better way? 8 “something” Results! researcher What is the GGA-PBE elastic tensor of GaAs?
  9. 9. What would be a better way? 9 Results! researcher What is the GGA-PBE elastic tensor of GaAs? Workflows to run q band structure q surface energies ü elastic tensor q Raman spectrum q QH thermal expansion
  10. 10. Ideally the method should scale to millions of calculations 10 Results! researcher Start with all binary oxides, replace O->S, run several different properties Workflows to run ü band structure ü surface energies ü elastic tensor q Raman spectrum q QH thermal expansion q spin-orbit coupling
  11. 11. Atomate’s vision is to make it easy, automatic, and flexible to generate data with existing simulation packages 11 Results! researcher Run many different properties of many different materials!
  12. 12. Outline 12 ① Vision of atomate ② History of atomate ③ Current implementation ④ Future of atomate ⑤ Practical things
  13. 13. 13 The first attempt to create something like this in Ceder group was early/mid 2000s, with the “JCMC” code “relational database hell” DB design bottleneck • Java on its way out • Poor source code quality control • 134,000 lines of code • 511 classes • 54 packages
  14. 14. 14 Circa 2011, we solved the database problem by switching to MongoDB.We also migrated everything to Python Without going into too many details, it turned out these were better tools for us to be constructing code with. We also tightened up code quality control During this period, we created pymatgen and FireWorks which are still alive today and indeed tend to be growing. These codes were written to be general-purpose and for arbitrary end users. We also created MPWorks and used it for ~5 years. But this code was written mainly for ourselves to power the Materials Project. It was a “heavyweight” infrastructure, like a battleship. It could run a lot of calculations (good for solving big problems) but had a ton of components and prioritized comprehensiveness over ease–of–use (bad for solving small problems).
  15. 15. • We began the “atomate” project, which prioritized ease-of-use and ease-of-development over feature list • This turned out to be a very good idea, and atomate is definitely better than MPWorks • But, we still didn’t get everything right (more on that later) – Why is it taking so many iterations to get this code right? Because developing complex frameworks is more difficult than writing complex functions 15 Circa 2016, we decided that MPWorks needed to be redesigned to make it easier to solve small problems
  16. 16. • The Materials Project is powered by atomate for the last couple of years – Thus, atomate users are using the same exact tool as Materials Project • Persson, Jain, and Ong research groups use atomate for their work • Some examples of outside community usage • Members of ABINIT team (G.M. Rignanese, G. Hautier) plan to migrate all their ABINIT workflows to atomate – Exciting thing is that one can then run all this stuff without paying for anything apart from computing 16 Atomate is used in several different places and is quite well- tested now
  17. 17. Outline 17 ① Vision of atomate ② History of atomate ③ Current implementation ④ Future of atomate ⑤ Practical things
  18. 18. How can we design a simple yet powerful tool for performing simulations? • First, we’ll go through the four high-level steps in doing a theory study • In each step, we’ll talk about how software tools can help make you more productive and help you concentrate on things that truly require your attention, not mindless labor (e.g., manually resubmitting failed jobs) 18
  19. 19. Steps for theory & simulation 19 material generation simulation procedure calculation & execution data analysis (crystal, surface/interface, molecule, etc...) simulation parameters and sequence (workflow) job management, execution, error recovery databases, plotting, analysis, insight
  20. 20. Software technologies for theory / calculation 20 (automatic materials science workflows) Custodian (calculation error recovery) (materials analysis framework) Base packages Derived packages (workflow definition & execution) These are all open-source: (materials data mining)
  21. 21. Software stack for theory & simulation 21 material generation simulation procedure calculation & execution data analysis Custodian
  22. 22. Steps for theory & simulation 22 material generation simulation procedure calculation & execution data analysis (crystal, surface/interface, molecule, etc...) simulation parameters and sequence (workflow) job management, execution, error recovery databases, plotting, analysis, insight
  23. 23. Step 1: materials generation 23 material generation • Pymatgen can help generate models for: – crystal structures – molecules – systems (surfaces, interfaces, etc.) • Tools include: – order-disorder (shown at right) and SQS – interstitial finding – surface / slab generation – structure matching and analysis – get structures from Materials Project • Won’t cover materials generation in this presentation! Example: Order-disorder resolve partial or mixed occupancies into a fully ordered crystal structure (e.g., mixed oxide-fluoride site into separate oxygen/fluorine)
  24. 24. Steps for theory & simulation 24 material generation simulation procedure calculation & execution data analysis (crystal, surface/interface, molecule, etc...) simulation parameters and sequence (workflow) job management, execution, error recovery databases, plotting, analysis, insight
  25. 25. Step 2: simulation procedure 25 simulation procedure • Simulation procedure requires knowing: i. what sequence of calculations do I need to perform to compute my desired materials property? ii. for each calculation, what is a good set of parameters to use (e.g., functional, energy cutoff, k-point density, etc.) • Item (i) is largely handled by atomate • Item (ii) is largely handled by pymatgen, e.g. in the VaspInputSet classes and won’t be covered here – although atomate also contains some of this information • Overall, we are trying to standardize and automate simulation procedures as much as possible
  26. 26. Atomate contains a library of simulation procedures 26 VASP-based • band structure • spin-orbit coupling • hybrid functional calcs • elastic tensor • piezoelectric tensor • Raman spectra • NEB • GIBBS method • QH thermal expansion • AIMD • ferroelectric • surface adsorption • work functions • NMR spectra* • Bader charges* • Magnetic orderings* • SCAN functionals* Other • BoltzTraP • FEFF method • Q-Chem* *=added / major updates in past year Mathew, K. et al Atomate: A high-level interface to generate, execute, and analyze computational materials science workflows, Comput. Mater. Sci. 139 (2017) 140–152.
  27. 27. Each simulation procedure in atomate is composed of multiple levels of detail / abstraction 27 Workflow – complete set of calculations to get a materials property Firework – one step in the Workflow (typically one DFT calculation) Firetask – one step in a Firework Starting with just a crystal structure, this workflow performs four calculations to get an optimized structure, optimized charge density, and band structure on two types of grids (uniform and line)
  28. 28. atomate allows you to leverage the prior efforts and knowledge of many researchers 28 K. Mathew J. Montoya S. Dwaraknath A. Faghaninia All past and present knowledge, from everyone in the group, everyone previously in the group, and our collaborators, about how to run calculations M. Aykol S.P. Ong B. Bocklund T. Smidt H. Tang I.H. Chu M. Horton J. Dagdalen B. Wood Z.K. Liu J. Neaton K. Persson A. Jain +
  29. 29. Workflow parameters can be customized at multiple levels of detail 29 1. Workflows have various high-level options 2. Fireworks also have options / flags (not shown) 3. Firetasks have most detailed number of options / flags (not shown) Example 1: “VASP input set” controls the rules that set DFT parameters (pseudopotentials, cutoffs, grid densities, etc) via pymatgen Example II: If “stability_check” is enabled, the later parts of the workflow are skipped if the structure is determined unstable to save computer time on uninteresting structures
  30. 30. You can build workflows from scratch or reuse components to assemble workflows Multiple workflows are built with the same components stacked together in different ways 30 These two workflows reuse almost all the same code between the two!
  31. 31. Atomate simulation procedures: the main ideas • Atomate allows you to start with a material (e.g., crystal structure) and get a full workflow of calculations needed to compute many types of materials properties • Atomate tries to guess sensible defaults in terms of calculation parameters, but you can always customize these parameters using: – Workflow options – Firework options – Firetask options – powerups – going back to pymatgen library 31
  32. 32. Steps for theory & simulation 32 material generation simulation procedure calculation & execution data analysis (crystal, surface/interface, molecule, etc...) simulation parameters and sequence (workflow) job management, execution, error recovery databases, plotting, analysis, insight
  33. 33. Step 3: calculation & execution 33 calculation & execution • Once you have the material and the simulation procedure (Workflow), you need to actually execute the workflow on your computing resource • This includes tasks like: – submission to calculation queues – customization of any computing-specific parameters • e.g., path to VASP executable, number of CPUs to parallelize over – recovering from failures / job resubmission – coordinating jobs across computing centers – managing location of jobs – tracking the progress of jobs • Almost all of this is handled by FireWorks (custodian is used for encoding job recover procedures) Custodian
  34. 34. FireWorks allows you to write your workflow once and execute (almost) anywhere 34 • Execute workflows locally or at a supercomputing center • Queue systems supported – PBS – SGE – SLURM – IBM LoadLeveler – NEWT (a REST-based API at NERSC) – Cobalt (Argonne LCF)
  35. 35. Dashboard with status of all jobs 35
  36. 36. Job provenance and automatic metadata storage 36 what machine what time what directory what was the output when was it queued when did it start running when was it completed
  37. 37. Detect and rerun failures • All kinds of failures can be detected and rerun – Soft failures (job quits with error code) – hard failures (computing center goes down) – human errors 37
  38. 38. Customize job priorities • Within workflow, or between workflows • Completely flexible and can be modified / updated whenever you want 38
  39. 39. Track output files remotely • Can bring up the last few lines of each of your output files – and can be combined with queries / filters 39 Now seems like a good time to bring up the last few lines of the OUTCAR of all failed jobs...
  40. 40. FireWorks workflow software: the main ideas • FireWorks is used to execute Workflow objects at supercomputing centers • It is very well-suited to high-throughput applications and has been used to execute millions of jobs and is well tested • There are many features and advantages to using FireWorks as your workflow manager, which has made it one of the most popular scientific workflow software in use today 40
  41. 41. An aside on “custodian”: instead of running VASP, have custodian run VASP on your behalf 41 • Custodian can wrap around an executable (e.g., VASP) – i.e., run custodian instead of directly running VASP • During execution, custodian will monitor output files and detect errors / problems – e.g., if ZPOTRF error detected, rerun with ISYM=0 – ever-expanding library of fixes (currently over 30 fixes for VASP!) • There is more you can do with custodian (e.g., simple workflows), but it won’t be covered here • Currently has fixes for: VASP, Q- Chem, NWChem
  42. 42. Steps for theory & simulation 42 material generation simulation procedure calculation & execution data analysis (crystal, surface/interface, molecule, etc...) simulation parameters and sequence (workflow) job management, execution, error recovery databases, plotting, analysis, insight
  43. 43. Step 4: data analysis 43 data analysis • Data analysis can involve: i. Creating databases of materials and their properties for easy searching and data retrieval ii. Conventional scientific analyses and scientific plotting (e.g., generating phase diagrams, plotting band structures) iii. Data mining methods • Item (i) is largely handled by atomate • Item (ii) is largely handled by pymatgen • Item (iii) is largely handled by matminer
  44. 44. Atomate – builders framework 44 “Builders” start with base collections in a database and create higher-level collections that summarize information or add metadata
  45. 45. pymatgen – examples of analyses 45 phase diagrams Pourbaix diagrams diffusivity from MDband structure analysis
  46. 46. Data analysis: the main ideas • Atomate generates databases that summarize your calculation results. Additionally The builders framework generates document collections that summarize data on a particular material from multiple calculations or from additional information. • Pymatgen is a powerful software for doing conventional scientific analyses with the computational data • Matminer, currently in pre-release, is software for doing data mining style analyses of materials 46
  47. 47. Doing simulations programmatically can become second nature – and very fast / automatic / scalable 47 material generation simulation procedure calculation & execution data analysis Custodian Results! researcher What is the GGA-PBE elastic tensor of GaAs? software infrastructure
  48. 48. Outline 48 ① Vision of atomate ② History of atomate ③ Current implementation ④ Future of atomate ⑤ Practical things
  49. 49. • After using atomate for ~3 years, we realize there are still things that are awkward to do • For example – Re-using components between workflows is harder than it should be (e.g., components don’t always “stack” and “connect” easily) – Workflow creator functions often use different signatures and conventions (harder to learn) – Changing certain parameters (e.g., switching to a vdW functional) can be non-intuitive • We are starting “atomate v2” to fix these things, but better to start with original atomate for now – Original atomate will still be around, and atomate v2 will be a smooth transition from atomate v1 49 Atomate v2
  50. 50. • Most of “atomate” (and all the various software tools) are largely programmatic, not interactive / GUI-driven • The goal of atomate was always to work up to a visual interface – Stage 1: Exploring results using a web interface rather than by database queries – Stage 2: Submitting pre-defined workflow templates using a web interface – Stage 3: Designing and submitting custom workflows using a web interface • Currently working on stage 1 50 Atomate GUI
  51. 51. 51 Atomate GUI prototype Done by UCB undergrad But really requires a dedicated, focused effort
  52. 52. Outline 52 ① Vision of atomate ② History of atomate ③ Current implementation ④ Future of atomate ⑤ Practical things
  53. 53. • Not going to lie, there is a learning curve and the current tools are really meant for programmers – When (if?) we get to “Stage 2” atomate GUI, this will no longer be the case • If you don’t know any programming, it will be a long road 53 How to actually get started No programming experience Python proficient pymatgen proficient atomate proficientMongoDB experience
  54. 54. • Papers: good general overview / vision but of no practical help • Online MP Workshop videos and tutorials: good way to get started if you have at least some knowledge, but usually not very deep. A “zero to one” situation • Code documentation: Most comprehensive way to learn, although some experience probably necessary • Help channels: Great if you already started and run into problems 54 What resources are available to learn?
  55. 55. Papers • Again, these are of little practical help and any specifics are often outdated 55 Ong, S. P. et al. Python Materials Genomics (pymatgen): A robust, open-source python library for materials analysis. Comput. Mater. Sci. 68, 314–319 (2013). Jain, A. et al. FireWorks: a dynamic workflow system designed for high- throughput applications. Concurr. Comput. Pract. Exp. 22, 5037–5059 (2015). Mathew, K. et al. Atomate: A high- level interface to generate, execute, and analyze computational materials science workflows. Comput. Mater. Sci. 139, 140–152 (2017).
  56. 56. • Resources on http://workshop.materialsproject.org • Videos on MP channel of Youtube: – https://www.youtube.com/channel/UC6pqY-__Nu- mKkv0LMP8FJQ 56 Online MP workshop and videos
  57. 57. Online documentation • Online documentation is the most comprehensive writeup – www.pymatgen.org – https://materialsproject.github.io/fireworks/ – https://materialsproject.github.io/custodian/ – https://hackingmaterials.github.io/atomate/ • The online documentation includes installation, examples, tutorials, and descriptions of how to use the code • If you want to do “everything”, suggest starting with atomate and going from there 57
  58. 58. Help lists • A help forum for each code is at https://discuss.matsci.org 58
  59. 59. Questions? Comments? (a big thanks to everyone who supported and/or contributed to this software!) 59Slides (already) posted to hackingmaterials.lbl.gov

Presentation given to Ceder research group, April 2020

Aufrufe

Aufrufe insgesamt

453

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

22

Befehle

Downloads

26

Geteilt

0

Kommentare

0

Likes

0

×