On Tue, Oct 12, 2010 at 1:27 PM, BIN ZHANG <[email protected]> wrote:
>
> Dear Daniel:
>
> Thanks a lot for your reply. Greatly appreciated.
>
> The trick you used to transform the equation is quite clever ;-). I guess
> now my question is how to represent $\partial_i V$ in the convection term.
Try,
>>> ConvectionTerm(V.getFaceGrad())
> Though you confirmed to me that it's possible to have a convection term with
> a variable coefficient, like $\partial_i V$, I'm still not clear how to do
> that in Fipy. From the documentation on Convectionterm, I found the
> following:
>
> >>> cv = CellVariable(mesh = m)
> >>> __ConvectionTerm(coeff = cv)
> Traceback (most recent call last):
> ...
> TypeError: The coefficient must be a vector value.
>
> It looks to me that only, a scalar, or a constant vector is allowed in this
> term. Any suggestion?
The coeff for ConvectionTerm needs to be a vector. Try,
>>> cv = CellVariable(mesh = m, rank=1)
>>> __ConvectionTerm(coeff = cv)
"rank=1" makes the variable a vector value.
--
Daniel Wheeler