Thank you very much for your help :)

On Mon, May 14, 2012 at 3:47 PM, Jonathan Guyer <gu...@nist.gov> wrote:
>
> On May 12, 2012, at 9:44 AM, Matej Svejda wrote:
>
>> I'm using FiPy to solve a Convection Diffusion Reaction Equation (one
>> spacial dimension, plus time). I want my source to:
>>
>> da^2(H(a, t)) * P(a, t)
>>
>> Where da^2(H(a,t)) is the second special derivative of a function H (a
>> known function and NOT  the function I'm solving for) and P the
>> function I'm solving for. Both are represented as CellVariable.
>
> I think this is covered in 
> http://www.ctcms.nist.gov/fipy/documentation/FAQ.html#how-do-i-represent-a-term-that-doesn-t-involve-the-dependent-variable
>
>
>> I have tried to write: H.getGrad().getGrad() * P but the ranks don't
>> match (H has rank-0 and H.getGrad().getGrad() has rank-3).
>
> H.getGrad().getGrad() should be rank-2 (and that's what I get with both FiPy 
> 2.1 and trunk/)
>
>> I don't get
>> why the rank is increased when I take the gradient of a function that
>> is defined on a 1-d mesh. Any ideas?
>
> The gradient of a scalar is a vector. The gradient of a vector is a rank-2 
> tensor. The dimensionality doesn't matter. Working in 1D can often mislead 
> like this.
>
> \nabla^2 H is not equivalent to \nabla(\nabla H). It is equivalent to 
> \nabla\cdot(\nabla H), and in FiPy you do that with 
> H.getFaceGrad().getDivergence()
>
>
> _______________________________________________
> fipy mailing list
> fipy@nist.gov
> http://www.ctcms.nist.gov/fipy
>  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

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

Reply via email to