workshop.html 5.25 KB
Newer Older
Praetorius, Simon's avatar
Praetorius, Simon committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
<!DOCTYPE html>
<html>
  <head>
    <title>AMDiS - Adaptive Multi-Dimensional Simulations</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <style type="text/css">
      @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
      @import url(https://fonts.googleapis.com/css?family=Raleway);
      @import url(https://fonts.googleapis.com/css?family=Ubuntu);
      @import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
      @import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
    </style>
    <!--<link rel="stylesheet" type="text/css" href="style_display.css" />-->
    <link rel="stylesheet" type="text/css" href="style_print.css" />
  </head>
  <body>
    <textarea id="source">

class: center, middle

# AMDiS - Adaptive Multi-Dimensional Simulations
## Eine Einführung in das FEM-Framework

Simon Praetorius *simon.praetorius@tu-dresden.de*

*Institut für Wissenschaftliches Rechnen*

*Technische Universität Dresden*

---

# About this Course

> Goals: Introductory course
  - You know how to use the software AMDiS
  - You can solve a scalar equation, or a system of elliptic equations
  - You can handle instationary problems, nonlinearities and complex boundary conditions
  - You can run your simulation in parallel

--

> References:
  - Some theoretical background and basic design ideas of AMDiS software: [ALBERTA-FEM](http://goo.gl/Sn9CIE) especially the ALBERT 1.0 [documentation](http://goo.gl/ZMI2kA).
  - The [AMDiS-Wiki](https://goo.gl/Jy3u1u)
  - Some (old) PDF Documentation on [Fusionforge](https://goo.gl/5ngfYd)

> Workshop material can be found on [GitHub](https://goo.gl/pjtg4a)

---

# Agenda

### Monday
- Scalar linear second order PDEs
- Handling data on unstructured grids
- Adaptivity and systems of equations
- Introduction to Student Projects

### Tuesday
- Time-dependent and nonlinear problems
- Coupled problems
- Complex geometries and surface PDEs
- Talk by Siqi Ling (Multi-Mesh)
- Talk by Marco Salvalaglio

---

# Agenda

### Wednesday
- Boundary conditions and Composite FEM
- MTL4 - a linear algebra library
- Linear solvers and preconditioners

### Thursday
- Parallelization
- Talk by Sebastian Aland
- MeshConv a mesh conversion tool (Florian Stenger)
- **Workshop Dinner**

### Friday
- Using `C++11` with AMDiS
- Extensions
- Software Development and Workflow (Ansgar Burchard)
- AMDiS User-Group meeting
- Presentation of Student Projects

---

# Introduction
## AMDiS: **A**daptive **M**ulti-**Di**mensional **S**imulations

AMDiS developed around 2005. Basis: C-library *ALBERTA*. Now: an object-oriented `C++`-Framework. Basic concepts:
- **High abstraction level**: (Physical) Problems can be formulated with little knowledge about numerical details
- **Generality**: Solve a broad class of PDE problems. Linear and nonlinear problems, stationary and instationary.
    Multiple dimensions and coupling of different dimensions
- **Extensibility**: Interface to extend AMDiS in several aspects, e.g. own error estimators, linear solvers,
    preconditioners, time-stepping schemes
- **Efficiency**: Several tools for highly efficient simulations, e.g. adaptive meshes, parallelization, multi-mesh,
    fast linear solver libraries

---

# Short history

- 2002: Beginning of development (based on C-library ALBERT(A))
- 2005: First release
- 2007: PhD Thesis of Simon Vey: "*Adaptive Finite Elements for Systems of PDEs*"
- 2007: Development in the IWR at TU-Dresden
- 2008: First parallel version
- 2011: Release of stable version 0.9
- 2013: PhD Thesis of Thomas Witkowski: "*Software concepts and algorithms for an efficient and scalable parallel finite element method*"
- 2014: Generic expression terms introduced
- 2017 (?): AMDiS 2.0

Developers:
```
Axel Voigt, Simon Vey, Christina Stöcker, Thomas Wittkowski,
Andreas Naumann, Simon Praetorius, Siqi Ling, ...
```

---

# Some features

- Solve (sequence of) Systems of **stationary linear PDEs** of **2nd order**
- **Time integrators**: e.g. Rosenbrock method
- **Nonlinear solvers**: e.g. Newton method
- **Adaptivity** in space and time
- Lagrange **basis functions** (deg. 1--4), and center-bubble function
- **Mixed finite-elements**, e.g. `\(P^2/P^1\)`, Mini-Element
- **Multi-Mesh** method (i.e. different components with different mesh)
- Sequential and **parallel** (tested with up to 16K cores, and `\(10^9\)` DOFs)
- **Multi-Grid**: geometric (in AMDiS), algebraic (external library)
- Interface to **linear solvers**: (P)MTL4, PETSc, Hypre
- **FETI-DP** / Schur-complement solvers in parallel


    </textarea>
    <script src="lib/remark.js" type="text/javascript"></script>
    <script type="text/javascript" src="../MathJax/MathJax.js?config=TeX-AMS_HTML"></script>

    <script type="text/javascript">
      var slideshow = remark.create({
        ratio: "4:3",
        highlightLanguage: "cpp"
      });

      // Setup MathJax
      MathJax.Hub.Config({
          tex2jax: {
          skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
          }
      });
      MathJax.Hub.Queue(function() {
          $(MathJax.Hub.getAllJax()).map(function(index, elem) {
              return(elem.SourceElement());
          }).parent().addClass('has-jax');
      });

      MathJax.Hub.Configured();
    </script>
  </body>
</html>