Please login with a confirmed email address before reporting spam
Posted:
1 decade ago
May 15, 2013, 4:14 a.m. EDT
Hi,
See if your problem works by keeping D constant. If it works then you could say D(C) could be a problem, in which case make sure that when C becomes negative or zero that you still have a positive D value. Otherwise, from the information you have given it is difficult to say what the problem is. May be check also that you have defined boundary condition correctly and that you have finite concentration in your domain.
Suresh
Hi,
See if your problem works by keeping D constant. If it works then you could say D(C) could be a problem, in which case make sure that when C becomes negative or zero that you still have a positive D value. Otherwise, from the information you have given it is difficult to say what the problem is. May be check also that you have defined boundary condition correctly and that you have finite concentration in your domain.
Suresh
Please login with a confirmed email address before reporting spam
Posted:
10 years ago
Dec 30, 2014, 2:11 a.m. EST
I am also facing the similar problem. Did you solve the problem of defining the concentration-dependent Diffusion problem in COMSOL?
I am also facing the similar problem. Did you solve the problem of defining the concentration-dependent Diffusion problem in COMSOL?
Please login with a confirmed email address before reporting spam
Posted:
10 years ago
Dec 30, 2014, 4:28 a.m. EST
I tried to use Kohlrausch law in the form of
D = D0*(1 - K*sqrt(c/C0))
where I have defined the parameters D0, K and C0 (1[mol/l]), and c is (obviously) my concentration variable. The problem appears to be related to the square root function. Comsol tries to calculate its derivative (I do not know why), as I got error messages due to negative square roots etc. I added "abs" function but it did not help either. When I used a linear dependence instead of square root, no errors were reported.
I tried to use Kohlrausch law in the form of
D = D0*(1 - K*sqrt(c/C0))
where I have defined the parameters D0, K and C0 (1[mol/l]), and c is (obviously) my concentration variable. The problem appears to be related to the square root function. Comsol tries to calculate its derivative (I do not know why), as I got error messages due to negative square roots etc. I added "abs" function but it did not help either. When I used a linear dependence instead of square root, no errors were reported.
Ed Gonzalez
COMSOL Employee
Please login with a confirmed email address before reporting spam
Posted:
10 years ago
Dec 30, 2014, 7:19 a.m. EST
Hi Lasse,
you get the error message since d(D,c) is undefined when c=0. also, negative concentrations will give you a complex number.
Try the modified expression
D = D0*(1 - K*sqrt(max(c,eps)/C0))
where eps is a very small number defined as the "machine epsilon". If you still need to used the average of the concentration, use
D = D0*(1 - K*sqrt((abs(c)+eps)/C0))
Hi Lasse,
you get the error message since d(D,c) is undefined when c=0. also, negative concentrations will give you a complex number.
Try the modified expression
D = D0*(1 - K*sqrt(max(c,eps)/C0))
where eps is a very small number defined as the "machine epsilon". If you still need to used the average of the concentration, use
D = D0*(1 - K*sqrt((abs(c)+eps)/C0))
Please login with a confirmed email address before reporting spam
Posted:
10 years ago
Dec 30, 2014, 8:03 a.m. EST
Yes,
it helped, thanks a lot!
Lasse
Yes,
it helped, thanks a lot!
Lasse
Please login with a confirmed email address before reporting spam
Posted:
8 years ago
Mar 26, 2017, 11:39 p.m. EDT
Hi
I have similar kind of problem.My model converges with D as constant but when I use it as a function of temperature(D=((kB*T)/(3*pi*eta_f*d_p)) it does not converge. Can you please help me with this.
Thanks
Abhinav.
Hi
I have similar kind of problem.My model converges with D as constant but when I use it as a function of temperature(D=((kB*T)/(3*pi*eta_f*d_p)) it does not converge. Can you please help me with this.
Thanks
Abhinav.