This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Discontinuous derivatives

0 votes

I want to solve an eigenvalue equation (effective mass schroedinger eq.) of the form

-d/dx 1/m(x) d/dx F(x) + V(x) F(x) = E F(x)

with the conditions

(1) F(x) continuous
(2) 1/m(x) d/dx F(x) continuous

where m(x) is a piecewise constant function.

FEM will generally obey the first condition. But how do I include the second? From what I have read so far, I need to incorporate this condition in the assembly of my system of linear equations. Is there a way to do this in FEniCS?

Thank you very much for your help!

asked Apr 15, 2014 by torsten FEniCS Novice (240 points)

1 Answer

+1 vote
 
Best answer

Hi, have a look here and here for questions regarding Schroedinger eq. With bilinear form

a = inner(m*grad(F), grad(v))*dx + inner(V*F, v)*dx

where F and v are TrialFunction and TestFunction from eg. CG1 function space both
your conditions are satisfied. The first one is satisfied strongly by the choice of function space, while the other one is satisfied weakly by neglecting the jump term

$ \text{jump}(m \frac{dF}{dx})\text{avg}(v)ds$ on the facets.

answered Apr 15, 2014 by MiroK FEniCS Expert (80,920 points)
selected Apr 30, 2014 by torsten

Hi MiroK, thank you for your fast answer. There are two things that I'm still wondering about:

(1) If I understand you correctly, choosing CG1 as function space, I will enforce my solution to be continuous over the entire domain, but allow its derivative to be discontinuous. However, will this enforce the right bc of 1/m1 * f1' = 1/m2 * f2'?

(2) I implemented your suggestion, but noticed that my problem may lie somewhere else still. For testing my implementation, I made my problem a bit easier and assumed a constant mass term over the entire domain, but kept the step-like potential function V(x). I realized that it takes an absurdly large amount of elements to get the solution to converge.

...