This commit is contained in:
Gaspard Jankowiak 2021-10-22 15:08:00 +02:00
commit e1590f6eb1
11 changed files with 56 additions and 26 deletions

View file

@ -23,10 +23,20 @@ defaults:
- -
scope: scope:
path: "en" path: "en/*"
values: values:
page_title: "Gaspard Jankowiak's homepage" page_title: "Gaspard Jankowiak's homepage"
title: "Gaspard Jankowiak's homepage" title: "Gaspard Jankowiak's homepage"
subtitle: "Research fellow at the University of Constance<div id='main_email'><span>gaspard</span><span></span>@<span>math.janko.fr</span></div>" subtitle: "Research fellow at the University of Constance<div id='main_email'><span>gaspard</span><span></span>@<span>math.janko.fr</span></div>"
homelink: "/en" homelink: "/en"
fr_url: "" fr_url: ""
-
scope:
path: "de"
values:
page_title: "Gaspard Jankowiak's homepage"
title: "Gaspard Jankowiak's homepage"
subtitle: "Research fellow at the University of Constance<div id='main_email'><span>gaspard</span><span></span>@<span>math.janko.fr</span></div>"
homelink: "/de/lehre"
fr_url: ""

5
_includes/nav_de.html Normal file
View file

@ -0,0 +1,5 @@
<nav>
<ul>
<li><a href="/de/lehre"></a></li>
</ul>
</nav>

View file

@ -4,7 +4,7 @@
<li><a href="/enseignement/">Enseignement</a></li> <li><a href="/enseignement/">Enseignement</a></li>
<li><a href="/cv">CV</a></li> <li><a href="/cv">CV</a></li>
<li><a href="https://gitea.oknaj.eu/gjankowiak/">Code</a></li> <li><a href="https://gitea.oknaj.eu/gjankowiak/">Code</a></li>
<li><a href="/divers">Divers</a></li> <li><a href="/misc">Divers</a></li>
<li><a href="/#contact">Contact</a></li> <li><a href="/#contact">Contact</a></li>
</ul> </ul>
</nav> </nav>

View file

@ -46,21 +46,31 @@
</header> </header>
<section> <section>
<p class="switcher">
{% if page.lang == 'en' %} {% if page.lang == 'en' %}
{% if page.fr_url == '' %} <a href="{{ page.url | remove_first: '/en' }}">🇫🇷</a>
<p class="switcher"><a href="{{ page.url | remove_first: '/en' }}">🇫🇷</a></p>
{% else %} <a href="/de/lehre">🇩🇪</a>
<p class="switcher"><a href="{{ page.fr_url }}">🇫🇷</a></p> </p>
{% endif %}
{% include nav_en.html %} {% include nav_en.html %}
{% else %}
{% if page.lang == 'de' %}
<a href="/">🇫🇷</a>
<a href="/en">🇬🇧</a>
</p>
{% include nav_de.html %}
{% else %} {% else %}
{% if page.en_url == '' %} {% if page.en_url == '' %}
<p class="switcher"><a href="/en{{page.url}}">🇬🇧</a></p> <a href="/en{{page.url}}">🇬🇧</a>
{% else %} {% else %}
<p class="switcher"><a href="{{ page.en_url }}">🇬🇧</a></p> <a href="{{ page.en_url }}">🇬🇧</a>
{% endif %} {% endif %}
<a href="/de/lehre">🇩🇪</a>
</p>
{% include nav_fr.html %} {% include nav_fr.html %}
{% endif %} {% endif %}
{% endif %}
<hr> <hr>
<div id="page_subtitle">{{ page.subtitle }}</div> <div id="page_subtitle">{{ page.subtitle }}</div>

12
de/lehre.markdown Normal file
View file

@ -0,0 +1,12 @@
---
layout: default
subtitle: Lehre
math: true
lang: de
---
# Theorie u. Numerik PDG
## Übungen
- [Blatt 1](/de/uebungen/2021/PDG/blatt_1.pdf)

Binary file not shown.

View file

