I'm trying to simulate basic semiconductor models for pedagogical purposes--starting from the Drift-diffusion model. Although I don't want to use an off-the-shelf semiconductor simulator--I'll be learning other (common, recent or obscure) models, I do want to use an off-the-shelf PDE solver.
But even for the simple 1D case, the drift-diffusion model consists of a number of coupled nonlinear PDEs.
Current density equations:
$$J_n = q n(x) \mu_n E(x) + q D_n \nabla n$$ $$J_p = q p(x) \mu_p E(x) - q D_p \nabla p$$
Continuity equations:
$$\frac{\partial{n}}{\partial{t}} = \frac{1}{q} \nabla \cdot J_n + U_n $$ $$\frac{\partial{p}}{\partial{t}} = \frac{1}{q} \nabla \cdot J_p + U_p $$
Poisson equation:
$$\nabla \cdot (\epsilon \nabla V) = -(p - n + N_D^+ - N_A^-) $$
and a number of boundary conditions.
Is there a package (preferably open source) that would take these equations, in that form, and solve them? Or perhaps is the variational form required by the tools is not as hard? In any case, what are my options?