Difference between revisions of "Tutorial/Laplace equation with Neumann boundary condition"

From ONELAB
Jump to: navigation, search
(The considered problem)
Line 8: Line 8:
 
\end{cases}
 
\end{cases}
 
\end{equation}
 
\end{equation}
where the function $f$ is defined by
+
where $\Gamma =\partial\Omega$ is the boundary of $\Omega$ and the function $f$ is defined by
 
$$
 
$$
 
\forall x,y\in [0,1]^2,\qquad f(x,y) = (1+2\pi^2)\cos(\pi x)\cos(\pi y).
 
\forall x,y\in [0,1]^2,\qquad f(x,y) = (1+2\pi^2)\cos(\pi x)\cos(\pi y).
 
$$
 
$$
One can easily shows that the unique solution of the problem \eqref{eq:problemU} is
+
One can easily show that the unique solution of the problem \eqref{eq:problemU} is
 
$$
 
$$
 
\forall x,y\in[0,1]^2, \qquad u(x,y) = \cos(\pi x)\cos(\pi y).
 
\forall x,y\in[0,1]^2, \qquad u(x,y) = \cos(\pi x)\cos(\pi y).
 
$$
 
$$
To solve problem \eqref{eq:problemU} using a the finite elements method, we write the weak formulation of the probleme \eqref{eq:problemU}, which reads as
+
In order to solve problem \eqref{eq:problemU} with the finite elements method, we write the weak formulation of the probleme \eqref{eq:problemU}:
 
\begin{equation}\label{eq:WeakFormulation}
 
\begin{equation}\label{eq:WeakFormulation}
 
\left\{\begin{array}{l}
 
\left\{\begin{array}{l}
Line 27: Line 27:
 
== Outline of the program ==
 
== Outline of the program ==
  
We give here a (very) detailled solution. We proposed to construct 3 different files.
+
We give here a (very) detailled solution. Our solution is composed by 3 different files.
The two principles are :
+
- LaplacianNeumann.geo : GMSH file, used to build the domain (the square). The extension ".geo" is mainly used to design a GMSH file
- LaplacianSquare.geo : GMSH file, used to build the domain (the square). The extension ".geo" is mainly used to design a GMSH file
+
- LaplacianNeumann.pro : GetDP file, contains the weak formulation \eqref{eq:WeakFormulation} of the problem \eqref{eq:problemU}. The extension ".pro" is associated with GetDP files.
- LaplacianSquare.pro : GetDP file, contains the weak formulation \eqref{eq:WeakFormulation} of the problem \eqref{eq:problemU}. The extension ".pro" is associated with GetDP files.
+
- data.geo : this (auxiliary) file contains the index number associated with the geometry. It is used to ensure that GMSH and GetDP have the same numbering of the domains.
 
 
The last file, "data.geo", contains the index number associated with the geometry. It can be usefull to be sure that GMSH and GetDP have the same numbering of the domains.
 
 
 
  
 
== param.geo: the auxiliary file ==
 
== param.geo: the auxiliary file ==
  
== LaplacianSquare.geo: creation of the geometry with GMSH ==
+
== LaplacianNeumann.geo: creation of the geometry with GMSH ==
  
== LaplacianSquare.pro: weak formulation ==
+
== LaplacianNeumann.pro: weak formulation ==

Revision as of 09:03, 5 September 2011

The considered problem

We propose here to solve a first very simple academic example with GMSH and GetDP. We considered the unit square $\Omega$ with boundary $\Gamma$ and unit outward normal $\mathbf{n}$. We seek $u$, solution of the following problem \begin{equation} \begin{cases}\label{eq:problemU} \Delta u + u = f & \text{in } \Omega\\ \displaystyle{\frac{\partial u}{\partial \mathbf{n}} = 0} & \text{on }\Gamma, \end{cases} \end{equation} where $\Gamma =\partial\Omega$ is the boundary of $\Omega$ and the function $f$ is defined by $$ \forall x,y\in [0,1]^2,\qquad f(x,y) = (1+2\pi^2)\cos(\pi x)\cos(\pi y). $$ One can easily show that the unique solution of the problem \eqref{eq:problemU} is $$ \forall x,y\in[0,1]^2, \qquad u(x,y) = \cos(\pi x)\cos(\pi y). $$ In order to solve problem \eqref{eq:problemU} with the finite elements method, we write the weak formulation of the probleme \eqref{eq:problemU}: \begin{equation}\label{eq:WeakFormulation} \left\{\begin{array}{l} \text{Find } u\in H^1(\Omega) \text{ such that, }\\ \displaystyle{\forall v\in H^1(\Omega), \qquad \int_{\Omega} \nabla u\cdot\nabla v \;{\rm d}\Omega + \int_{\Omega}uv \;{\rm d}\Omega - \int_{\Omega}fv\;{\rm d}\Omega = 0}, \end{array}\right. \end{equation} where $H^1(\Omega)$ is the classical Sobolev space and the functions $v$ are the test functions.

Outline of the program

We give here a (very) detailled solution. Our solution is composed by 3 different files. - LaplacianNeumann.geo  : GMSH file, used to build the domain (the square). The extension ".geo" is mainly used to design a GMSH file - LaplacianNeumann.pro  : GetDP file, contains the weak formulation \eqref{eq:WeakFormulation} of the problem \eqref{eq:problemU}. The extension ".pro" is associated with GetDP files. - data.geo : this (auxiliary) file contains the index number associated with the geometry. It is used to ensure that GMSH and GetDP have the same numbering of the domains.

param.geo: the auxiliary file

LaplacianNeumann.geo: creation of the geometry with GMSH

LaplacianNeumann.pro: weak formulation