Note you can also apply additional boundary conditions before the solve with bc.apply(A).  i.e. in the following

````
A = assemble(a, bcs=[bc0])
bc1.apply(A)

solve(A, ...)
````

will use bcs from bc0 and bc1.