Mechanics & Materials

Gerhard Bräunlich, Manuel Weberndorfer

26 August 2021

Research

From macroscopic to microscopic

1

From microscopic to macroscopic

2

Metamaterials

6

Truss lattices

10

Discrete Beams

13

Areas

  • Experiments
  • Methods
  • High-performance computing

Team

16

Project overview

Tasks

  • Architecture and design
  • Performance
  • Support, onboarding

AE108

Overview

  • Finite element method framework
  • Custom elements and material models
  • Minimize energy of system

Starting point

  • C++ libraries
  • Templated classes
  • Single-threaded
  • Closed source

Challenges

  • Stability
  • Performance
  • Modifiability

Stability

17

  • Continuous integration (Jenkins, GitLab)
  • Integration tests
  • Unit tests (GoogleTest)
  • Documentation (Doxygen, Sphinx)

Finite element method

18

Math

  • Energy: \(E \to \textrm{min}\)
  • Forces: \(F = E' = 0\)
  • Stiffness matrix: \(E''\)

Solution: Find zeroes of \(F\).

Computational graph

Domain decomposition

PETSc

19

Performance

  • Linear solver performant on single core
  • Boost depends on amount of local work
  • Replaced other approaches

Modifiability

“open for extension, but closed for modification”20

  • Plugin-based assembler (via templates)
  • Functional programming

Result

  • Open source libraries (core)
  • MPI-based parallelization
  • High test coverage

QC: Quasicontinuum method

The Quasicontinuum method - Problem

  • Key Quantity: Energy \(E\), depending on the state of individual atoms in a solid state body
  • Problem: order of magnitude of \(10^{13}\) - \(10^{15}\) atoms in a sample of interest
  • but only \(10^9\) feasible in current simulations
  • Solution: QC method

The Quasicontinuum method

Full problem (e.g. QM)

\[ E^{\mathrm{tot}} = \sum_{i=1}^N E_i(\boldsymbol{u}_i), \]

\(E_i(\boldsymbol{u}_i)\): Energy of atom \(i\), dependent on its displacement \(\boldsymbol{u}_i\).

QC method

Combine regions, represented by one “repatom”

\[ E^{\mathrm{tot,qc}} = \sum_{i=1}^N E_i(\boldsymbol{u}_i^{\mathrm{qc}}), \qquad \boldsymbol{u}_i^{\mathrm{qc}} = \sum_{\alpha \in C_i} S_\alpha \boldsymbol{u}_\alpha \]

\(C_i\): Set of indices of repatoms defining the cell containing atom \(i\),

\(S_\alpha\): interpolation coefficients.

Remeshing

Challenge: Find “good” choice of the mesh.

Goals

  • Model copper using Gaussian quasistatics
  • High performance, distributed mesh optimization

Project Roadmap

  • Basic functionality, including mesh optimization with edge removal only, on one core only
  • Add unit tests
  • Refactor monolithic codebase into multiple compilation units
  • Integrate face removal into mesh optimization algorithm
  • Multicore support
  • Open Source release

Team

Mechanics & Materials MM

pgupta
Prateek Gupta
Lead Researcher
Postdoc
mspinola
Miguel Spinola
PhD Student
ssaxena
Shashank Saxena
PhD Student

SIS ETH Zürich

webmanue
Manuel Weberndorfer
Developer
brgerhar
Gerhard Bräunlich
Developer

Outlook

GPUs

21

  • Previously no GPUs on Euler
  • Infrastructure now available

Work stealing

  • Static share of work problematic
  • Trade-off with communication cost

Questions?

References

Sources

Slides

  • Reveal.js, MIT
  • MathJax, Apache 2.0
  • Pandoc, GPLv2+, BSD 3-clause

  1. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview.html↩︎

  2. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview.html↩︎

  3. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview.html↩︎

  4. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview.html↩︎

  5. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview.html↩︎

  6. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  7. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  8. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  9. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  10. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  11. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  12. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/metamaterials.html↩︎

  13. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/computational-mechanics/discrete-beams.html↩︎

  14. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/computational-mechanics/discrete-beams.html↩︎

  15. © 2021 ETH Zürich, https://mm.ethz.ch/research-overview/computational-mechanics/discrete-beams.html↩︎

  16. © 2021 ETH Zürich, https://mm.ethz.ch/↩︎

  17. GitLab B.V, MIT, https://commons.wikimedia.org/wiki/File:GitLab_logo.svg↩︎

  18. CC BY-SA 3.0, https://commons.wikimedia.org/wiki/File:Elmer-pump-heatequation.png↩︎

  19. Jed Brown, BSD 2.0, https://commons.wikimedia.org/wiki/File:Petsc-components.svg↩︎

  20. https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle↩︎

  21. public domain, https://commons.wikimedia.org/wiki/File:Geforce3gpu.jpg↩︎