[fenics] bit about SpatialCoordinate
This commit is contained in:
parent
4d62cb5b40
commit
b53b225132
1 changed files with 9 additions and 1 deletions
|
@ -18,7 +18,15 @@ L'interface Python de FEniCS est rassemblée dans le module `dolfin`, qu'il faut
|
||||||
|
|
||||||
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`.
|
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`.
|
||||||
|
|
||||||
- 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 :
|
- 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`:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
x = SpatialCoordinate(mesh)
|
||||||
|
form = inner(grad(u), grad(v))*dx + (x[0]**2 + x[1]**2)*u*v*dx
|
||||||
|
~~~
|
||||||
|
{: .language-python}
|
||||||
|
|
||||||
|
- 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 :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
n = FacetNormal(mesh)
|
n = FacetNormal(mesh)
|
||||||
|
|
Loading…
Reference in a new issue