The equation has no transient term and a zero diffusion coefficient
for some elements, so on some rows it is trying to solve 0 * x = b,
which is not possible.

On Tue, Dec 16, 2008 at 9:18 AM, Zhiwen Liang <[email protected]> wrote:
>  Hi all,
> Hope all is going well.
> Recently, I am trying to solve for an equation like this:
> \frac{\partial^2 u}{\partial y \partial z}-\frac{\partial^2 u}{\partial z
> \partial y}=\alpha
> I tried using the diffusionTerm with anisotropic diffusion coefficient of
> the following:
> D=[0 0 1
>      0 0 0
>     -1 0 0]
> But I got the following error:
>  File "run.py", line 81, in run
>     solver=solver)
>   File
> "/Library/Python/2.5/site-packages/FiPy-2.0a1-py2.5.egg/fipy/terms/term.py",
> line 186, in sweep
>     self._solveLinearSystem(var, solver, matrix, RHSvector)
>   File
> "/Library/Python/2.5/site-packages/FiPy-2.0a1-py2.5.egg/fipy/terms/term.py",
> line 131, in _solveLinearSystem
>     solver._solve(matrix, array, RHSvector)
>   File
> "/Library/Python/2.5/site-packages/FiPy-2.0a1-py2.5.egg/fipy/solvers/pysparse/linearGMRESSolver.py",
> line 69, in _solve
>     Assor=precon.jacobi(L._getMatrix())
> ValueError: diagonal element close to zero
> I wonder if there are any ways to work around it. Thank you in  advance for
> any advice.
> Have a nice day!
> Regards,
> Zhiwen
>



-- 
Daniel Wheeler

Reply via email to