Matthias' check in of Philippe's final changes:

-- Added FSI elements for generalised Helmholtz and (non-generalised)
   time harmonic linear elasticity.

-- Added include guards in a few header files.

-- Added Julio's change to triangle's internal command line handling
   (there was a conflict during the update; Julio is yet to confirm 
   that the rectified version is the desired one -- the self-tests all pass).




git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@547 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Radu's commit -- generalised (pml-able) time harmonic linear
elasticity:

-- Added pml-ed generalised time-harmonic linear elasticity
   src, demo driver and documention. Works like a dream!

-- Tidied up the pml layer mesh generation by creating
   PMLElementBase class that forms the basis for the (increasing
   number of) elements that can be used with pml. Also moved
   the (now generic) pml mesh layer generation into src/generic.
   Used this functionality for generalised time-harmonic linear elasticity
   (for which it was developed) and for generalised Helmholtz. 
   Gen Fourier-decomposed version to be converted as soon as
   Matthew makes it available.

-- Fixed bug in computation of stresses in linear elasticity and
   its time-harmonic counterpart.

-- Fixed a few typos in documentation. 
   



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@548 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fix a stray semicolon and re-remove "current" configure options

Semicolon caused compile failure in paranoid mode.

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@549 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Set svn:ignore property on onfig/configure_options/current

The file should not be automatically added to commits by svn anymore,
hopefully...



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@550 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Tweaks to generalised time harmonic linear elasticity tutorial and
   associated driver code.

-- Change to driver code and validata to make computation of norm
   more robust. 



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@551 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Radu's commit. Various fixes to pml (and other!) machinery

-- Added new pure virtual fct values_to_be_pinned_on_outer_pml_boundary(...)
   to PMLElementBase class. Has to do what it says. Implemented for
   gen. Helmholtz and time-harmonic lin elast.
    
-- Little tweaks to documentation of gen time-harmonic lin elast.

-- Fixed a (ancient!) bug in rectangular quad mesh -- the nodes on the
   right hand side of the top-right corner element weren't added to
   the rightmost boundary if there was just a single column of
   elements (nx=1). Now works like a dream!



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@552 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Change of the default of the PML strength parameter for generalised 
time-harmonic linear elasiticity to 1.0.

-- Adaptation of validata


git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@553 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Anton's check-in of paraview output.

-- New function 

           Mesh::output_paraview(...) 

   which outputs data (via the elements) in paraview vtu format. The elements'
   functions are broken virtual and ought to be implemented
   when needed. We've done a few (Navier-Stokes, axisymmetric 
   Navier-Stokes, Poisson, ...). 

-- also provide the option to write a pvd file (wrapper for
   multiple vtu files, with time information to facilitate
   animations in paraview) with 

     Mesh::write_pvd_header(...)
     Mesh::write_pvd_information(...)
     Mesh::write_pvd_footer(...)

   Usage demonstrated in

    demo_drivers/axisym_navier_stokes/rayleigh_instability/rayleigh_instability.cc

-- Const-ified FiniteElement::get_s_plot(...) functions.


git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@554 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Fixes to paraview output machinery, gives me a chance to list
   the three functions that need to be implemented for any elements
   that are supposed to be output by it (and that need to be
   overloaded in multi-physics elements whose constituents provide
   independent (re-)implementations of these functions). You need:

   /// \short Number of scalars/fields output by this element.
   unsigned nscalar_paraview() const;

   /// \short Write values of the i-th scalar field at the plot points. 
   void scalar_value_paraview(std::ofstream& file_out,
                              const unsigned& i,
                              const unsigned& nplot) const;

   /// \short Name of the i-th scalar field. 
   std::string scalar_name_paraview(const unsigned& i) const;


-- Moved pvd file helper functions into separate namespace (rather
   than Mesh class) Call:

     ParaviewHelper::write_pvd_header(...)
     ParaviewHelper::write_pvd_information(...)
     ParaviewHelper::write_pvd_footer(...)


-- Added pml/dtn option to 
      demo_drivers/fourier_decomposed_helmholtz/sphere_scattering/unstructured_sphere_scattering.cc


-- Adjusted validata for unstructured paraview test cases ('cos adding
   that data to the validata is just as pointless as for the tecplot
   equivalent -- the mesh may change!)

-- Const-ified various traction related functions in axisymmetric
   Navier-Stokes.

-- Created fsi version of axisymmetric fvk.

-- Added option to pass timestepper to PML mesh generators
   (doesn't make much sense for the time-harmonic elements that they
   were originally written for, of course, but the machinery is
   useful in other contexts too.).






git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@555 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fixed a few typos in comments 
Added tecplot_header information to output functions for InterfaceElements
Provided documentation for hijacking data and a simple eigenproblem that 
explains the overall framework.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@556 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Anton's final check in before the start of term (he'll be back (we
hope!))

-- Added displacement based axisymmetric Foeppl von Karman
   and associated demo driver code.

-- changed paraview output to use uppercase E in scientific 
   notation of floating point numbers.   



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@557 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Added Matthew Walker's pml-ified/generalised azimuthally Fourier-decomposed
   Helmholtz equations and documentation.

-- Updated the list of contributors to include the 2013 people.

-- Added new tutorials to example code list.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@558 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Added src/driver code for axisymmetric poro-elasticity and 
   some run scripts.

-- Added src/driver code (and various associated run scripts and
   post-processing tools -- this is still work in progress) for
   poro-elastic version of linearised fsi pulse wave.

