I need a check on the following exercise about weak formulations and finite elements.

Consider the advection diffusion system $$ \begin{cases} -(\mu u')' + \beta u' + \gamma u = f \\ u(a)=0 \\ u(b) = g_b \end{cases}$$

where $\mu,\beta \beta', \gamma \in C^{0}([a,b])$ and $f \in L^2(a,b)$

  • Write the weak formulation, specifying the functional spaces

  • Give sufficient conditions s.t. the bilinear form is coercive.

Here's my attempt:

  • As I have Dirichlet bc's, I choose as functional space for the test function $H_0^1$.

Therefore, integratin by parts I obtain: $$\int_a^b \mu u'v'dx + \int_a^b \beta u' v dx + \int_a^b \gamma u v dx = \int_a^b fv dx$$

Therefore, the weak formulation is "Find $u \in H^1$, with $u(a)=0$ and $u(b)=g_b$ s.t. $$a(u,v)=F(v)$$ for every $v \in H_0^1$"

The functional spaces are actually different: if all the coefficients were constants, then I could use a "lifting" and look for a solution of the problem with homogeneous Dirichlet.


So I consider $\bar{u} = u-R_g$, where $R_g(x)$ is the lifting function such that $R_g(b)=g_b$ and $R_g(0)=0$.

Then, I plug $u = \bar{u} +R_g$ in the weak formulation and obtain:

$$\int_a^b \mu \bar{u}'v'dx + \int_a^b \beta \bar{u}' v dx + \int_a^b \gamma \bar{u} v dx = \int_a^b fv dx - \int_a^b \Bigl[ \mu R_g' v' +\beta R_g' v +\gamma R_g v\Bigr ]dx$$

Then, I can find with FEM the solution $\bar{u}$, and recover $u(x)$ thanks to $$u(x)=\bar{u}(x) +R_g(x)$$

  • By computing explicitly $$a(u,u)= \int_a^b \mu u'^2 dx + \int_a^b \beta u' u dx + \int_a^b \gamma u^2$$

Using Poincarè inequality, and assuming $0<\mu_1<\mu(x)$: $$\geq \frac{\mu_1}{1+C_P^2} ||u||_V^2 + \int_a^b \beta u u'dx + \gamma u^2 dx$$

Therefore, I observe that $$\beta u u' = (\beta \frac{u^2}{2})'- \beta' \frac{u^2}{2}$$

Then, integrating by parts, using the fact that $u(a)=0$ and $u(b)=g_b$: $$a(u,u)\geq \frac{\mu_1}{1+C_P^2} ||u||_V^2 + \beta \frac{g_b^2}{2} + \int_a^b[\gamma - \frac{\beta'}{2}]u^2dx$$

So I assume $$\gamma - \frac{\beta'}{2} > 0$$ and $$\beta>0$$

This implies $a(u,u) \geq \frac{\mu_1}{1+C_P^2} ||u||_V^2$.

Is it okay?


Since your trial and test spaces are different, you have to use a different version of Lax-Milgram lemma, see e.g., [1], Theorem 5.1.2

You can still use lifting idea since the PDE is linear. Then you can verify the conditions in standard Lax-Milgram lemma.

To show coercivity, you need the condition $$ \gamma(x) - \frac{1}{2} b'(x) \ge -\eta, \qquad -\infty < \eta < \frac{\mu_0}{C} $$ where $$ \mu_0 = \min_x \mu(x) > 0 $$ and $C$ is the constant in Poincare inequality. For this, see [1], Section 6.1.2

[1] Quarteroni and Valli, Numerical Approximation of PDE.

  • $\begingroup$ I just edited my post with the use of a lifting function, because I can only use the "standard" version of Lax-Milgram lemma. The lifting should be $$R_g(x)=\frac{x}{b} g_b $$ so indeed $$\bar{u}(b)=g_b - g_b = 0$$ @cdflab $\endgroup$ – andereBen Sep 6 '20 at 7:26
  • $\begingroup$ Also, following Quarteroni and Valli, in the discretization (with internal nodes from $1,\ldots, N$) with the lifting, I have: $$R_g(x)=\sum_{\text{boundary nodes}} g(x_i) \varphi_i(x)$$ Now, boundary nodes are just $x=a$ and $x=b$ and also $g(a)=0$. So it is $$R_g(x)= g_b \varphi_{N+1}(x) $$ where $N+1$ is the index of the boundary node $b$. Now, I should just leave this as it is, right? Should I write explicitely $\varphi_{N+1}(x)=\frac{x-x_N}{x_{N+1}-X_N}$? $\endgroup$ – andereBen Sep 6 '20 at 7:27
  • $\begingroup$ could you please confirm my edit? $\endgroup$ – andereBen Sep 6 '20 at 15:06
  • $\begingroup$ This lifting will work. Then you have to update your coercivity proof in $H^1_0$. You wont need the condition $\beta > 0$. $\endgroup$ – cfdlab Sep 8 '20 at 7:01
  • $\begingroup$ so I will end up with the condition $$\gamma - \frac{\beta'}{2} > 0 $$ in $(0,1)$, which is essentially like yours, right? $\endgroup$ – andereBen Sep 8 '20 at 7:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.