Dear Lawrence,
On 18 Jan 2016, at 15:28, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote:
On 18/01/16 14:07, Angwenyi David wrote:
f = Function(V).interpolate(Expression("x[0]*x[1]*x[2]*t"))
This looks wrong. Expressions by default have access to the coordinates (x[0..2]), but if you want to provide other values, you need to do so like so:
expr = Expression("x[0]*x[1]*x[2]*t", t=value_for_t)
f = Function(V).interpolate(expr)
Although it looks like you don't use the function "f" later at all.
I have used f in defining fn and fn_1 such that fn is f evaluated at time tn and fn_1 is f evaluated at time tn-1; both expressions which have been used in the time-loop. Could there be a way of achieving this end?
note that if you want to change the value used for t in this expression, you will then also need to re-interpolate it:
while t < T:
expr.t = new_value_for_t
f.interpolate(expr)
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake