Dear Lawrence, There is this error: Traceback (most recent call last): File "<stdin>", line 22, in <module> File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/io.py", line 110, in __lshift__ self._file << data File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/io.py", line 524, in __lshift__ self._update_PVD(data) File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/io.py", line 542, in _update_PVD new_vtk << function File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/io.py", line 180, in __lshift__ mesh = function.function_space().mesh() AttributeError: 'Sum' object has no attribute 'function_space' Could there be something amiss?
On 18 Jan 2016, at 15:55, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote:
On 18/01/16 14:49, Angwenyi David wrote:
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?
Oh, I missed that bit. That didn't do what you wanted, it copied the values of f into fn and fn_1, when you made the new Function objects.
I would do something like:
fn = Function(V, name="f") fn_1 = Function(V, name="f last")
t = 0
f_expr = Expression("x[0]*x[1]*x[2]*t", t=t)
# Initially, presumably, fn and fn_1 are both evaluated at t=0
fn.interpolate(f_expr) fn_1.interpolate(f_expr)
while t < T:
...
t += dt fn_1.assign(fn) f_expr.t = t fn.interpolate(f_expr)
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk <mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake <https://mailman.ic.ac.uk/mailman/listinfo/firedrake>