aiida net computational materials science in the high
play

aiida.net Computational Materials Science in the High-Throughput - PowerPoint PPT Presentation

aiida.net Computational Materials Science in the High-Throughput Era with AiiDA and the Materials Cloud Leopold Talirz, Aliaksandr V. Yakutovich, Daniele Ongari Today's schedule 9:00-10:30 Introductory lecture 10:30-11:00 Coffee


  1. 
 aiida.net Computational Materials Science in the High-Throughput Era 
 with AiiDA and the Materials Cloud Leopold Talirz, Aliaksandr V. Yakutovich, Daniele Ongari

  2. Today's schedule 9:00-10:30 Introductory lecture 10:30-11:00 Coffee break Getting everybody set up 
 11:00-12:00 Group A: Room X | Group B: Room Y 12:00-13:00 Lunch break Tutorial & exercises 
 13:00-17:00 Group A: Room X | Group B: Room Z � 2

  3. Outline ❶ Motivation, Architecture ❷ ❸ Topic of today's tutorial � 3

  4. Outline ❶ Motivation, Architecture ❷ ❸ Topic of today's tutorial � 3

  5. Motivation Computational Materials Science Challenges High-Throughput Reproducibility Open Science Knowledge Transfer � 4

  6. Challenge 1 − High Throughput Top 500 Supercomputer Performance 50k x / 20 years 20 years (1998) 
 ↓ 4 hours (2018) My MacBook www.top500.org/statistics/perfdevel � 5

  7. Challenge 1 − High Throughput Top 500 Supercomputer Performance 50k x / 20 years 20 years (1998) 
 ↓ 4 hours (2018) OR My MacBook 1 material (1998) 
 ↓ 50k materials (2018) www.top500.org/statistics/perfdevel � 5

  8. Motivation • Organize large numbers of Computational Materials Science Challenges High-Throughput calculations • Deal with corner cases 
 (theory, code, infrastructure) • Many strings to pull Reproducibility Open Science Knowledge Transfer Source: istockphoto.com � 6

  9. Motivation Computational Materials Science Challenges • Keep track of what you 
 High-Throughput calculate • Keep track of how you did it • Within a research group: 
 Reproducibility Can Alice reproduce what Bob computed 1 year ago? Open Science Knowledge Transfer Source: academiccoachingandwriting.org � 7

  10. Challenge 2 − Reproducibility IS THERE A REPRODUCIBILITY CRISIS? Nature 533 , 452–454 (2016) � 8

  11. Challenge 2 − Reproducibility Nature 533 , 452–454 (2016) � 9

  12. 
 Challenge 2 − Reproducibility No excuses in computational science We can and must be fully reproducible 
 Nature 533 , 452–454 (2016) � 9

  13. High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS � 10 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  14. High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS STARTING FROM ICSD/COD DATABASE: • 108 423 unique 3D structures • 5619 layered structures • > 100 000 DFT calculations • > 30 000 material properties • > 1 · 10 9 attributes � 10 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  15. High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS STARTING FROM ICSD/COD DATABASE: • 108 423 unique 3D structures • 5619 layered structures • > 100 000 DFT calculations • > 30 000 material properties • > 1 · 10 9 attributes Data needs to be condensed in a few plots � 10 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  16. High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS STARTING FROM ICSD/COD DATABASE: • 108 423 unique 3D structures • 5619 layered structures • > 100 000 DFT calculations • > 30 000 material properties • > 1 · 10 9 attributes Methods: Impossible to describe every detail � 11 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  17. High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS STARTING FROM ICSD/COD DATABASE: • 108 423 unique 3D structures • 5619 layered structures • > 100 000 DFT calculations • > 30 000 material properties • > 1 · 10 9 attributes Methods: Impossible to describe every detail For authors , reproducing all data is challenging. For peers , reproducing all data is almost impossible. � 11 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  18. 




 High-throughput Example D ISCOVERING NEW TWO - DIMENSIONAL MATERIALS STARTING FROM ICSD/COD DATABASE: - Computational science platform • 108 423 unique 3D structures - for high-throughput calculations • 5619 layered structures - with automatic data provenance • > 100 000 DFT calculations • > 30 000 material properties • > 1 · 10 9 attributes Methods: Impossible to describe every detail For authors , reproducing all data is challenging. For peers , reproducing all data is almost impossible. � 12 N. Mounet et al. Nat Nanotech 13 , 246-52 (2018). doi: 10.1038/s41565-017-0035-5

  19. AiiDA architecture 13

  20. AiiDA architecture 1. The core: AiiDA python API 14

  21. AiiDA architecture 2. User interface: 
 python scripts, verdi command line tool, verdi shell 15

  22. 
 AiiDA architecture Calculation state TOSUBMIT 
 WITHSCHEDULER RETRIEVED 3.AiiDA daemon: manage interaction with 
 remote computers without user intervention PARSED 16 FINISHED

  23. AiiDA architecture 4. AiiDA Object-Relational Mapper (ORM): 
 stores data, codes and calculations in local database 17

  24. AiiDA: Calculation example code = Code.get_from_string('pw-6.3@daint-mr25') calc = code.new_calc() calc.set_max_wallclock_seconds(600) calc.set_resources({"num_machines": 2}) Structure = DataFactory('structure') structure = Structure(ase = read('TiO2.cif')) Parameter = DataFactory('parameter') parameters = Parameter({ 'CONTROL': { 'calculation': 'scf', 'restart_mode': 'from_scratch', }, 'SYSTEM': { 'ecutwfc': 40., }}) Kpoints = DataFactory('array.kpoints') kpoints = Kpoints(kpoints_mesh = [4,4,4]) calc.use_structure(structure) calc.use_parameters(parameters) calc.use_kpoints(kpoints) calc.use_pseudos_from_family('SSSP_efficiency_v1.0') calc.store_all() calc.submit() 18

  25. AiiDA: Calculation example code = Code.get_from_string('pw-6.3@daint-mr25') Switch computers in one line 
 calc = code.new_calc() supports di ff erent schedulers, calc.set_max_wallclock_seconds(600) version of codes, … calc.set_resources({"num_machines": 2}) Structure = DataFactory('structure') structure = Structure(ase = read('TiO2.cif')) Parameter = DataFactory('parameter') parameters = Parameter({ 'CONTROL': { 'calculation': 'scf', 'restart_mode': 'from_scratch', }, 'SYSTEM': { 'ecutwfc': 40., }}) Kpoints = DataFactory('array.kpoints') kpoints = Kpoints(kpoints_mesh = [4,4,4]) calc.use_structure(structure) calc.use_parameters(parameters) calc.use_kpoints(kpoints) calc.use_pseudos_from_family('SSSP_efficiency_v1.0') calc.store_all() calc.submit() 18

  26. AiiDA: Calculation example code = Code.get_from_string('pw-6.3@daint-mr25') Switch computers in one line 
 calc = code.new_calc() supports di ff erent schedulers, calc.set_max_wallclock_seconds(600) version of codes, … calc.set_resources({"num_machines": 2}) Structure = DataFactory('structure') structure = Structure(ase = read('TiO2.cif')) Parameter = DataFactory('parameter') parameters = Parameter({ 'CONTROL': { 'calculation': 'scf', Define (only) necessary inputs 'restart_mode': 'from_scratch', Interface designed by plugin }, 'SYSTEM': { 'ecutwfc': 40., }}) Kpoints = DataFactory('array.kpoints') kpoints = Kpoints(kpoints_mesh = [4,4,4]) calc.use_structure(structure) calc.use_parameters(parameters) calc.use_kpoints(kpoints) calc.use_pseudos_from_family('SSSP_efficiency_v1.0') calc.store_all() calc.submit() 18

  27. AiiDA: Calculation example code = Code.get_from_string('pw-6.3@daint-mr25') Switch computers in one line 
 calc = code.new_calc() supports di ff erent schedulers, calc.set_max_wallclock_seconds(600) version of codes, … calc.set_resources({"num_machines": 2}) Structure = DataFactory('structure') structure = Structure(ase = read('TiO2.cif')) Parameter = DataFactory('parameter') parameters = Parameter({ 'CONTROL': { 'calculation': 'scf', Define (only) necessary inputs 'restart_mode': 'from_scratch', Interface designed by plugin }, 'SYSTEM': { 'ecutwfc': 40., }}) Kpoints = DataFactory('array.kpoints') kpoints = Kpoints(kpoints_mesh = [4,4,4]) calc.use_structure(structure) calc.use_parameters(parameters) calc.use_kpoints(kpoints) calc.use_pseudos_from_family('SSSP_efficiency_v1.0') calc.store_all() Inputs stored in the DB calc.submit() 18

  28. AiiDA: Calculation example code = Code.get_from_string('pw-6.3@daint-mr25') Switch computers in one line 
 calc = code.new_calc() supports di ff erent schedulers, calc.set_max_wallclock_seconds(600) version of codes, … calc.set_resources({"num_machines": 2}) Structure = DataFactory('structure') structure = Structure(ase = read('TiO2.cif')) Parameter = DataFactory('parameter') parameters = Parameter({ 'CONTROL': { 'calculation': 'scf', Define (only) necessary inputs 'restart_mode': 'from_scratch', Interface designed by plugin }, 'SYSTEM': { 'ecutwfc': 40., }}) Kpoints = DataFactory('array.kpoints') kpoints = Kpoints(kpoints_mesh = [4,4,4]) calc.use_structure(structure) calc.use_parameters(parameters) calc.use_kpoints(kpoints) calc.use_pseudos_from_family('SSSP_efficiency_v1.0') calc.store_all() Inputs stored in the DB calc.submit() Handing over to the daemon 18

  29. Data provenance: Directed Acyclic Graphs � 19

  30. From calculations to workflows: phonon dispersion Main-Workflow Structure Relaxation Dynamical matrices Interatomic force constants Phonon dispersion N. Mounet et al.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend