initial checkin

This commit is contained in:
NT 2021-01-04 16:36:09 +08:00
parent bbcc69b952
commit 4703b0ee07
15 changed files with 1647 additions and 0 deletions

28
_config.yml Normal file
View File

@ -0,0 +1,28 @@
# Book settings
# Learn more at https://jupyterbook.org/customize/config.html
title: Physics-based Deep Learning
author: TUM-I15
logo: resources/logo.png
# Force re-execution of notebooks on each build.
# See https://jupyterbook.org/content/execute.html
execute:
execute_notebooks: force
# Define the name of the latex output file for PDF builds
latex:
latex_documents:
targetname: book.tex
# Information about where the book exists on the web
repository:
url: https://github.com/executablebooks/jupyter-book-TODO # Online location of your book
path_to_book: docs # Optional path to your book, relative to the repository root
branch: master # Which branch of the repository should be used when creating links (optional)
# Add GitHub buttons to your book
# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
html:
use_issues_button: true
use_repository_button: true

15
_toc.yml Normal file
View File

@ -0,0 +1,15 @@
# Table of content
# Learn more at https://jupyterbook.org/customize/toc.html
#
- file: intro
- file: overview
- file: supervised
- file: physicalloss
sections:
- file: physicalloss-code
- file: diffphys
- file: jupyter-book-reference
sections:
- file: markdown
- file: notebooks
- file: references

6
diffphys.md Normal file
View File

@ -0,0 +1,6 @@
Differentiable Simulations
=======================
... are much more powerful ...

92
intro.md Normal file
View File