@ -62,15 +62,11 @@ Gaspard Jankowiak
[ORCiD](https://orcid.org/0000-0002-9025-1465) [ORCiD](https://orcid.org/0000-0002-9025-1465)
{: .float-left} {: .float-left}
Office: Office F402
Vordere Zollamtsstraße 3 Fachbereich Mathematik und Statistik
1030 Wien Universität Konstanz
78457 Konstanz
{: .float-right} {: .float-right}
Postal address:
OEAW
Ricam, Aussenstelle Wien
Dr. Ignaz Seipl Platz 2
1010 Wien - Autriche
{: .float-right} {: .float-right}

View file

@ -3,7 +3,6 @@ layout: default
math: false math: false
lang: en lang: en
subtitle: 'Miscellaneous' subtitle: 'Miscellaneous'
fr_url: /divers
--- ---
## u:access at the University of Vienna ## u:access at the University of Vienna

View file

@ -2,6 +2,7 @@
layout: default layout: default
subtitle: Enseignement subtitle: Enseignement
math: false math: false
lang: fr
en_url: /enseignement en_url: /enseignement
--- ---

View file

@ -1,6 +1,7 @@
--- ---
layout: default layout: default
math: false math: false
lang: fr
--- ---
{% assign authors = site.data.authors %} {% assign authors = site.data.authors %}
@ -62,14 +63,10 @@ Gaspard Jankowiak
[ORCiD](https://orcid.org/0000-0002-9025-1465) [ORCiD](https://orcid.org/0000-0002-9025-1465)
{: .float-left} {: .float-left}
Bureau: Bureau F402
Vordere Zollamtsstraße 3 Fachbereich Mathematik und Statistik
1030 Wien Universität Konstanz
78457 Konstanz
{: .float-right} {: .float-right}
Adresse postale:
OEAW
Ricam, Aussenstelle Wien
Dr. Ignaz Seipl Platz 2
1010 Wien - Autriche
{: .float-right} {: .float-right}

120
misc.markdown Normal file
View file

@ -0,0 +1,120 @@
---
layout: default
math: true
subtitle: Divers
en_url: /en/misc
---
## Accès aux articles de l'université de Vienne via u:access
Les personnes ayant un compte à l'université de Vienne (étudiants, chercheurs, invités...) peuvent accéder à certaines revues via le proxy u:access. Pour cela, on va sur la page où le papier est proposé au téléchargement, et on change le domaine (la partie avec `.com`) en remplaçant tous les `.` par `-` et en rajoutant `.uaccess.univie.ac.at`. Par exemple
greedy.journal.com/paper-123.456
devient
greedy-journal-com.uaccess.univie.ac.at/paper-123.456
Après connexion à u:access si nécessaire, on est redirigé vers la page en mode 'connecté', et le lien de téléchargement est disponible, si l'université a un abonnement à ce journal.
C'est pratique, mais un peu fastidieux, alors on peut accélérer la procédure avec ce bookmarklet <a href='javascript:(function(){var u = String(window.location); var parts = u.split("/"); parts[2] = parts[2].replace(/\./g, "-") + ".uaccess.univie.ac.at"; window.location = parts.join("/");})()'>u:access</a>. Il suffit de le glisser dans la barre des favoris. Quand on est sur la page d'un papier qui nous intéresse, il suffit de cliquer dessus pour être redirigé automatiquement via le proxy u:access. Ceci devrait être plus robuste que celui proposé sur la [page u:access](https://uaccess.univie.ac.at), qui n'échappe pas l'URL passée pour la redirection.
Sans u:access, il y a encore une petite chance d'avoir son papier, en utilisant [unpaywall](https://unpaywall.org/)
## Cette page web
Pour les intéressés, ma page est construite avec [Jekyll](https://jekyllrb.com/). Le code est disponible [en ligne](https://gitea.oknaj.eu/gjankowiak/homepage) et accessible via git.
## Introduction à Jekyll
J'ai donnée une petite introduction à Jekyll à l'Université de Vienne, les slides sont [disponibles](/files/slides/2018/jekyll.pdf).
## Notes FEniCS (interface Python)
[FEniCS][1] est un ensemble de bibliothèques permettant la résolution d'EDP avec la méthode des éléments finis. Il permet la description des problèmes sous forme variationnelle à haut niveau. Je rassemble ici quelques notes et conseils utiles pour l'interface Python, valable au moins pour la version **1.4**.
### Installation
Pour ceux qui ne sont pas sur Ubuntu et qui n'ont donc pas accès aux PPA, ou ceux qui ne veulent pas utiliser Docker, le plus simple pour installer FEniCS est de passer par [Anaconda](https://docs.continuum.io/anaconda/install), qui fourni un environnement de développement Python complet. Une fois installer, on peut récupérer FEniCS de cette façon:
{% highlight bash %}
# installation de FEniCS
$ conda create -n fenics -c conda-forge fenics
# activation du virtualenv FEniCS
$ source activate fenics
# installation des paquets manquants
$ conda install -c conda-forge matplotlib mshr pyyaml ipython sympy=1.0
{% endhighlight %}
Si vous utilisez Python 2.x, je recommande de commencer tous vos fichiers de calcul par `from __future__ import division`, qui nous débarrasse de la division entière. Celle-ci est toujours accessible via l'opérateur `//`.
L'interface Python de FEniCS est rassemblée dans le module `dolfin`, qu'il faut donc importer pour pouvoir en profiter.
Dans la suite, `mesh` correspondra au maillage, et dans les expressions variationnelles, `u` à la fonction inconnue et `v` à la fonction test, et sont des fonctions scalaires, sauf indication contraire. `M` est la matrice de rigidité et `b` le membre de droite du système linéaire associé à la formulation variationnelle, construits avec les fonctions `assemble` ou `assemble_system`.
- Par défaut, la variable d'espace n'est pas accessible directement pour l'écriture des formes variationnelles, mais on peut la définir avec `SpatialCoordinate`:
{% highlight python %}
x = SpatialCoordinate(mesh)
form = inner(grad(u), grad(v))*dx + (x[0]**2 + x[1]**2)*u*v*dx
{% endhighlight %}
- De la même façon, le vecteur normal au bord d'un maillage s'obtient avec la fonction `FacetNormal`, on peut dont définir des termes de bord, par exemple $\int \frac{\partial u}{\partial \nu}\, v\; \mathrm d x$, de la manière suivante :
{% highlight python %}
n = FacetNormal(mesh)
a = ... + inner(grad(u), n)*v*dx
{% endhighlight %}
- Il est possible de définir des régions du maillage (des `SubDomain`) de manière plus efficace (à voir ce que ça veut dire exactement) avec la fonction `CompiledSubDomain`, qui prend une chaîne de charactère. Celle-ci suit la syntaxe C++, et expose les variables `on_boundary` et `x`. Les autres doivent être passées en argument :
{% highlight python %}
left_boundary = CompiledSubDomain("on_boundary && near(x[0], x_left)",
x_left=0.5)
{% endhighlight %}
- Pour visualiser forme de la matrice de rigidité, on peut utiliser la bibliothèque `matplotlib`, et sa fonction `spy`. Puisque le système est *a priori* de grande dimension, on ne peut pas simplement faire appel à `M.vector().array()`, il faut créer une matrice `scipy` creuse.
{% highlight python %}
import scipy.sparse as sp
import matplotlib.pyplot as plt
M = assemble(...)
rows, cols, values = M.data()
sp_M = sp.csr_matrix(values, cols, rows)
plt.spy(sp_M)
plt.show() # ne pas oublier show pour afficher le graphe
{% endhighlight %}
- FEniCS est en général distribué avec un outil permettant la conversion d'un certain nombre de format de stockage de maillage vers le format XML qu'il utilise. Par exemple, pour utiliser un maillage généré par MEdit (FreeFem) :
{% highlight python %}
import dolfin_utils.meshconvert.meshconvert as conv
conv.mesh2xml("maillage_freefem.mesh", "maillage_fenics.xml")
mesh = Mesh("maillage_fenics.xml")
{% endhighlight %}
[1]: http://fenicsproject.org/
## Un blog de Terrence Tao plus lisible
Voici [un petit bout](https://gist.github.com/gjankowiak/9692034) de CSS pour nettoyer les posts de blogs et les rendre plus agréables à lire.
Il est commenté (en anglais) pour pouvoir être adapté à vos besoins. Avec Firefox, il faut utiliser l'extension [Stylish](https://addons.mozilla.org/fr/firefox/addon/stylish/?src=search)
pour l'utiliser.
Et comme les maths sont affichés via de simples images, ce qui est moyennement esthétique, voilà [le bout](https://gist.github.com/gjankowiak/9692040)
de Javascript qui va avec. Il injecte [MathJax](http://www.mathjax.org/) dans la page, après avoir transformé les images en texte utilisable par lui. Pour l'utiliser avec Firefox,
il faut avoir installé [GreaseMonkey](https://addons.mozilla.org/fr/firefox/addon/greasemonkey/).
Voici un aperçu, avant à gauche, après à droite :
![before after](/images/misc/tao-before-after.jpg){: .centered_img}
# Clé publique
{% highlight ssh-key %}
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDes1fgV2ZgiQ6hRRehRhIu1780zzAtSX6PQ2afPUlzyCIAG+pC1W2U4ZNuoZxTSASl6GJWIyJj+50VpFSlCEGf5E5GQJme74tusK/RN9pfQfGcyg8zAaDx4d8VVdFYP4CCnqpntYwpfBYmPfm4S6aVDEWs88lXk6d2ErnE9qBVMlxxq2NU9Ckk5d8PVEnqKkTb29gWWv+jyHZq9oeC080c1o9yKMUF8JTyTPKt9BbSObMGckOdrODOh0qV2pEariUboApZfJipf8iCwU6a/Xk+cp0/QEGS8fSltj8mX4t3f/huJBXvh1t6AHxeZbXR+QXUwqra02WALZZtCd3NS7DP gaspard@ebook
{% endhighlight %}