Hi all!

The attached patch is updating trilinos support in libMesh, so we can run 
with the latest trilinos (i.e. 10.6.4).

Since there were some changes in trilinos, I had to modify the configure 
and m4 scripts. The m4/aztecoo.m4 and m4/nox.m4 went away and there is a 
new one called m4/trilinos.m4. The reason for this is that trilinos is no 
longer supplying the Makefile.export.PACKAGE (which we checked for) and 
instead it provides Makefile.export.Trilinos. So the new m4 file is 
checking that. Moreover, there are two subsections in that m4, to see if 
trilinos was build either with AztecOO or NOX and based on that we set 
LIBMESH_HAVE_AZTECOO and/or LIBMESH_HAVE_NOX. The LIBMESH_HAVE_TRILINOS 
macro remained and is set when we find that export.Trilinos makefile.

By applying this patch, you should be able to run example 19 with no 
problems. Also, our test suit here at INL passes 91 out of 122 tests. Some 
are failing right now becuase they test some unique PETSc features. Big 
deal of them fails becuase of adaptivity - I currently do not have any 
idea why is that, but will work on that in very near future. The rest 
seems to be a numerical difference in the "gold" files.

I'm sending this patch out, so other people can try it and see how/if it 
works with their codes.

Last, but not least: how to build trilinos so you can use this patch (if 
you know how to build trilinos or have a working installation of it, you 
do not have to read this).

--- building trilinos ----
As the trilinos docs suggest, we will build in a separate directory than 
the sources are. From there, I do: ccmake where/my/trilinos/sources/are 
(that only works if your cmake is build with ncurses support). Note: you 
will need at least cmake 2.8 for this.

Hit c and let it finish. Then hit e.

Set CMAKE_INSTALL_PREFIX to wherever you want the package to go after we 
fire up 'make install'. We have to do it, since we are building in a 
separate place than the sources are.
Set Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES to OFF

Enable (i.e. hit Enter and type ON) the following items:
TPL_ENABLE_MPI (you need this even if you are going to run just in serial)
Trilinos_ENABLE_AztecOO
Trilinos_ENABLE_Epetra
Trilinos_ENABLE_EpetraExt
Trilinos_ENABLE_Ifpack
Trilinos_ENABLE_NOX

Hit c and wait, then hit e.
Hit c again and then e (again).
Now hit g to generate all makefiles.

You are back in your terminal. Type: make and wait.
Type: make install (possibly as root, based on the install prefix)
Now you should have a very lean trilinos build. Setup TRILINOS_DIR to 
point to the same location as your CMAKE_INSTALL_PREFIX (setup earlier) 
and you should be good to use libMesh with Trilinos.
----

Note on parallel runs. I was able to run ex19 with mpirun -np X and I saw 
some speedup, so I guess that parallel runs are ok, however there might be 
issues (I did not get to extensive parallel testing yet).

Since the m4 files changes, you need to run bootstrap script to get the 
right configure script - this patch is not modifying it. 

If you have questions/comment, let me know here.

Thanks,
--
David Andrs

Attachment: 0001-Adding-support-for-Trilinos-10.6.4.patch
Description: Binary data

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to