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 ]
