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
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
[ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]