Olexiy Orel (scorpion)
Member Username: scorpion
Post Number: 14 Registered: 03-2007
| Posted on Wednesday, December 02, 2009 - 03:44 am: | |
Dear sirs, could you help me with the following issue. I have KI/I2 electrolyte and platinum electrodes - two anodes and two cathodes. I apply potential difference between anodes and cathodes so that anodes become to generate I3, cathodes - to consume. The main equation to describe anodic and cathodic current is Butler-Volmer equation. It is one of the most fundamental electrochemical equations. It says: j=F*k1*C(I-)*exp(U-E0)-F*k2*C(I3-)*exp(E0-U). Having C(I-)=const, Ea+Ek=U where Ea is the potential difference between anode and electrolyte, Ek - between electrolyte and cathode, I get: ja=F*k1*C(I-)*exp(Ea-E0)-F*k2*C_anode(I3-)*exp(E0-Ea) jc=F*k1*C(I-)*exp(Ea-U-E0)-F*k2*C_anode(I3-)*exp(E0-U-Ea) This was BC on anodes and cathodes. The main equation is del2(C)=0 where C is C(I3-), C(I-)=const. I apply global variable Ea and equation for it is: bintegral(normal(grad(C)),'anode 1')=bintegral(normal(grad(C)),'kathode 1'). Everything could be fine but the program does not understand that Ea cannot be bigger than U: 0<Ea<U=0.3V - quite a small value. Therefore the program seeks Ea and reaches an error: exp is too large. So the problem is: Butler-Volmer BC contains a global variable Ea as an argument of the EXP. The program seeks Ea all over the integer range as far as I understand. And successfully reaches the limit. Can I restrict global variable Ea to the range of 0<Ea<U where U is small? Thank you. |