Some extra functions added, used by non-local-parallel (in non-local_1d example).
Added non-local_1d example: This is a 1d (parallel to the magnetic field) transport example in the SOL with non-local electron closures.
Minor improvements and tidied up .inp files
Merge branch 'master' of https://github.com/bendudson/BOUT
Bugfix: added definition of Field3d::operator+=(const FieldPerp &rhs)
Fixed bug in y_broadcast that would crash 3d simulations; the root index was not set correctly (needs to be the index in comm_yprocs not the global index). Also changed to use jpar instead of VeminusVi.
Merge branch 'master' of https://github.com/bendudson/BOUT
Merge branch 'master' of https://github.com/bendudson/BOUT
Added PETSc based Laplacian inverter by J. Buchanan, with some bug fixes and optimizations. Added tests for that inverter 1) in a trivial Diag(1,1,1) metric and 2) in metrics from several slices of a grid representing the MAST SOL.
petsc_laplace.cxx optimization: Added per-row pre-allocation of MatA.
Updates and bugfixes to petsc_laplace.
Merge branch 'master' of https://github.com/bendudson/BOUT
had forgotten to update some files, fixed now
Merge branch 'master' of https://github.com/bendudson/BOUT
Fix for GlobalY() in boutmesh.cxx
CVode solver now catches BoutRhsFail exceptions and returns 1 instead of 0. This tells CVode that the timestep failed recoverably, so it reduces the timestep and tries again. As exceptions that are not thrown on all processors are problematic (will cause the program to hang if there is any communication required after the exception was thrown) BoutParallelThrowRhsFail("some message") should be called to throw BoutRhsFail. Implemented in petsc_laplace to throw a recoverable error if the solver takes too many iterations.
Fixed preallocation in laplace_petsc.cxx. Had not finished implementing row-by-row allocation. Also added check for NXPE>1, else use MatSeqAIJSetPreallocation instead of MatMPIAIJSetPreallocation.
Another bugfix to petsc_laplace. Also added extra_yguards_lower and extra_yguards_upper options to invert_laplace to help with avoiding redundant (and possibly onerous) inversion when using staggered grids or setting boundary values explicitly.
Added option to petsc_laplace to use a preconditioner.
Merge branch 'master' of https://github.com/johnomotani/BOUT