Merged block_preconditioner.cc and .h

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@571 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fixed a lot of comments in block_preconditioners.cc and .h

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@572 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Small changes to block_preconditioners.h and lagrange_enforced_flow_preconditioner.h

Changed some strings, not worth mentioning.

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@573 595e1d82-adf1-4282-bac7-b6073fa2ca8e
.gitignore: added more automatically generated header files

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@574 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fixed distributed mesh problem in generic/block_preconditioner.cc

The old code used a set of pairs to store the global equation and dof
type pair. If a dof is re-classified, then this is also stored.
This the set is used later to get the number of dofs and such.

This means we have more dofs then there actually is. So, we used a map
instead.

Fixed all spelling mistakes and layout in
generic/iterative_linear_solver.cc
generic/matrices.cc
generic/oomph_utilities.cc
generic/oomph_utilities.h
generic/problem.cc
meshes/tetgen_mesh.template.cc
navier_stokes/lagrange_enforced_flow_preconditioner.h

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@575 595e1d82-adf1-4282-bac7-b6073fa2ca8e

-- When using adaptation for unstructured meshes created from input
    polyfiles (*.1.node *.1.ele and *.1.poly) it may be possible that
    the nodes that define the internal closed boundaries are listed
    before the nodes that define the outer closed boundaries. If that is
    the case then a warning message is thrown and the user should double
    check that the generated mesh is according with the domain defined
    in the polyfiles.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@576 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Re-wrote CRDoubleMatrix::add(...) to make it more efficient.
Added more self tests for the CRDoubleMatrix::add(...) function

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@577 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fix for self tests with automake versions > 1.13

If we have automake version more recent than 1.13 then the default is to
use the new parallel self test harness which doesn't work with
parallel_self_tests.py (and doesn't actually run tests in parallel without
a major rewrite of all Makefile.am s). So we need to disable it. However
the command to disable the new test harness was only introduced in version
1.12 which is still very new!

Additionally autoconf has no way of checking version numbers etc. so we
can't implement a conditional option to automake there.

So it looks like the only way around this for now is to modify configure.ac
in regenerate_config_files.sh if the automake version is greater than
1.12. Since the only (approved) way to generate configure.ac is using this
script it should be safe.
Clean up of some of my (David) code in oomph-lib core

* Move interpolator.h to generic.

* Clean up comments in interpolator.h.

* Add ability to interpolate time and space derivative of values
  (i.e. d2v/dxdt).

* Move some large functions from midpoint_method.h and poly_interp.h to .cc
  files.

* Clean up comments and add paranoid checks in poly_interp.h.
Add a function to get the (unmangled) type name of an object as a string
Additional capabilities for interpolator class

* Can optionally set the timestepper to be used

* Store local position

* Needed to make nprev_values_for_value_at_evaluation_time() const
Fix bug in parallel_self_test.py where specified number of cores was ignored

and slightly improve comments and layout
Move undo_make_steady up into Timestepper base

* Avoids duplicate code - all implementations did the same thing

* Virtual so still easy to overload if needed

* Also very slightly increased tol in fpdiff in axisym_navier_stokes/torus
  Not sure if this is related to this change but it was needed to make the
  test pass on my machine. Changed zero from 1e-12 -> 1.1e-12 .
Add paranoid check for empty matrix when running SuperLu

Otherwise we get a segfault inside SuperLu, with no easy way to find out
what went wrong.
Make vector time_derivative calc use individual time_derivative function

Cleaner code and easier to overload.

Also fixed some comments.
Add new demo driver binaries and generated headers to gitignore
Very slightly increased tol in fpdiff in axisym_navier_stokes/torus

Not sure if this is related to my changes but it was needed to make the
test pass on my machine. Changed zero from 1e-12 -> 1.5e-12 .
Initial commit of explicit timestep predictor work

* Idea is to be able to use a (higher order) explicit time stepper to
  estimate the local trunction error for time adaptivity.

* Working test in demo_drivers/unsteady_heat/two_d_unsteady_heat_midpoint
Initial commit of script to check makefiles' subdir variable
Combine rebuild_global_mesh() and merge_meshes() functions

They were copy pasted from each other so might as well be one function for
consistency.