modified:   src/generic/block_preconditioner.cc
modified:   src/generic/block_preconditioner.h
modified:   src/navier_stokes/navier_stokes_preconditioners.cc

Details:

1) Renamed functions:
block_number(...) to internal_block_number(...)
index_in_block(...) to internal_index_in_block(...)
external_block_number(...) to block_number(...)
external_index_in_block(...) to index_in_block(...)

2) Updated comments for the above functions.

3) Moved functions from public to private:
internal_block_number(...)
internal_index_in_block(...)

4) in navier_stokes_preconditioners.cc, changed
external_block_number(...) to block_number(...) and
external_index_in_block(...) to index_in_block(...).

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@692 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified: src/generic/block_preconditioner.h

1) Moved from public to private:
internal_block_distribution_pt(...)

2) Finished commenting:

  const LinearAlgebraDistribution*
  block_distribution_pt(const unsigned& b) const

  LinearAlgebraDistribution*
  block_distribution_pt(const unsigned& b)

  LinearAlgebraDistribution*
  dof_block_distribution_pt(const unsigned& b)

  unsigned ndof_types_in_mesh(const unsigned& i) const

3) Cleaned up function:
  void clear_block_preconditioner_base()

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@693 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified: src/generic/block_preconditioner.h and .cc

1) Renamed:
internal_ndof_types_in(...) to nfine_grain_dof_types_in(...)

2) Finished commenting:
  Vector<Vector<unsigned> > doftype_coarsen_map_fine() const
  Vector<unsigned> get_fine_grain_dof_types_in(const unsigned& i) const
  unsigned nfine_grain_dof_types_in(const unsigned& i) const

3) Moved to private:

  void internal_get_block_vectors(...) const;

  void internal_return_block_vectors(...) const;

4) Moved to protected:
  void set_replacement_dof_block(...)

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@694 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified: src/generic/block_preconditioner.h

Finished commenting setup_matrix_vector_product(...) functions

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@695 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified src/generic/block_preconditioner.h

Finished commenting:

  void internal_return_block_vector(const unsigned& n,
                           const DoubleVector& b,
                           DoubleVector& v) const;

  void internal_get_block_vector(
    const unsigned& n, const DoubleVector& v, DoubleVector& b) const;

  void internal_get_block_vectors(
      const Vector<unsigned>& block_vec_number,
      const DoubleVector& v, Vector<DoubleVector >& s) const;

  void internal_get_block_vectors(
      const DoubleVector& v, Vector<DoubleVector >& s) const;

  void internal_return_block_vectors(
      const Vector<unsigned>& block_vec_number,
      const Vector<DoubleVector >& s, DoubleVector& v) const;

  void internal_return_block_vectors(
      const Vector<DoubleVector >& s, DoubleVector& v) const;

  void internal_get_block(const unsigned& i, const unsigned& j,
                                      MATRIX& output_block) const;

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@696 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified: src/generic/block_preconditioner.h and .cc

Renamed functions:
dof_number(...) to internal_dof_number(...)
index_in_dof(...) to internal_index_in_dof(...)
block_dimension(...) to internal_block_dimension(...)
dof_block_dimension(...) to internal_dof_block_dimension(...)
master_dof_number(...) to internal_master_dof_number(...)

and added paranoid tests.

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@697 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified: src/generic/block_preconditioner.h

Finished commenting:
  const LinearAlgebraDistribution*
  internal_preconditioner_matrix_distribution_pt() const

  const LinearAlgebraDistribution*
  preconditioner_matrix_distribution_pt() const

  MapMatrix<unsigned,CRDoubleMatrix*> Replacement_dof_block_pt;

  Vector<LinearAlgebraDistribution*> Block_distribution_pt;

  Vector<Vector<unsigned> > Block_to_dof_map_coarse;

  Vector<Vector<unsigned> > Block_to_dof_map_fine;

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@698 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified:   src/generic/block_preconditioner.h and .cc

Synchronised comments between header and cc files.

Fixed bug in internal_return_block_vectors(...) where I forgot to
call the other function...

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@699 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified:   src/generic/block_preconditioner.cc

Clean up: deleted a lot of commented out code, generally used for
debugging when I was re-writing the whole framework.

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@700 595e1d82-adf1-4282-bac7-b6073fa2ca8e
modified:   src/generic/block_preconditioner.cc

Renamed a few function variables to get rid of all references to
"precomputed"-ness. This has been split up into replacing dof-blocks and
coarsening dof types (see the many previous commits for incremental
details...).

