help with Wentzell eigenvalue problem.

13 months ago by
I am working with the Wentzell eigenvalue problem in a 3-D domain. I am still learning FeniCs and I want to know how to use FeniCs to compute some of the first eigenvalues for the Wentzell problem.

the Wentzell eigenvalue problem is the following. 

             -Δu = 0 in Ω
-βΔτu + ∂nu = λu on ∂Ω

Where Δτ is the Laplace-Beltrami operator and ∂n  is the normal derivative. 

The week formulation is 

\[ \int_{\Omega}\nabla u \cdot \nabla \phi + \beta\int_{\partial\Omega}\nabla_{\tau}u\cdot\nabla_{\tau}\phi = \int_{\partial\Omega}\lambda u \phi \]

where \[\nabla_{\tau}u = \nabla u - (\nabla u \cdot \textbf{n})\textbf{n}\] and \[\textbf{n}\] is the normal to \[\partial\Omega\]

This is my attempt to deal with the weak formulation. I don´t know how to handle the boundary integral and the eigenvalue. 

from fenics import *
from mshr import *
import matplotlib.pyplot as plt

#Define 3D geometry
sphere1 = Sphere(Point(0, 0, 0), 1.0)
sphere2 = Sphere(Point(0, 0, 0), 0.5)
g3d = sphere1 - sphere2

#Define mesh and function space
mesh = generate_mesh(g3d, 32)


V = FunctionSpace(mesh,"Lagrange", 1)
n = FacetNormal(mesh)

# Define basis and bilinear form
u = TrialFunction(V)
v = TestFunction(V)

a = dot(grad(u), grad(v))*dx
m = beta*dot(grad(u)-dot(grad(u),n)*n, grad(v)-dot(grad(v),n)*n)*ds
L = u*v*ds

I really don´t know what would be the next step I tried reading some examples but I don´t understand quite well the use of some commands as PETScMatrix(),PETScMatrix(). Any suggestion or guidance would be greatly appreciated. 

Thank you very much.
did you see the question about Eigenvalues posted just recently?
written 13 months ago by pf4d 
Thank you very much!
written 13 months ago by Leoncio 

1 Answer

13 months ago by
Here ya go!
Please login to add an answer/comment or follow this question.

Similar posts:
Search »