help with Wentzell eigenvalue problem.

3 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.
Community: FEniCS Project
did you see the question about Eigenvalues posted just recently?
written 3 months ago by pf4d  
Thank you very much!
written 3 months ago by Leoncio  

1 Answer

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

Similar posts:
Search »