Patrick Hurley's check-in after his PhD Viva. This check-in mostly
contains implementations of the linearised axisymmetric Navier--Stokes
equations, and associated demo drivers for self-test purposes.

 - A new src directory, `linearised_axisym_navier_stokes' has been
   added, containing the implementation of the linearised axisymmetric
   Navier--Stokes elements and their refineable counterparts. These
   equations are only valid if used in problems where the nodes are
   not moving!

 - The machinery implemented in the above directory is tested using
   two new demo drivers. These are both located in the

     /demo_drivers/linearised_axisym_navier_stokes

   directory. The first of these, `counter_rotating_disks', replicates
   the investigation of C. Nore, M. Tartar, O. Daube and
   L.S. Tuckerman's paper `Survey of instability thresholds of flow
   between exactly counter-rotating disks' (2003), and tests the
   implementation of both the new linearised axisymmetric Taylor--Hood
   and Crouzeix--Raviart elements. A refineable version of this code
   also tests the refineable versions of these elements. The second
   demo driver, `time_periodic_taylor_couette', replicates the
   investigation of B.T. Murray, G.B. McFadden and S.R. Coriell in the
   1990 paper `Stabilization of Taylor-Couette flow due to
   time-periodic outer cylinder oscillation'. This code only tests the
   non-refineable versions of the new linearised axisymmetric
   Taylor--Hood and Crouzeix--Raviart elements.

 - Located in the

    /demo_drivers/linearised_free_surface_axisym_navier_stokes/

   directory, a driver code entitled
   `two_layer_interface_nonaxisym_perturbations' simulates the
   relaxation of a non-axisymmetric perturbation to an otherwise
   axisymmetric interface between two fluids. The source files for
   this problem are also all stored in this directory.




git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@735 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Update to fix the errors in the following makefiles, created as part of the previous check-in (version 735):

  - demo_drivers/linearised_axisym_navier_stokes/counter_rotating_disks/Makefile.am
  - demo_drivers/linearised_axisym_navier_stokes/time_periodic_taylor_couette/Makefile.am
  - demo_drivers/linearised_free_surface_axisym_navier_stokes/two_layer_interface_nonaxisym_perturbations/Makefile.am

These fixes involve adding those .h and .cc files to the `SOURCES' list which were previously overlooked.




git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@736 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Tweaked some of the validation parameters for Patrick's new demos

Adjusted the Makefile.am's so that the appropriate files get included in
make mydist *Only checked* Patrick's tests after distribution and untar-ing

Added some more modifications as part of the big continuation/bifurcation 
rewrite:

 Added a new boolean flag to set_timestepper() functions that specifies
whether existing data is to be wiped. The default behaviour is that only
the current value is preserved, but if the boolean is set to true then all
exising time history and auxillary data is preserved (or all that will fit
within the newly allocated storage)

Added new get_inner_product() functions to assembly handlers and elements that
are to be used in bifurcation location and continuation. The plan is to 
merge the required functionality with that in projection problems because the
information required is almost the same.



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@737 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Tony's commit!

-- Finally (!) wrote demo driver code and associated documentation
   to illustrate/self-test the use of the block preconditioning
   framework and Ray's recent additions to it. Still to be
   tweaked by Matthias (and Ray!). Will also add parallel version 
   in next commit. New/updated documentation lives in

      doc/mpi/block_preconditioners/block_preconditioners.txt

   The version in 

      doc/mpi/distributed_block_preconditioners/distributed_block_preconditioners.txt

   is still Richard Muddle's old version which should be merged with
   (or cross-referenced from) the new version.


-- INTERFACE CHANGE: Removed communicator pointer from 
                     Preconditioner::setup(...). It's now inferred
                     from the associated matrix. 


-- Added Problem::describe_dofs(...) function which describes the 
   dofs in terms of the global equation number, i.e. what type of 
   value (nodal value of a Node; value in a Data object; value of 
   internal Data in an element; etc) is the unknown with a certain 
   global equation number. This sits on top of a deep hierarchy 
   of calls that ultimately descends (through meshes and elements)
   to Data. Occasionally, the addition of this functionality requires
   the provision of final over-riders for elements that inherit
   from multiple other elements.


-- Tidied up line visualiser so that it works 
   if run on a single processor in an mpi installation and 
   added self-tests (serial and parallel).



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@738 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Another commit from Tony!

-- Fixed an issue with -h in the oomph-convert script, where it would
   output just -e.

-- Added missing serial multi_poisson driver code files.
 
-- Added parallel test for multi_poisson (uses same preconditioner
   header file as in serial version).

-- Changed self tests for parallel trilinos tests -- they now 
   monitor the iteration counts of the linear solver (rather
   than the Newton method). 




git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@739 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Tidied up a few more wobbles with the multi poisson tests.



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@740 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Jonathan's commit before Euromech conference...

-- Re-enabled (and made more systematic) the imposition of the
   contact constraint in contact elements. We can now do:

   -- hat-function or isoparametric representation [default] of the 
      contact pressure.

   -- collocation [default] or "hat-function-based-averageing" for working
      out 

       -- discrete penetrations 

      and 

       -- contact pressures 

      to be used in (what we've now recognised as) the semi-smooth Newton
      method for the enforcement of the contact constraint.

    Updated validata to be consistent with that.

    Options chosen via private pointers to bools (and access functions).


-- INTERFACE CHANGE:

   Added extra boolean to indicate intersection in penetration(...)
   function of Penetrator (i.e. does the unit normal away from the
   (potentially) penetrated body actually meet the penetrator. Also
   returns penetration itself via args rather than return.

All still needs a final sanity check and the heated linear contact
problem still needs a self-test.

    



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@741 595e1d82-adf1-4282-bac7-b6073fa2ca8e
typo in the_distribution.txt (wrong flag for mpi include directory
listed in documentation).



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@742 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Added mpi_build_mumps_and_scalapack configure options
and fixed misleading description in mpi_debug configure options file.



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@743 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Jonathan's final commit (for now!). Tweaks to contact_elements.h 
and drivers. 



git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@744 595e1d82-adf1-4282-bac7-b6073fa2ca8e
--- Fixed a bug in 
    TriangleMeshCurveSection::connect_final_vertex_to_curviline(). The
    s_value must be in the range [z_min, z_max], where 
    z_min = min(z_initial, z_final) and z_max = max(z_initial, z_final).




git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@745 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fix bug in parallel_self_test.py where specified number of cores was ignored

and slightly improve comments and layout

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@746 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Add option to parallel_self_test.pt to run in serial mode for debugging

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@747 595e1d82-adf1-4282-bac7-b6073fa2ca8e
In parallel_self_test.py write make output to file "make_check_output"

Instead of dumping it to /dev/null. Useful if make failures are not
reproducible for some weird reason.

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@748 595e1d82-adf1-4282-bac7-b6073fa2ca8e
In parallel_self_test.py always get the absolute path (less error prone)

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@749 595e1d82-adf1-4282-bac7-b6073fa2ca8e
In parallel self tests: add option to build but not run tests

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@750 595e1d82-adf1-4282-bac7-b6073fa2ca8e
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.

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@751 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Add a function to get the (unmangled) type name of an object as a string

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@752 595e1d82-adf1-4282-bac7-b6073fa2ca8e
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

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@753 595e1d82-adf1-4282-bac7-b6073fa2ca8e
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 .

git-svn-id: svn+ssh://maths1/home/svn-oomphlib/public/trunk@754 595e1d82-adf1-4282-bac7-b6073fa2ca8e