git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@701 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Small changes to demo drivers to remove compiler warnings

Renamed Problem::dof_pt() to Problem::global_dof_pt() to make explicit that
it returns a pointer to the dof index by the GLOBAL equation number

Modified the HSL frontal solver wrapper so that it issues and error if you 
try to run the solver in parallel.

Fixed a quoting problem in Makefile.am of the build machinary for MUMPS

Tweaked a tolerance in the heat_transfer_and_melting directory



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@702 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Added flag that allows "gap" between axisym poro-elastic solid
and adjacent FSI element (i.e. ignores the test that they
match in paranoid mode). Needed for "hybrid" geometrically linear/nonlinear
computations where the fluid mesh moves even though it's
a small displacement problem that's described by geometrically
linear elasticity.

Done via publically modifiable boolean

  Allow_gap_in_FSI

(which defaults to false) in namespace

  AxisymmetricPoroelasticityTractionElementHelper




git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@703 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Tidied up a few warnings in mumps solver and added 

ElementWithExternalElement::output_external_elements(...)

which draws vector from integration point in element to
corresponding point in external element and 

FaceElement::output_zeta(...)

which does what it says.



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



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@705 595e1d82-adf1-4282-bac7-b6073fa2ca8e
-- Reduced default number of iterative solver iterations to 100
   to avoid awkward problem when aztec runs out of memory because
   of large workspace requirements (doesn't die gracefully at all!).
   Needed to re-set max iter manually in 
   demo_drivers/linear_solvers/adv_diff_iterative_linear_solver_tester.cc
   which tests some rubbish solvers.

-- Made self-test for matrix matrix multiply in 

      self_test/matrix_matrix_multiply/

   functional. For some reason results were never checked.




git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@706 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Modification to eigen solver to issue a warning if the number of Arnoldi vectors
in ARPACK is smaller than the number of requested eigenvectors.



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

 -- Changed role of the 

        FiniteElement::size()
  
    function (now non-virtual) to ALWAYS compute the
    size of the element in Eulerian computational coordinates,
    e.g. the size (area) of a 2D element in the r-z plane of the
    the computational domain -- no Jacobian factors (or factors of 2\pi
    etc.) are taken into account. To compute the ACTUAL size of
    the element the new (broken virtual) function 

       FiniteElement::compute_physical_size()

    should be overloaded in specific equation classes -- only they
    know what actual physical dimension they're to be solved in 
    what we're supposed to mean by "size". Currently implemented for
    axisymmetric Navier Stokes, where we compute 2\pi \int r dr dz,
    i.e. the actual 3D volume of the annular region defined by the 
    element. Renamed corresponding implementation
    of this function in axisymmetric spherical solid elements
    where this functionality was implemented by overloading 
    FiniteElement::size(). No other demo driver/src files appear to 
    have provided other overloaded implementations.




git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@708 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Updated the max. number of gmres iterations in pseudo_solid_collapsible
tube code (following the recent reduction in the default of 1000
(which caused problems in aztec) to 100 -- not enough here).



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@709 595e1d82-adf1-4282-bac7-b6073fa2ca8e
Moved all function definitions into .cc files in src/generic so that multiple compilation units
that include generic.h can be linked together. Also removed using namespace
pollution using namespace oomph from certain header files!

Tweaked validation tolerances in matrix_matrix_multiply_validation.



git-svn-id: svn+ssh://vummath.ma.man.ac.uk/home/svn-oomphlib/public/trunk@710 595e1d82-adf1-4282-bac7-b6073fa2ca8e
This is a check-in to ensure that the new complex_harmonic eigenproblem is
included. The demo includes complex eigenvalues and eigenvectors and is 
even documented as well (although this may need some revision/improvement).

Also coming in are modifications to the boundary conditions in
the multi_domain_boussinesq_convection demo so that it will work with 
either TaylorHood or CrouzeixRaviart Elements without other changes.

The changes to src/generic and the brethreton.cc demo results from the 
inclusion of an option to create and store vectors of pointers to dofs within
each element. This is not normally required, but is needed in the revised 
formulation of continuation/bifurcation tracking problems. 
This is still "work in progress". 

However, it has lead to an INTERFACE CHANGE:

 All functions that assign LOCAL equation numbers now take a boolean flag 
that determines whether the pointers to LOCAL dofs should be stored within 
the element. If this affects you at all it will be because you need to change
assign_local_eqn_numbers() to include the boolean option in your custom 
elements. This change was required in the bretherton.cc demo_driver, so look 
into that one if you are unsure.





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