Dear Lawrence It is working, but there could be something I am not doing right. I get the error: ", line 146, in get_so Compile errors in %s""" % (e.cmd, e.returncode, logfile, errfile)) pyop2.exceptions.CompilationError: Command "['mpicc', '-std=c99', '-fPIC', '-Wall', '-framework', 'Accelerate', '-march=native', '-O3', '-I/Users/master/firedrake/lib/python2.7/site-packages/petsc/include', '-I/Users/master/firedrake/lib/python2.7/site-packages/pyop2', '-msse', '-o', '/var/folders/8q/tv2c50fj0n3_27j_3yjmyv7c0000gp/T/pyop2-cache-uid502/d2907754592af67f96e4cc4f25058e4e_p743.so.tmp', '/var/folders/8q/tv2c50fj0n3_27j_3yjmyv7c0000gp/T/pyop2-cache-uid502/d2907754592af67f96e4cc4f25058e4e_p743.c', '-dynamiclib', '-L/Users/master/firedrake/lib/python2.7/site-packages/petsc/lib', '-Wl,-rpath,/Users/master/firedrake/lib/python2.7/site-packages/petsc/lib', '-lpetsc', '-lm']" return error status 1. Unable to compile code Compile log in /var/folders/8q/tv2c50fj0n3_27j_3yjmyv7c0000gp/T/pyop2-cache-uid502/d2907754592af67f96e4cc4f25058e4e_p743.log Compile errors in /var/folders/8q/tv2c50fj0n3_27j_3yjmyv7c0000gp/T/pyop2-cache-uid502/d2907754592af67f96e4cc4f25058e4e_p743.err Kindly check the script attached and let me know where I am amiss.
On 18 Jan 2016, at 14:16, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote:
Dear David,
On 18/01/16 12:33, Angwenyi David wrote:
Hi all,
I wanted to extend the solution to the linear wave equation to a non-linear one. Could someone look at the attached script. I get the following error:
IndexError: tuple index out of range
The problem here is that although Function objects support indexing, it is not in the way you're using it. The indexing is to pull out a particular component of a vector-valued function.
To implement this kind of timestepping scheme you need two Functions:
pn = Function(V, name="p") pn_1 = Function(V, name="p last")
Now use pn and pn_1 instead of p[n] and p[n-1] in your forms.
You should now interpolate the initial condition into pn_1 and formulation your timeloop as:
while t < T: solve_for_pn(pn, pn_1) ... do_other_things() ...
# Update p_{n-1} <- p_n for next timestep pn_1.assign(pn)
You will need to do the same for the functions phi and f.
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake