Bonjour!
Je dois réaliser un projet en 2 parties en utilisant une librairie dont j'ignore encore comment elle est construite (mon enseignant nous ne aide pas du tout, il ne nous a même pas montré comment deal ii fonctionnait).
En me servant de step-3, je dois résoudre le problème
omega=[0,1] x [0,1]
-laplacien(u)=f sur omega
u=0 sur gamma (bord de omega)
La première partie consiste à prendre f(x,y)=1 (solution exacte u(x,y)=[ x(1-x)+y(1-y) ]/4 ), dans l'autre f(x,y)=2y(1-y)+2x(1-x) (solution exacte u(x,y)=x(1-x)y(1-y) )
Tout ce que j'ai réussi à faire, c'est de définir le domaine omega (au départ, c'était [-1,1] x [-1,1] ), et j'ai pu dire combien de fois je désire raffiner. Il ne me reste plus qu'à trouver comment définir le membre de droite et en plus de cela, je dois calculer les erreurs L2 et L infini (pour cela, il me faut l'aire de chaque maille (rectangles) et les évaluations de la solution exacte et approchée pour chaque nœuds).
Merci
site: http://www.dealii.org/6.2.1/doxygen/tutorial/index.html
edit:
Pour changer le second membre, ce n'est pas dans ce passage:
Il faudrait donc changer ce 1 en 2y(1-y)+2x(1-x) mais comment avoir "x" et "y"?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (unsigned int i=0; i<dofs_per_cell; ++i) for (unsigned int q_point=0; q_point<n_q_points; ++q_point) cell_rhs(i) += (fe_values.shape_value (i, q_point) * 1 * fe_values.JxW (q_point));
Partager