diff --git a/divers.markdown b/divers.markdown index 3679c4e..f153770 100644 --- a/divers.markdown +++ b/divers.markdown @@ -29,7 +29,7 @@ a = ... + inner(grad(u), n)*v*dx - 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)', +left_boundary = CompiledSubDomain("on_boundary && near(x[0], x_left)", x_left=0.5) {% endhighlight %} @@ -48,6 +48,15 @@ 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