Jonathan Guyer | 11 Jul 22:33
Favicon

Re: Error in code


On Jul 11, 2008, at 2:56 PM, Rashmi Ranjan Mohanty wrote:

> I tried with other solvers and the LinearGMRESSolver seems to work  
> better. I am not sure if I could use that, though I have a non- 
> symmetric matrix (I have a convection term in my formulation).

GMRES handles asymmetric matrices, as far as I know.

> With this solver the memory error seems to be gone, but "invalid  
> value encountered in log" error comes up and the program stops  
> running.

Where is the error occurring?

"invalid value encountered in log" is likely happening because you are  
getting negative concentrations, although I don't know why log() would  
be getting evaluated on your fields. That's not something we do in the  
examples.
>

> I am still struggling to find where the bug is. Just for  
> confirmation : Is this correct to combine a phase transformation  
> term and a counter diffusion term to make one convection coefficient ?

Anything that can be expressed as \nabla\cdot{c \vec{v}} can be  
combined as a single convection term. As we show in the manual, you  
can lump all sorts of things into \vec{v}.

> I have got the following terms:
>
> counterDiffusion = -2[(La - Lb)*p(phi) + Lb] * c.getFaceGrad()

This, however, doesn't make sense to me. Why does counter diffusion  
depend on the latent heat? They're two separate phenomena.

Can you show me mathematically what you're trying to solve?

Have you tried solving a smaller system? There's no point in solving  
400x400 meshes if you don't even know if the equations are right.

> PS: I was wondering if you got a chance to look at my paper. Your  
> review comments will be highly appreciated.

I've started, but will get back to you ASAP


Gmane