> Using quasi Fermi level variables, assuming that Einstein's relation holds and
> applying boundary conditions ( homogeneous Dirichlet and Neumann conditions ),
> I get weak forms
>
> int grad( u ) grad ( phi ) + ( exp ( u - v ) - exp ( w - u ) ) phi dx = 0
> int mu_n exp ( u-v ) grad ( v ) grad ( psi ) - k2 psi dx = 0
> int mu_p exp ( w-u ) grad ( w ) grad ( gamma ) - k2 gamma dx = 0
>
> where I should find (u,v,w) for all (phi,psi,gamma). Now this can be solved
> applying Newton's method to
> the equations, assuming certain initial guesses for u,v,w. But, this sounds a
> quite time consuming, because
> we have 3N non-linear equations. Have somebody applied deal.II to this kind of
> problem? Is there
> other approaches to solve this kind of problem?
Do you mean time-consuming from the point of implementing it, or from the
point of running it?
Your weak form is not too complicated (just 6 terms), so I'd expect that you
can without too much effort write down the Jacobian to form the Newton system.
You'd get a 3x3 block system (which you can just treat as one large matrix and
throw into a direct solver such as SparseDirectUMFPACK at first).
I would give it a try :-) (Feel inspired by step-15.)
The alternative is to use a fixed point iteration: freeze all of the exp(.-.)
terms at the previous solution, upon which you get a linear system that you
can solve as usual. Then iterate. That would be simpler to implement but will
likely require more iterations to converge.
Cheers
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@math.tamu.edu
www:
http://www.math.tamu.edu/~bangerth/