I think I got the idea, but I have trouble with implementation .... in the class _CUSTOMMetalIonSourceVariable(CellVariable):
I used to write #return self.distanceVar._cellInterfaceFlag * 1e+20 #this is the absorbing boundary used before + a source term , email from Daniel dated july 12,2011 return self.distanceVar._cellInterfaceFlag * 1e+20 * (self.ionvar() - 0.1) On Wed, Jul 13, 2011 at 7:11 PM, Julien Derr <julien.d...@gmail.com> wrote: > oh, I see!!! thanks a lot for the nice explanation ... as usual!! > > Julien > > > On Wed, Jul 13, 2011 at 5:31 PM, Daniel Wheeler <daniel.wheel...@gmail.com > > wrote: > >> >> On Wed, Jul 13, 2011 at 11:00 AM, Julien Derr <julien.d...@gmail.com> >> wrote: >> >> > D gradient(c) + source term = 0 >> > >> > so why a huge source term will guarantee the solution c=0 ?? >> >> It's an implicit source term. It's implicitly multiplied by the >> variable. So the equation is >> >> \nabla \cdot \left( D \nabla c \right) + S_P c = 0 >> >> where $S_P$ is a large value. >> >> -- >> Daniel Wheeler >> >> >