@ -0,0 +1,92 @@
Welcome ...
============================
Welcome to the Physics-based Deep Learning Book 👋
**TL;DR**: This document targets
a veriety of combinations of physical simulations with deep learning.
As much as possible, the algorithms will come with hands-on code examples to quickly get started.
Beyond standard _supervised_ learning from data, we'll look at loss constraints, and
more tightly coupled learning algorithms with differentiable simulations.
As a _sneak preview_, in the next chapters we'll show:
- How to train networks to infer fluid flow solutions around shapes like airfoils in one go, i.e., without needing a simulator.
- We'll show how to use model equations as residual to train networks that represent solutions, and how to improve upon this behavior by using differentiable simulations.
- Even more tightly coupling a full _rough_ simulator for control problems is another topic. E.g., we'll demonstrate how to circumvent the convergence problems of standard reinforcement learning techniques by leveraging simulators in the training loop.
This _book_, where book stands for a collection of text, equations, images and code examples,
is maintained by the
[TUM Physics-based Simulation Group](https://ge.in.tum.de). Feel free to contact us via
[old fashioned email](mailto:i15ge@cs.tum.edu) if you have any comments.
If you find mistakes, please also let us know! We're aware that this document is far from perfect,
and we're eager to improve it. Thanks in advance!
TODO, add teaser pic
## Thanks!
The contents of the following files would not have been possible without the help of many people. Here's an alphabetical list. Big kudos to everyone 🙏
- Mr. X
- Ms. y
- ...
% ----------------
===
## Planned content, loose collection of notes and TODOs:
General physics & dl , intro & textual overview
more general intro: https://github.com/thunil/Physics-Based-Deep-Learning
Supervised? Airfoils? Liwei, simple example? app: optimization, shape opt w surrogates
- AIAA supervised learning , idp_weissenov/201019-upd-arxiv-v2/ {cite}`thuerey2020deepFlowPred`
skepticism? , started colab -> https://colab.research.google.com/drive/11KUe5Ybuprd7_qmNTe1nvQVUz3W6gRUo
torch version 1.7 [upd from Liwei?]
vs. PINNs [alt.: neural ODEs , PDE net?] , all using GD (optional, PINNs could use BFGS)
[PINNs], phiflow example -> convert to colab
- PINNs -> are unsupervised a la tompson; all DL NNs are "supervised" during learning, unsup just means not precomputed and goes through function
- add image | NN | <> | Loss | , backprop; (bring back every section, add variants for other methods?)
- discuss CG solver, tompson as basic ''unsupervisedd'' example?
Diff phys, start with overview of idea: gradients via autodiff, then run GD
(TODO include squared func Patrick?)
- Differentiable Physics (w/o network) , {cite}`holl2019pdecontrol`
-> phiflow colab notebook good start, but needs updates (see above Jan2)
illustrate and discuss gradients -> mult. for chain rule; (later: more general PG chain w func composition)
- SOL_201019-finals_Solver-in-the-Loop-Main-final.pdf , {cite}`um2020sol`
numerical errors, how to include in jupyter / colab?
- ICLR_190925-ICLR-final_1d8cf33bb3c8825e798f087d6cd35f2c7c062fd4.pdf alias
PDE control, control focused
https://github.com/holl-/PDE-Control -> update to new version?
beyond GD: re-cap newton & co
Phys grad (PGs) as fundamental improvement, PNAS case; add more complex one?
PG update of poisson eq? see PNAS-template-main.tex.bak01-poissonUpdate , explicitly lists GD and PG updates
PGa 2020 Sept, content: ML & opt
Gradients.pdf, -> overleaf-physgrad/
PGb 201002-beforeVac, content: v1,v2,old - more PG focused
-> general intro versions
[MISSING, time series, sequence prediction?] {cite}`wiewel2019lss,bkim2019deep,wiewel2020lsssubdiv`
[BAYES , prob?]
[unstruct / lagrangian] {cite}`prantl2019tranquil,ummenhofer2019contconv`
Outlook

View File

@ -0,0 +1,5 @@
Jupyter Book Reference Stuff
=======================
There are many ways to write content in Jupyter Book. This short section
covers a few tips for how to do so.

125
markdown.md Normal file
View File

@ -0,0 +1,125 @@
# Markdown Files
Whether you write your book's content in Jupyter Notebooks (`.ipynb`) or
in regular markdown files (`.md`), you'll write in the same flavor of markdown
called **MyST Markdown**.
## What is MyST?
MyST stands for "Markedly Structured Text". It
is a slight variation on a flavor of markdown called "CommonMark" markdown,
with small syntax extensions to allow you to write **roles** and **directives**
in the Sphinx ecosystem.
## What are roles and directives?
Roles and directives are two of the most powerful tools in Jupyter Book. They
are kind of like functions, but written in a markup language. They both
serve a similar purpose, but **roles are written in one line**, whereas
**directives span many lines**. They both accept different kinds of inputs,
and what they do with those inputs depends on the specific role or directive
that is being called.
### Using a directive
At its simplest, you can insert a directive into your book's content like so:
````
```{mydirectivename}
My directive content
```
````
This will only work if a directive with name `mydirectivename` already exists
(which it doesn't). There are many pre-defined directives associated with
Jupyter Book. For example, to insert a note box into your content, you can
use the following directive:
````
```{note}
Here is a note
```
````
This results in:
```{note}
Here is a note
```
In your built book.
For more information on writing directives, see the
[MyST documentation](https://myst-parser.readthedocs.io/).
### Using a role
Roles are very similar to directives, but they are less-complex and written
entirely on one line. You can insert a role into your book's content with
this pattern:
```
Some content {rolename}`and here is my role's content!`
```
Again, roles will only work if `rolename` is a valid role's name. For example,
the `doc` role can be used to refer to another page in your book. You can
refer directly to another page by its relative path. For example, the
role syntax `` {doc}`intro` `` will result in: {doc}`intro`.
For more information on writing roles, see the
[MyST documentation](https://myst-parser.readthedocs.io/).
% ### Adding a citation
%
% You can also cite references that are stored in a `bibtex` file. For example,
% the following syntax: `` {cite}`holdgraf_evidence_2014` `` will render like
% this: {cite}`holdgraf_evidence_2014`.
%
% Moreoever, you can insert a bibliography into your page with this syntax:
% The `{bibliography}` directive must be used for all the `{cite}` roles to
% render properly.
% For example, if the references for your book are stored in `references.bib`,
% then the bibliography is inserted with:
%
% ````
% ```{bib liography} referenc es.bib
% ```
% ````
%
% Resulting in a rendered bibliography that looks like:
%
% ```{bib liography} refere nces.bib
% ```
### Executing code in your markdown files
If you'd like to include computational content inside these markdown files,
you can use MyST Markdown to define cells that will be executed when your
book is built. Jupyter Book uses *jupytext* to do this.
First, add Jupytext metadata to the file. For example, to add Jupytext metadata
to this markdown page, run this command:
```
jupyter-book myst init markdown.md
```
Once a markdown file has Jupytext metadata in it, you can add the following
directive to run the code at build time:
````
```{code-cell}
print("Here is some code to execute")
```
````
When your book is built, the contents of any `{code-cell}` blocks will be
executed with your default Jupyter kernel, and their outputs will be displayed
in-line with the rest of your content.
For more information about executing computational content with Jupyter Book,
see [The MyST-NB documentation](https://myst-nb.readthedocs.io/).

122
notebooks.ipynb Normal file
View File

@ -0,0 +1,122 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Content with notebooks\n",
"\n",
"You can also create content with Jupyter Notebooks. This means that you can include\n",
"code blocks and their outputs in your book.\n",
"\n",
"## Markdown + notebooks\n",
"\n",
"As it is markdown, you can embed images, HTML, etc into your posts!\n",
"\n",
"![](https://myst-parser.readthedocs.io/en/latest/_static/logo.png)\n",
"\n",
"You an also $add_{math}$ and\n",
"\n",
"$$\n",
"math^{blocks}\n",
"$$\n",
"\n",
"or\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
"\\mbox{mean} la_{tex} \\\\ \\\\\n",
"math blocks\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"But make sure you \\$Escape \\$your \\$dollar signs \\$you want to keep!\n",
"\n",
"## MyST markdown\n",
"\n",
"MyST markdown works in Jupyter Notebooks as well. For more information about MyST markdown, check\n",
"out [the MyST guide in Jupyter Book](https://jupyterbook.org/content/myst.html),\n",
"or see [the MyST markdown documentation](https://myst-parser.readthedocs.io/en/latest/).\n",
"\n",
"## Code blocks and outputs\n",
"\n",
"Jupyter Book will also embed your code blocks and output in your book.\n",
"For example, here's some sample Matplotlib code:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from matplotlib import rcParams, cycler\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"plt.ion()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Fixing random state for reproducibility\n",
"np.random.seed(19680801)\n",
"\n",
"N = 10\n",
"data = [np.logspace(0, 1, 100) + np.random.randn(100) + ii for ii in range(N)]\n",
"data = np.array(data).T\n",
"cmap = plt.cm.coolwarm\n",
"rcParams['axes.prop_cycle'] = cycler(color=cmap(np.linspace(0, 1, N)))\n",
"\n",
"\n",
"from matplotlib.lines import Line2D\n",
"custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),\n",
" Line2D([0], [0], color=cmap(.5), lw=4),\n",
" Line2D([0], [0], color=cmap(1.), lw=4)]\n",
"\n",
"fig, ax = plt.subplots(figsize=(10, 5))\n",
"lines = ax.plot(data)\n",
"ax.legend(custom_lines, ['Cold', 'Medium', 'Hot']);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is a lot more that you can do with outputs (such as including interactive outputs)\n",
"with your book. For more information about this, see [the Jupyter Book documentation](https://jupyterbook.org)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.0"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}

69
overview.md Normal file
View File

@ -0,0 +1,69 @@
Overview
============================
The following "book" of targets _"Physics-Based Deep Learning"_ techniques
(PBDL), i.e., the field of methods with combinations of physical modeling and
deep learning (DL) techniques. Here, DL will typically refer to methods based
on artificial neural networks. The general direction of PBDL represents a very
active, quickly growing and exciting field of research. As such, this collection
of materials is a living document, and will grow and change over time. Feel free
to contribute 😀
[TUM Physics-based Simulation Group](https://ge.in.tum.de).
[Link collection](https://github.com/thunil/Physics-Based-Deep-Learning)
## Motivation
....
## Categorization
Within the area of _physics-based deep learning_,
we can distinguish a variety of different
approaches, from targeting designs, constraints, combined methods, and
optimizations to applications. More specifically, all approaches either target
_forward_ simulations (predicting state or temporal evolution) or _inverse_
problems (e.g., obtaining a parametrization for a physical system from
observations).
![An overview of categories of physics-based deep learning methods](resources/physics-based-deep-learning-overview.jpg)
No matter whether we're considering forward or inverse problem,
the most crucial differentiation for the following topics lies in the
nature of the integration between DL techniques
and the domain knowledge, typically in the form of model euqations.
Looking ahead, we will particularly aim for a very tight intgration
of the two, that goes beyond soft-constraints in loss functions.
Taking a global perspective, the following three categories can be
identified to categorize _physics-based deep learning_ (PBDL)
techniques:
- _Data-driven_: the data is produced by a physical system (real or simulated),
but no further interaction exists.
- _Loss-terms_: the physical dynamics (or parts thereof) are encoded in the
loss function, typically in the form of differentiable operations. The
learning process can repeatedly evaluate the loss, and usually receives
gradients from a PDE-based formulation.
- _Interleaved_: the full physical simulation is interleaved and combined with
an output from a deep neural network; this requires a fully differentiable
simulator and represents the tightest coupling between the physical system and
the learning process. Interleaved approaches are especially important for
temporal evolutions, where they can yield an estimate of future behavior of the
dynamics.
Thus, methods can be roughly categorized in terms of forward versus inverse
solve, and how tightly the physical model is integrated into the
optimization loop that trains the deep neural network. Here, especially approaches
that leverage _differentiable physics_ allow for very tight integration
of deep learning and numerical simulation methods.
The goal of this document is to introduce the different PBDL techniques,
ordered in terms of growing tightness of the integration, give practical
starting points with code examples, and illustrate pros and cons of the
different approaches. In particular, it's important to know in which scenarios
each of the different techniques is particularly useful.

400
physicalloss-code.ipynb Normal file

File diff suppressed because one or more lines are too long

7
physicalloss.md Normal file
View File

@ -0,0 +1,7 @@
Physical Loss Terms
=======================
Using the equations now, but no numerical methods!
Still interesting, leverages analytic derivatives of NNs, but lots of problems

764
references.bib Normal file
View File

@ -0,0 +1,764 @@
% Publications by Nils Thuerey
@STRING{ACM_TOG = "{ACM} Trans. Graph."}
@STRING{CVPR = "Proc. Comp. Vision and Pattern Rec."}
@STRING{EG = "{E}urographics"}
@STRING{EG_CGF = "Comp. Grap. Forum"}
@STRING{EGSR = "{E}urographics Symposium on Rendering"}
@STRING{EGWR = "{E}urographics Workshop on Rendering"}
@STRING{SCA = "{S}ymposium on Computer Animation"}
@STRING{ICLR = "International Conference on Learning Representations"}
@STRING{ICML = "International Conference on Machine Learning"}
@STRING{NeurIPS = "Advances in Neural Information Processing Systems"}
@article{um2020sol,
title={Solver-in-the-Loop: Learning from Differentiable Physics to Interact with Iterative PDE-Solvers},
author={Um, Kiwon and Brand, Robert and Holl, Philipp and Fei, Raymond Thuerey, Nils},
journal=NeurIPS,
year={2020}
}
@article{kohl2020lsim,
title={Learning Similarity Metrics for Numerical Simulations},
author={Kohl, Georg and Um, Kiwon and Thuerey, Nils},
journal=ICML,
year={2020}
}
@article{wiewel2020lsssubdiv,
title={Latent Space Subdivision: Stable and Controllable Time Predictions for Fluid Flow},
author={Wiewel, Steffen and Kim, Byungsoo and Azevedo, Vinicius C and Solenthaler, Barbara and Thuerey, Nils},
journal=SCA,
year={2020}
}
@article{chu2020tecogan,
title={Learning temporal coherence via self-supervision for GAN-based video generation},
author={Chu, Mengyu and Xie, You and Mayer, Jonas and Leal-Taix{\'e}, Laura and Thuerey, Nils},
journal=ACM_TOG,
volume={39},
number={4},
pages={75--1},
year={2020},
publisher={ACM New York, NY, USA}
}
@inproceedings{weiss2020ssc,
title={Correspondence-Free Material Reconstruction using Sparse Surface Constraints},
author={Weiss, Sebastian and Maier, Robert and Cremers, Daniel and Westermann, Rudiger and Thuerey, Nils},
booktitle=CVPR,
pages={4686--4695},
year={2020}
}
@inproceedings{holl2019pdecontrol,
title={Learning to Control PDEs with Differentiable Physics},
author={Holl, Philipp and Thuerey, Nils and Koltun, Vladlen},
booktitle=ICLR,
year={2019}
}
@article{prantl2019tranquil,
title={Tranquil clouds: Neural networks for learning temporally coherent features in point clouds},
author={Prantl, Lukas and Chentanez, Nuttapong and Jeschke, Stefan and Thuerey, Nils},
journal=ICLR,
year={2019}
}
@inproceedings{ummenhofer2019contconv,
title={Lagrangian fluid simulation with continuous convolutions},
author={Ummenhofer, Benjamin and Prantl, Lukas and Thuerey, Nils and Koltun, Vladlen},
booktitle=ICLR,
year={2019}
}
@article{eckert2019scalarflow,
title={ScalarFlow: a large-scale volumetric data set of real-world scalar transport flows for computer animation and machine learning},
author={Eckert, Marie-Lena and Um, Kiwon and Thuerey, Nils},
journal=ACM_TOG,
volume={38},
number={6},
pages={1--16},
year={2019},
publisher={ACM New York, NY, USA}
}
@article{thuerey2020deepFlowPred,
title={Deep learning methods for Reynolds-averaged Navier--Stokes simulations of airfoil flows},
author={Thuerey, Nils and Weissenow, Konstantin and Prantl, Lukas and Hu, Xiangyu},
journal={AIAA Journal}, year={2020},
volume={58}, number={1}, pages={25--36},
publisher={American Institute of Aeronautics and Astronautics}
}
@article{prantl2019rtliq,
title ={{Generating Liquid Simulations with Deformation-Aware Neural Networks}},
author={Lukas Prantl and Boris Bonev and Nils Thuerey},
journal=ICLR,
year={2019},
pages={20}
}
@article{wiewel2019lss,
title ={{Latent-space Physics: Towards Learning the Temporal Evolution of Fluid Flow}},
author={Steffen Wiewel and Moritz Becher and Nils Thuerey},
journal=EG_CGF,
year={2019},
volume={38},
number={2},
pages={12},
}
@article{bkim2019deep,
title ={{Deep Fluids: A Generative Network for Parameterized Fluid Simulations}},
author={Kim, Byungsoo and Azevedo, Vinicius C and Thuerey, Nils and Kim, Theodore and Gross, Markus and Solenthaler, Barbara},
journal=EG_CGF,
year={2019},
volume={38},
number={2},
pages={12},
}
@article{xie2018tempoGan,
author = {Xie, You and Franz, Erik and Chu, Mengyu and Thuerey, Nils},
title ={{tempoGAN: A Temporally Coherent, Volumetric GAN for Super-resolution Fluid Flow}},
journal = ACM_TOG,
volume = {37(4)},
year = {2018},
publisher = {ACM}
}
@article{hikaru2018simulating,
title ={{Simulating Liquids on Dynamically Warping Grids}},
author={Hikaru, Ibayashi and Wojtan, Chris and Thuerey, Nils and Igarashi, Takeo and Ando, Ryoichi},
journal={IEEE Transactions on Visualization and Computer Graphics},
year={2018},
publisher={IEEE}
}
@article{ren2018visual,
title ={{Visual Simulation of Multiple Fluids in Computer Graphics: A State-of-the-Art Report}},
author={Ren, Bo and Yang, Xu-Yun and Lin, Ming C and Thuerey, Nils and Teschner, Matthias and Li, Chenfeng},
journal={Journal of Computer Science and Technology},
volume={33},
number={3},
pages={431--451},
year={2018},
publisher={Springer}
}
@article{um2018mlflip,
title ={{Splash Modeling with Neural Networks}},
author={Kiwon Um and Xiangyu Hu and Nils Thuerey},
journal=EG_CGF,
volume={37(8)},
year={2018}
}
@article{eckert2018oiof,
title ={{Coupled Fluid Density and Motion from Single Views}},
author={Marie-Lena Eckert and Wolfgang Heidrich and Nils Thuerey},
journal=EG_CGF,
volume={37(8)},
year={2018}
}
@article{sato2018,
journal = EG_CGF,
title ={{Extended Narrow Band FLIP for Liquid Simulations}},
author = {Sato, Takahiro and Wojtan, Chris and Thuerey, Nils and Igarashi, Takeo and Ando, Ryoichi},
year = {2018},
publisher = {Eurographics Association},
ISSN = {1467-8659},
DOI = {10.1111/cgf.13351}
}
@inproceedings{inglis2017primal,
title ={{Primal-Dual Optimization for Fluids}},
author={Inglis, Tiffany and Eckert, M-L and Gregson, James and Thuerey, Nils},
booktitle =EG_CGF,
volume={36(8)},
pages={354--368},
year={2017},
organization={Wiley Online Library}
}
@inproceedings{eberhardt2017hierarchical,
title ={{Hierarchical vorticity skeletons}},
author={Eberhardt, Sebastian and Weissmann, Steffen and Pinkall, Ulrich and Thuerey, Nils},
booktitle =SCA,
pages={6},
year={2017},
organization={ACM}
}
@article{um2017perceptual,
title ={{Perceptual evaluation of liquid simulation methods}},
author={Um, Kiwon and Hu, Xiangyu and Thuerey, Nils},
journal=ACM_TOG,
volume={36},
number={4},
pages={143},
year={2017},
publisher={ACM}
}
@article{koschier2017xfem,
title ={{Robust eXtended finite elements for complex cutting of deformables}},
author={Koschier, Dan and Bender, Jan and Thuerey, Nils},
journal=ACM_TOG,
volume={36},
number={4},
pages={55},
year={2017},
publisher={ACM}
}
@article{chu2017data,
title ={{Data-driven synthesis of smoke flows with CNN-based feature descriptors}},
author={Chu, Mengyu and Thuerey, Nils},
journal=ACM_TOG,
volume={36},
number={4},
pages={69},
year={2017},
publisher={ACM}
}
@article{thuerey2017interpolations,
title ={{Interpolations of Smoke and Liquid Simulations}},
author={Thuerey, Nils},
journal=ACM_TOG,
volume={36},
number={1},
pages={3},
year={2017},
publisher={ACM}
}
@article{canabal2016dispersion,
title ={{Dispersion kernels for water wave simulation}},
author={Canabal, Jos{\'e} A and Miraut, David and Thuerey, Nils and Kim, Theodore and Portilla, Javier and Otaduy, Miguel A},
journal=ACM_TOG,
volume={35},
number={6},
pages={202},
year={2016},
publisher={ACM}
}
@article{jones2016example,
title ={{Example-based plastic deformation of rigid bodies}},
author={Jones, Ben and Thuerey, Nils and Shinar, Tamar and Bargteil, Adam W},
journal=ACM_TOG,
volume={35},
number={4},
pages={34},
year={2016},
publisher={ACM}
}
@inproceedings{ferstl2016narrow,
title ={{Narrow band FLIP for liquid simulations}},
author={Ferstl, Florian and Ando, Ryoichi and Wojtan, Chris and Westermann, R{\"u}diger and Thuerey, Nils},
booktitle =EG_CGF,
volume={35(2)},
pages={225--232},
year={2016},
organization={Wiley Online Library}
}
@article{monszpart2016smash,
title ={{SMASH: physics-guided reconstruction of collisions from videos}},
author={Monszpart, Aron and Thuerey, Nils and Mitra, Niloy J},
journal=ACM_TOG,
volume={35},
number={6},
pages={199},
year={2016},
publisher={ACM}
}
@article{mercier2015surface,
title ={{Surface turbulence for particle-based liquid simulations}},
author={Mercier, Olivier and Beauchemin, Cynthia and Thuerey, Nils and Kim, Theodore and Nowrouzezahrai, Derek},
journal=ACM_TOG,
volume={34},
number={6},
pages={202},
year={2015},
publisher={ACM}
}
@ARTICLE{ Ando:2015:streamfunc,
AUTHOR = {R. Ando and N. Thuerey and C. Wojtan},
TITLE = {{A Stream Function Solver for Liquid Simulations}},
YEAR = {2015},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {34 (4)},
PAGES = {8}
}
@ARTICLE{ Ando:2015:coarsegrid,
AUTHOR = {R. Ando and N. Thuerey and C. Wojtan},
TITLE = {{A Dimension-reduced Pressure Solver for Liquid Simulations}},
YEAR = {2015},
JOURNAL = EG_CGF,
PUBLISHER = {Eurographics Association},
VOLUME = {34 (2)},
PAGES = {10}
}
@ARTICLE{ Raveendran:2014:blendingLiquids,
AUTHOR = {K. Raveendran and N. Thuerey and C. Wojtan and G. Turk},
TITLE = {{Blending Liquids}},
YEAR = {2014},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {33 (4)},
PAGES = {10}
}
@ARTICLE{ Gregson:2014:divFreeof,
AUTHOR = {J. Gregson and N. Thuerey and I. Ihrke and W. Heidrich},
TITLE = {{From Capture to Simulation - Connecting Forward and Inverse Problems in Fluids}},
YEAR = {2014},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {33 (4)},
PAGES = {10}
}
@ARTICLE{ Ando:2013:tetFlip,
AUTHOR = {R. Ando and N. Thuerey and C. Wojtan},
TITLE = {{Highly Adaptive Liquid Simulations on Tetrahedral Meshes}},
YEAR = {2013},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {32 (4)},
PAGES = {10}
}
@ARTICLE{ TedKim:2012:closestPointTurb,
AUTHOR = {T. Kim and J. Tessendorf and N. Thuerey},
TITLE = {{Closest-Point Turbulence for Liquid Surfaces}},
YEAR = {2013},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {32 (2)},
PAGES = {10}
}
@ARTICLE{ Pfaff:2012:vortexSheets,
AUTHOR = {T. Pfaff and N. Thuerey and M. Gross},
TITLE = {{Lagrangian Vortex Sheets for Animating Fluids}},
YEAR = {2012},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {31 (4)},
PAGES = {8}
}
@ARTICLE{ Raveendran:2012:meshControl,
AUTHOR = {K. Raveendran and N. Thuerey and C. Wojtan and G. Turk},
TITLE = {{Controlling Fluids using Meshes}},
YEAR = {2012},
JOURNAL = SCA,
PUBLISHER = {Eurographics Association},
PAGES = {1-8}
}
@ARTICLE{ Ando:2011:adaptiveThinSheets,
AUTHOR = {R. Ando and N. Thuerey and R. Tsuruno},
TITLE = {{Preserving Fluid Sheets with Adaptively Sampled Anisotropic Particles}},
YEAR = {2011},
JOURNAL = {IEEE Transactions on Visualization and Computer Graphics},
PUBLISHER = {IEEE},
VOLUME = {18 (8)},
PAGES = {1202-1214}
}
@ARTICLE{ Pfaff:2010:anisopart,
AUTHOR = {T. Pfaff and N. Thuerey and J. Cohen and S. Tariq and M. Gross},
TITLE = {{Scalable Fluid Simulation using Anisotropic Turbulence Particles}},
YEAR = {2010},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {29 (5)},
PAGES = {8}
}
@ARTICLE{ Thuerey:2010:surfacetens,
AUTHOR = {N. Thuerey and C. Wojtan and M. Gross and G. Turk},
TITLE = {{A Multiscale Approach to Mesh-based Surface Tension Flows}},
YEAR = {2010},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {29 (4)},
PAGES = {10}
}
@ARTICLE{ Wojtan:2010:thinsheets,
AUTHOR = {C. Wojtan and N. Thuerey and M. Gross and G. Turk},
TITLE = {{Physics-Inspired Topology Changes for Thin Fluid Features}},
YEAR = {2010},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {29 (4)},
PAGES = {8}
}
@ARTICLE{ Pfaff:2009:wallturb,
AUTHOR = {T. Pfaff and N. Thuerey and A. Selle and M. Gross},
TITLE = {{Synthetic Turbulence using Artificial Boundary Layers}},
YEAR = {2009},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {28 (5)},
PAGES = {10}
}
@ARTICLE{ Wojtan:2009:topogoop,
AUTHOR = {C. Wojtan and N. Thuerey and M. Gross and G. Turk},
TITLE = {{Deforming Meshes that Split and Merge}},
YEAR = {2009},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {28 (3)},
PAGES = {9}
}
@ARTICLE{ Oskam:2009:camcontrol,
AUTHOR = {T. Oskam and R. W. Sumner and N. Thuerey and M. Gross},
TITLE = {{Visibility Transition Planning for Real-Time Camera Control}},
YEAR = {2009},
JOURNAL = SCA,
PUBLISHER = {Eurographics Association},
PAGES = {55-65}
}
@ARTICLE{ Thuerey:2009:dpfcGraphMod,
AUTHOR = {N. Thuerey and R. Keiser and U. Ruede and M. Pauly},
TITLE = {{Detail-Preserving Fluid Control}},
YEAR = {2009},
JOURNAL = {Graphical Models},
PUBLISHER = {Elsevier},
VOLUME = {71,6},
PAGES = {221-228}
}
@ARTICLE{ TedKim:2008:waveletTurbulence,
AUTHOR = {T. Kim and N. Thuerey and D. James and M. Gross},
TITLE = {{Wavelet Turbulence for Fluid Simulation}},
YEAR = {2008},
JOURNAL = ACM_TOG,
PUBLISHER = {ACM Press},
VOLUME = {27 (3)},
PAGES = {6}
}
@ARTICLE{ Angst:2008:fluidchar,
AUTHOR = {R. Angst and N. Thuerey and M. Botsch and M. Gross},
TITLE = {{Robust and Efficient Wave Simulations on Deforming Meshes}},
YEAR = {2008},
JOURNAL = EG_CGF,
PUBLISHER = {Blackwell Publishing},
VOLUME = {27 (7)},
PAGES = {1895-1900}
}
@ARTICLE{ Thuerey:2008:adapLbm,
AUTHOR = {N. Thuerey and U. Ruede},
TITLE = {{Stable free surface flows with the lattice Boltzmann method on adaptively coarsened grids}},
YEAR = {2009},
JOURNAL = {Computing and Visualization in Science},
PUBLISHER = {Springer},
VOLUME = {12 (5)}
}
@ARTICLE{ Sumner:2008:ethgpl,
AUTHOR = {R. Sumner and N. Thuerey and M. Gross},
TITLE = {{The ETH Game Programming Laboratory: A Capstone for Computer Science and Visual Computing}},
YEAR = {2008},
JOURNAL = {Game Development in Computer Science Education},
PUBLISHER = {ACM}
}
@ARTICLE{ Thuerey:2007:paraLbm,
AUTHOR = {N. Thuerey and T. Pohl and U. Ruede},
TITLE = {{Hybrid Parallelization Techniques for Lattice Boltzmann Free Surface Flows}},
YEAR = {2007},
JOURNAL = {Proceedings of Parallel CFD 2007},
PUBLISHER = {-},
PAGES = {1-8}
}
@ARTICLE{ Iglberger:2008:movPartLbm,
AUTHOR = {K. Iglberger and N. Thuerey and U. Ruede},
TITLE = {{Simulation of moving particles in 3D with the Lattice Boltzmann method}},
YEAR = {2008},
JOURNAL = {Computers and Mathematics with Applications, Mesoscopic Methods in Engineering and Science},
PUBLISHER = {Elsevier},
VOLUME = {55 (7)},
PAGES = {1461-1468},
EDITORS = {L.-S. Luo, M. Krafczyk and Y. Liu}
}
@ARTICLE{ Thuerey:2007:rtWaves,
AUTHOR = {N. Thuerey and M. Mueller-Fischer and S. Schirm and M. Gross},
TITLE = {{Real-time Breaking Waves for Shallow Water Simulations}},
YEAR = {2007},
JOURNAL = {Proc. Pacific Conference on Computer Graphics and Applications},
PUBLISHER = {IEEE Computer Society},
PAGES = {39-46}
}
@ARTICLE{ Thuerey:2007:swsBubbles,
AUTHOR = {N. Thuerey and F. Sadlo and S. Schirm and M. Mueller-Fischer and M. Gross},
TITLE = {{Real-time simulations of bubbles and foam within a shallow water framework}},
YEAR = {2007},
JOURNAL = SCA,
PUBLISHER = {Eurographics Association},
PAGES = {191-198}
}
@ARTICLE{ Thuerey:2006:SCA06dpfc,
AUTHOR = {N. Thuerey and R. Keiser and U. Ruede and M. Pauly},
TITLE = {{Detail-Preserving Fluid Control}},
YEAR = {2006},
JOURNAL = SCA,
PUBLISHER = {Eurographics Association},
PAGES = {7-12}
}
@ARTICLE{ Thuerey:2006:SCA06sws,
AUTHOR = {N. Thuerey and U. Ruede and M. Stamminger},
TITLE = {{Animation of Open water Phenomena with coupled Shallow Water and Free Surface Simulation}},
YEAR = {2006},
JOURNAL = SCA,
PUBLISHER = {Eurographics Association},
PAGES = {157-166}
}
@ARTICLE{ Thuerey:2006:VMV06,
AUTHOR = {N. Thuerey and K. Iglberger and U. Ruede},
TITLE = {{Free Surface Flows with Moving and Deforming Objects for LBM}},
YEAR = {2006},
JOURNAL = {Proceedings of Vision, Modeling and Visualization 2006},
PUBLISHER = {IOS Press},
PAGES = {193-200}
}
@ARTICLE{ Zheng:2006:VMV06,
AUTHOR = {Y. Zheng and H. Koestler and N. Thuerey and U. Ruede},
TITLE = {{Enhanced Motion Blur Calculation with Optical Flow}},
YEAR = {2006},
JOURNAL = {Proceedings of Vision, Modeling and Visualization 2006},
PUBLISHER = {IOS Press},
PAGES = {253-260}
}
@ARTICLE{ Binder:2006:jcollif,
AUTHOR = {C. Binder and C. Feichtinger and H.-J. Schmid and N. Thuerey and W. Peukert and U. Ruede},
TITLE = {{Simulation of the Hydrodynamic Drag of Aggregated Particles}},
YEAR = {2006},
JOURNAL = {Journal of Colloid and Interface Science},
PUBLISHER = {Elsevier},
VOLUME = {301},
PAGES = {155-167}
}
@ARTICLE{ Koerner:2006:PLBM,
AUTHOR = {C. Koerner and T. Pohl and U. Ruede and N. Thuerey and T. Zeiser},
TITLE = {{Parallel Lattice Boltzmann Methods for CFD Applications}},
YEAR = {2006},
JOURNAL = {Numerical Solution of Partial Differential Equations on Parallel Computers},
PUBLISHER = {Springer},
VOLUME = {ISBN 3-540-29076-1},
PAGES = {439-465}
}
@ARTICLE{ Thuerey:2006:adapParam,
AUTHOR = {N. Thuerey and T. Pohl and U. Ruede and M. Oechsner and C. Koerner},
TITLE = {{Optimization and Stabilization of LBM Free Surface Flow Simulations using Adaptive Parameterization}},
YEAR = {2006},
JOURNAL = {Computers and Fluids},
PUBLISHER = {Elsevier},
VOLUME = {35 [8-9]},
PAGES = {934-939}
}
@ARTICLE{ Koerner:2005:lbmFoaming,
AUTHOR = {C. Koerner and M. Thies and T. Hofmann and N. Thuerey and U. Ruede},
TITLE = {{Lattice Boltzmann Model for Free Surface Flow for Modeling Foaming}},
YEAR = {2005},
JOURNAL = {Journal of Statistical Physics},
PUBLISHER = {Springer},
VOLUME = {121 [1-2]},
PAGES = {179--196}
}
@ARTICLE{ Thuerey:2004:fsLevelsetLbm,
AUTHOR = {N. Thuerey and U. Ruede},
TITLE = {{Free Surface Lattice-Boltzmann fluid simulations with and without level sets}},
YEAR = {2004},
JOURNAL = {Proc. of Vision, Modelling, and Visualization VMV},
PUBLISHER = {IOS Press},
PAGES = {199-207}
}
@ARTICLE{ Pohl:2004:paraLbmSc,
AUTHOR = {T. Pohl and Frank Deserno and N. Thuerey and U. Ruede and P. Lammers and G. Wellein and T. Zeiser},
TITLE = {{Performance Evaluation of Parallel Large-Scale Lattice Boltzmann Applications on Three Supercomputing Architectures}},
YEAR = {2004},
JOURNAL = {SC '04: Proceedings of the 2004 ACM/IEEE conference on Supercomputing},
PUBLISHER = {IEEE Computer Society},
PAGES = {21}
}
@ARTICLE{ Thuerey:2002:perfOpt3dMg,
AUTHOR = {M. Kowarschik and U. Ruede and N. Thuerey and C. Weiss},
TITLE = {{Performance Optimization of 3D Multigrid on Hierarchical Memory Architectures}},
YEAR = {2002},
JOURNAL = {Proceedings of PARA'02},
PUBLISHER = {Springer, Lecture Notes in Computer Science},
PAGES = {307-318}
}
@ARTICLE{ Gross:2011:gameDesignChapter,
AUTHOR = {M. Gross and R. Sumner and N. Thuerey},
TITLE = {{The Design and Development of Computer Games}},
YEAR = {2011},
JOURNAL = {The Design of Material, Organism, and Minds (Editors: S. Lang, M. Hampe)},
PUBLISHER = {Springer},
VOLUME = {ISBN 978-3-549-68995-9},
PAGES = {14}
}
@ARTICLE{ Thuerey:2007b:phd,
AUTHOR = {N. Thuerey},
TITLE = {{Physically based Animation of Free Surface Flows with the Lattice Boltzmann Method}},
YEAR = {2007},
JOURNAL = {PhD thesis},
PUBLISHER = {Dept. of Computer Science 10, University of Erlangen-Nuremberg},
VOLUME = {ISBN 978-3-89963-519-5}
}
@ARTICLE{ Thuerey:2006:drdobbs,
AUTHOR = {N. Thuerey},
TITLE = {{Fluid Simulation with Blender}},
YEAR = {2006},
JOURNAL = {Dr. Dobbs Journal},
PUBLISHER = {CMP Media}
}
@ARTICLE{ Iglberger:2005:movNanoPart,
AUTHOR = {Iglberger and N. Thuerey and U. Ruede and H. Schmid and W. Peukert},
TITLE = {{Simulation of moving Nano-Particles with the Lattice Boltzmann Method in 3D}},
YEAR = {2005},
JOURNAL = {Proceedings of ASIM '05},
PUBLISHER = {SCS Publishing House}
}
@ARTICLE{ Feichtinger:2005:dragForcesLbm,
AUTHOR = {C. Feichtinger and N. Thuerey and U. Ruede and C. Binder and H. Schmid and W. Peukert},
TITLE = {{Drag Force Simulations of Particle Agglomerates with the Lattice-Boltzmann Method}},
YEAR = {2005},
JOURNAL = {Proceedings of ASIM '05},
PUBLISHER = {SCS Publishing House}
}
@ARTICLE{ Thuerey:2005:adapGridsLbm,
AUTHOR = {N. Thuerey and U. Ruede},
TITLE = {{Optimized Free Surface Fluids on Adaptive Grids with the Lattice Boltzmann Method}},
YEAR = {2005},
JOURNAL = {Poster},
PUBLISHER = {SIGGRAPH '05}
}
@ARTICLE{ Thuerey:2005:interactiveLbmFluids,
AUTHOR = {N. Thuerey and C. Koerner and U. Ruede},
TITLE = {{Interactive Free Surface Fluids with the Lattice Boltzmann Method}},
YEAR = {2005},
JOURNAL = {Technical Report 05-4},
PUBLISHER = {Department of Computer Science 10 System Simulation}
}
@ARTICLE{ Thuerey:2003:lbmMetallschaum,
AUTHOR = {N. Thuerey and U. Ruede and C. Koerner},
TITLE = {{Simulation von Metallschaum mittels der Lattice-Boltzmann Methode}},
YEAR = {2003},
JOURNAL = {Konwihr Quartl},
PUBLISHER = {KONWIHR},
VOLUME = {35}
}
@ARTICLE{ Thuerey:2003:singlePhaseFsLbm,
AUTHOR = {N. Thuerey},
TITLE = {{A Lattice Boltzmann method for single-phase free surface flows in 3D}},
YEAR = {2003},
JOURNAL = {Master thesis},
PUBLISHER = {Dept. of Computer Science 10, University of Erlangen-Nuremberg}
}
@ARTICLE{ Thuerey:2002:cacheOptMg,
AUTHOR = {N. Thuerey},
TITLE = {{Cache Optimizations for Multigrid in 3D}},
YEAR = {2002},
JOURNAL = {Semester thesis},
PUBLISHER = {Dept. of Computer Science 10, University of Erlangen-Nuremberg}
}

9
references.md Normal file
View File

@ -0,0 +1,9 @@
References
============================
% in new section?
```{bibliography} references.bib
```

BIN
resources/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

5
supervised.md Normal file
View File

@ -0,0 +1,5 @@
Supervised Learning
=======================
Doing things the old fashioned way...