I don't know for sure, but I see that you have a 4th-order diffusion term in 
kine_c.

Nth-order diffusion and coupled don't play nicely together. Probably, Nth-order 
diffusion terms should just go away, now that we support coupled equations.

If you split kine_c into a pair of 2nd-order equations, that may resolve this 
issue.


On Dec 12, 2014, at 11:10 AM, Ronghai Wu <[email protected]> wrote:

> Hi Fipy developers and users,
> 
> I have the following coupled equations:
> 
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------
> kine_eta1 =
>       fp.TransientTerm(var=eta1, coeff=1.) == fp.DiffusionTerm(var=eta1,
>       coeff=1.) \
> 
>  + fp.ImplicitSourceTerm(var=eta1,
>       coeff=(eta1**2 + 5.*(10.-c))) \
> 
>  - 5.*eta2*eta3 
> kine_eta2 = fp.TransientTerm(var=eta2,
>       coeff=1.) == fp.DiffusionTerm(var=eta2, coeff=1.) \
> 
>  + fp.ImplicitSourceTerm(var=eta2,
>       coeff=(eta2**2 + 5.*(10.-c))) \
> 
>  - 5.*eta1*eta3 
> kine_eta3 = fp.TransientTerm(var=eta3,
>       coeff=1.) == fp.DiffusionTerm(var=eta3, coeff=1.) \
> 
>  + fp.ImplicitSourceTerm(var=eta3,
>       coeff=(eta3**2 + 5.*(10.-c))) \
> 
>  - 5.*eta1*eta2 
> kine_c = fp.TransientTerm(var=c, coeff=1.) ==
>       fp.DiffusionTerm( var=c, coeff=( 1., 1. ) ) \
> 
>  + fp.DiffusionTerm( var=c, coeff=8. ) 
> eq = kine_eta1 & kine_eta2 & kine_eta3
>       & kine_c
> 
> eq.sweep(dt=1.e-2)
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> When I run it, I get the error massage which I do not understand. I am 
> wondering what this error implies exactly and how to fix it? 
> 
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
> >>> eq.sweep(dt=1.e-2)
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/term.py", line 236, in 
> sweep
>     solver = self._prepareLinearSystem(var=var, solver=solver, 
> boundaryConditions=boundaryConditions, dt=dt)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/term.py", line 170, in 
> _prepareLinearSystem
>     buildExplicitIfOther=self._buildExplcitIfOther)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/coupledBinaryTerm.py", 
> line 122, in _buildAndAddMatrices
>     buildExplicitIfOther=buildExplicitIfOther)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/binaryTerm.py", line 68, 
> in _buildAndAddMatrices
>     buildExplicitIfOther=buildExplicitIfOther)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/binaryTerm.py", line 68, 
> in _buildAndAddMatrices
>     buildExplicitIfOther=buildExplicitIfOther)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/binaryTerm.py", line 68, 
> in _buildAndAddMatrices
>     buildExplicitIfOther=buildExplicitIfOther)
>   File "/usr/lib/python2.7/dist-packages/fipy/terms/unaryTerm.py", line 99, 
> in _buildAndAddMatrices
>     diffusionGeomCoeff=diffusionGeomCoeff)
>   File 
> "/usr/lib/python2.7/dist-packages/fipy/terms/abstractDiffusionTerm.py", line 
> 318, in _buildMatrix
>     var, L, b = self.__higherOrderbuildMatrix(var, SparseMatrix, 
> boundaryConditions=boundaryConditions, dt=dt, 
> transientGeomCoeff=transientGeomCoeff, diffusionGeomCoeff=diffusionGeomCoeff)
>   File 
> "/usr/lib/python2.7/dist-packages/fipy/terms/abstractDiffusionTerm.py", line 
> 407, in __higherOrderbuildMatrix
>     b = L * lowerOrderb + b
>   File "/usr/lib/python2.7/dist-packages/fipy/matrices/pysparseMatrix.py", 
> line 327, in __mul__
>     return _PysparseMatrixFromShape.__mul__(self, other)
>   File "/usr/lib/python2.7/dist-packages/fipy/matrices/pysparseMatrix.py", 
> line 169, in __mul__
>     raise TypeError
> TypeError
> >>> 
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> Thanks
> Ronghai
> _______________________________________________
> fipy mailing list
> [email protected]
> http://www.ctcms.nist.gov/fipy
>  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]


_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to