OP2/PyOP2 — pull request #52 by gmarkall (2012-09-13 13:17:33+00:00)
Title: Use iteration spaces for vector assembly

It's very odd that we require two different APIs for matrix and vector assembly. The vec-iteration-space branch adds support for iteration spaces for vector assembly, so we can be consistent.

In the OpenCL backend, iteration space arguments are dealt with similarly to vector map arguments, with the exception that the iteration space index is used to index into the _via__vec variable when it is passed to the kernel.

Some extra tests are also added - I noticed that assembly for the RHS vector fields and solving for vector fields wasn't unit tested at all, so these are added. Unit tests for using iteration spaces for RHS assembly for scalar and vector fields is also tested.

All of the FFC demos are updated to use the iteration space API for RHS assembly. If you wish to try these demos, this branch of FFC is required: https://code.launchpad.net/~grm08/+junk/ffc-pyop2-itspace - I will merge these changes with our FFC PyOP2 branch simultaneously with the merge of this pull request so that as long as both FFC and PyOP2 are up to date, the API should match.

Buildbot pass: http://buildbot-ocean.ese.ic.ac.uk:8080/builders/pyop2-testing/builds/201