Regardless of whether user code has been doing NumericVector::add() or NumericVector::set() calls, EpetraVector::close() calls GlobalAssemble with its default mode, Add.
This appears to be what's breaking the fem_system_ex2 example when it gets run in parallel with Trilinos. I'm not sure what a good fix would be here. One thought: keep a combine_mode flag (our own integer, so we can make sure Parallel::max() behaves as we want) in the EpetraVector. The constructor and the end of a close() sets it to 0; an add() sets it to 1, a set() sets it to 2; then we use Parallel::max() and some assertions to make sure every rank is on the same page at the start of a close() call before doing the GlobalAssemble. Others' thoughts? I'm not very familiar with our Trilinos interface. --- Roy ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel