Numerical integration in Finite Element Method (and implementation in Matlab)?

394 Views Asked by At

i'm trying to solve the p-Laplace Equation:

\begin{align} \begin{cases} \text{div} (\sigma |\nabla u|^{p-2} \nabla u) = f &\quad \text{in } \Omega\\ u = g &\quad \text{in } \partial\Omega \end{cases} \end{align}

by using the finite element method and minimizing

\begin{align} \label{J} J(v) = \frac{1}{p}\int_{\Omega} \sigma |\nabla v|^p~\mathop{}\!\mathrm{d} x - \int_{\Omega} fv~\mathop{}\!\mathrm{d} x \end{align}

with Newton-Ralphson. Therefore i need to calculate

\begin{align} J'(v) = \int_{\Omega} \sigma |\nabla v|^{p-2} \nabla v \nabla \varphi~\mathop{}\!\mathrm{d} x - \int_{\Omega}f\varphi ~\mathop{}\!\mathrm{d} x \end{align}

and

\begin{align} J(v)'' = \int_{\Omega} [(p-2) |\nabla v|^{p-4} ( \nabla v \cdot \nabla \varphi) \nabla v + |\nabla v|^{p-2} \nabla \varphi] \nabla \phi \end{align}

where $\varphi, \phi \in W^{1,p}_0$.

I know that i have to integrate over a triangulation, BUT...

How do i mathematically calculate/implement the needed expression $\nabla v$, $\nabla \varphi$ (the basis functions will be the hat/pyramid functions) and then integrate over the triangles?

Can someone help me, recommend me a book, a website or maybe even know an example code for such a problem?

1

There are 1 best solutions below

2
On

If you are interested mostly in the Matlab implementation it might be worth to check out this paper. It describes an implementation only of a standard Laplacian but the building blocks should be the same. You could also consider using some finite element software like Fenics or Ngsolve in which would the discretization be easy but it might not allow you to easily implement all the numerical methods you want.