-- Implemented complete assignment of history values
   on boundaries for linear wave and axisymmetric linear elasticity

   In the process changed the output fcts which now includes first 
   and second time derivs. 

   NOTE: 

     timestepper_pt->assign_initial_data_values(...)

   etc should now really be renamed to
   assign_history_data_values(...), say, since it can also (and 
   should always have been) used to assign history values for
   time-varying boundary conditions.

-- Assignment of initial/history values can now handle cases when
   function pointers are provided for fewer than the number of
   data values (only the first ones are then used) or if 
   some (any) are nulled out. This is useful if history values are
   to be assigned only for a subset of fields.

-- Provided the option to degrade bdf2 to bdf1 behaviour.

-- A few tidies for cartesian Darcy elements.

-- Added src (but not driver code -- needs to much work right now;
   need to discuss with Matthew when he gets back) for cartesian poroelasticity.

-- Now actually added the documentation for Matthew Walker's
   generalised Fourier decomposed Helmholtz elements...

-- Removed various namespace-polluting statements (std and oomph).



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@559 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Fixed array over-run in linear wave equations and removed
accidentally checked in Makefile from doc.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@560 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Further fixes: std:: in front of various things and switched on
flag that suppresses warning about un-assigned history values
in axisym poro-elasticity.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@561 595e1d82-adf1-4282-bac7-b6073fa2ca8e
A few more std:: fixes from Matthew.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@562 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Block Preconditioner documentation and updated lgr preconditioner.

.gitignore
Added all the .pdf files generated.

Added / modified the following files for the new block_preconditioners
documentation:
  config/configure.ac_scripts/doc.dir_list
  doc/mpi/Makefile.am
  doc/mpi/block_preconditioners/Doxyfile
  doc/mpi/block_preconditioners/Makefile.am
  doc/mpi/block_preconditioners/block_preconditioners.txt

src/navier_stokes/lagrange_enforced_flow_preconditioner.h
Updated some outputting matrices and rhs. Now works properly with the
new output functions for CRDoubleMatrices and DoubleVectors

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@563 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Getting ready for re-writing the BlockPreconditioner::ndof_types(...) functionality.

===============================================================================

File: demo_drivers/linear_solvers/simple_block_preconditioners.h
File: demo_drivers/linear_solvers/two_d_linear_elasticity_with_simple_block_diagonal_preconditioner.cc

Comment: Added comments and "hooks" for Doxygen. Cleaned up the code.

===============================================================================

File: doc/mpi/block_preconditioners/Doxyfile
File: doc/mpi/block_preconditioners/block_preconditioners.txt

Comment: Updated documentation for the Block Preconditioning Framework.
Note: This is not complete. I stopped doing this at Matthias' request.
The full documentation is now in a separate latex file.

===============================================================================

File: src/generic/block_preconditioner.cc
File: src/generic/block_preconditioner.h

Comment: Getting things ready for the ndof_type re-write.

===============================================================================

File: src/navier_stokes/lagrange_enforced_flow_preconditioner.h

Comment: Commented out some unused variables.

===============================================================================

File: src/navier_stokes/navier_stokes_preconditioners.cc
File: src/navier_stokes/navier_stokes_preconditioners.h

Comment: Re-writing the code for turning block preconditioners into subsidiary
preconditioners (where ndof_types(true) is used).

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@564 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Modified matrices, block preconditioning framework, LSC preconditioner and
augmented lagrangian preconditioner.

modified:   src/navier_stokes/lagrange_enforced_flow_preconditioner.h
 Include code to either use sigma = norm of whole momentum block, just u
 direction or the maximum gershgorin disc.

modified:   src/generic/matrices.cc
modified:   src/generic/matrices.h
 Added new function "gershgorin_eigenvalue_estimate(...)"

modified:   src/generic/block_preconditioner.cc
modified:   src/generic/block_preconditioner.h
 Modified the precomputed preconditioner blocks functionality.
 Now set_precomputed_blocks(...) takes a vector of vectors which
 indicates which dof type belongs together. For example, say we use
 the Navier-Stokes LSC preconditioner as a subsidiary preconditioner in
 the augmented_lagrangian_preconditioner. The augmented Lagrangian
 preconditioner requires the following dof type splitting (in 2D with one
 constraint):
 0 1  2 3  4 5
 u uc v vc p L

 We call the  set_precomputed_blocks(...) function with the vector:
 [0 1]
 [2 3]
 [4]

 The LSC preconditioner requires the dof type splitting u v p. Thus,
 calling get_block(0,0,*block_pt) will actually concatenate blocks
 (0,0), (0,1), (1,0), and (1,1).

modified:   src/navier_stokes/navier_stokes_preconditioners.cc
 Added some debugging information. This is to be taken out.

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@565 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Massive fix of all the doxygen problems that have accumulated
over the years.

-- Remade lots of apparently broken gif/eps files.

-- Fixed latex errors

-- Removed any "\n" from doxygen-type comments in source files
   since this tended to break doxygen.

-- bypassed complicated html-based constructs that were difficult
   (or pointless) to replictate in latex, e.g. huge tables)

-- Added various files that were regularly dropped during make dist
   to the EXTRA_DIST and deleted others from repository.

-- Killed old superlu sources but included additional files that
   aren't currently built (e.g. single precision versions) to the
   EXTRA_DIST

-- Tweaked some fpdiff tolerances.



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