From: maier Date: Sun, 18 Nov 2012 21:37:59 +0000 (+0000) Subject: Some cleanup for PETSc and Trilinos documentation X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3bb0db641158602d13afb93fe26354f263fcb6f1;p=dealii-svn.git Some cleanup for PETSc and Trilinos documentation git-svn-id: https://svn.dealii.org/branches/branch_cmake@27569 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/external-libs/arpack.html b/deal.II/doc/external-libs/arpack.html index 42d6f899a8..ef6593db09 100644 --- a/deal.II/doc/external-libs/arpack.html +++ b/deal.II/doc/external-libs/arpack.html @@ -100,5 +100,11 @@ -DDEAL_II_WITH_ARPACK=OFF|ON .

+ +
+
+ The deal.II Group + $Date$ +
diff --git a/deal.II/doc/external-libs/hdf5.html b/deal.II/doc/external-libs/hdf5.html deleted file mode 100644 index 61217db66a..0000000000 --- a/deal.II/doc/external-libs/hdf5.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - The deal.II Readme on interfacing to HDF5 - - - - - - - - - - -

Using and Installing HDF5

-

HDF5 - is a library for high-performance parallel data output. Deal.II can use it to write - graphical solutions. They can be displayed using paraview for example. -

- -

- This is how you can download, configure, and build hdf5: - -

-wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.9.tar.gz
-tar xf hdf5-1.8.9.tar.gz
-cd hdf5-1.8.9/
-./configure --prefix=`pwd`/build/ -enable-parallel
-make install
-    
- - - You will end up with a script called h5pcc (or h5cc if you - decided to not build the parallel version) in the build/bin directory. - -

Interfacing deal.II - to HDF5

- -

To be able to use the interface of deal.II - for HDF5 we then - configure deal.II with the following - additional option: - --with-hdf5=path/to/hdf5/build/bin/h5pcc -

- - diff --git a/deal.II/doc/external-libs/mumps.html b/deal.II/doc/external-libs/mumps.html index 1c9e2ebd1d..af11f22bcb 100644 --- a/deal.II/doc/external-libs/mumps.html +++ b/deal.II/doc/external-libs/mumps.html @@ -344,5 +344,10 @@ but this time omitting the -fPIC flag from the scheme.

+
+
+ The deal.II Group + $Date$ +
diff --git a/deal.II/doc/external-libs/p4est.html b/deal.II/doc/external-libs/p4est.html index d6ccafac98..6f24b8d7d8 100644 --- a/deal.II/doc/external-libs/p4est.html +++ b/deal.II/doc/external-libs/p4est.html @@ -40,23 +40,23 @@

- After this, you need to configure and build deal.II using a line - like + After this, you need to configure deal.II + using a line like

-	  ./configure --with-p4est=/path/to/installation --enable-mpi
-	  make all
+
+    cmake -DP4EST_DIR=/path/to/installation -DDEAL_II_WITH_P4EST=ON -DDEAL_II_WITH_MPI=ON <...>
 	
- Obviously, you can also add additional flags - to ./configure as described in the - general ReadMe file. + Obviously, you can also add additional flags to + cmake as described in the general ReadMe file.


-
The deal.II Group + $Date$
diff --git a/deal.II/doc/readme-petsc-trilinos.html b/deal.II/doc/external-libs/petsc-trilinos.html similarity index 57% rename from deal.II/doc/readme-petsc-trilinos.html rename to deal.II/doc/external-libs/petsc-trilinos.html index 6659b28a21..f115115854 100644 --- a/deal.II/doc/readme-petsc-trilinos.html +++ b/deal.II/doc/external-libs/petsc-trilinos.html @@ -3,7 +3,7 @@ The deal.II Readme on interfacing to PETSc and Trilinos - + @@ -13,15 +13,14 @@ -

Interfacing deal.II to PETSc and Trilinos

About PETSc, Trilinos, and the deal.II interfaces

- deal.II can interface to the PETSc and + deal.II can interface to the + PETSc and Trilinos software libraries. Both of these libraries provide lots of functions for linear algebra, among other things, for example implementations of a variety of @@ -67,16 +66,16 @@

- Alternatively, the --with-petsc=DIR and - --with-petsc-arch=ARCH switches to - ./configure can be used to override the values - of PETSC_DIR and PETSC_ARCH or if - these environment variables are not set at all. If you do have a - PETSc installation and have set the PETSC_DIR and + Alternatively, the -DPETSC_DIR=DIR and + -DPETSC_ARCH=ARCH options for cmake + can be used to override the values of PETSC_DIR + and PETSC_ARCH or if these environment + variables are not set at all. If you do have a PETSc + installation and have set the PETSC_DIR and PETSC_ARCH environment variables but do not wish deal.II to be configured for PETSc use, you - should specify --with-petsc=no as a flag during - configuration. + should specify -DDEAL_II_WITH_PETSC=OFF as a flag + during configuration.

@@ -85,8 +84,8 @@ compiled in its usual mode supporting multithreading. If you see this sort of behavior, we recommend to try disabling multithreading upon configuration of deal.II - using the - --disable-threads switch to ./configure. + using the -DDEAL_II_WITH_THREADS=OFF switch for + cmake.

@@ -111,7 +110,7 @@ difficult to understand error messages at compile or link time are almost inevitable, and there is little the deal.II build system can do to prevent this. Thus, don't try to do such a - thing! + thing!

@@ -120,13 +119,9 @@

As above, set the TRILINOS_DIR environment variable to the path to an existing Trilinos installation, - or use the --with-trilinos=/path/to/trilinos switch of - the deal.II ./configure script. It should point to the path - of which the include and lib directories are subdirs. The Trilinos - installation needs to provide the same kind of libraries that - deal.II is configured for, i.e. if you want deal.II - to use shared libraries, then Trilinos needs to use shared libraries as - well. + or use the -DTRILINOS_DIR=/path/to/trilinos switch of + the deal.II cmake script. It should point to the path + of which the include and lib directories are subdirs.

@@ -146,30 +141,30 @@

Trilinos uses cmake to configure and - build. This is a bit cumbersome because you have to enter - the following slightly longish set of commands: + build. The following slightly longish set of commands will set up a + reasonable configuration:

-	  cd trilinos-10.4.2
-	  mkdir build
-	  cd build
-
-	  cmake -D Trilinos_ENABLE_OPTIONAL_PACKAGES:BOOL=ON \
-	  -D Trilinos_ENABLE_Sacado:BOOL=ON \
-	  -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
-	  -D CMAKE_BUILD_TYPE:STRING=RELEASE \
-	  -D CMAKE_CXX_FLAGS:STRING="-g -O3" \
-	  -D CMAKE_C_FLAGS:STRING="-g -O3" \
-	  -D CMAKE_FORTRAN_FLAGS:STRING="-g -O5" \
-	  -D Trilinos_EXTRA_LINK_FLAGS:STRING="-lgfortran" \
-	  -D CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE \
-	  -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \
-	  -D TPL_ENABLE_MPI:BOOL=OFF \
-	  -D CMAKE_INSTALL_PREFIX:PATH=/w/bangerth/share/x86_64/trilinos-10.4.2 \
-	  -D BUILD_SHARED_LIBS:BOOL=ON `pwd`/..
-
-	  make
-	  make install
+    cd trilinos-10.4.2
+    mkdir build
+    cd build
+
+    cmake -D Trilinos_ENABLE_OPTIONAL_PACKAGES:BOOL=ON \
+      -D Trilinos_ENABLE_Sacado:BOOL=ON \
+      -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
+      -D CMAKE_BUILD_TYPE:STRING=RELEASE \
+      -D CMAKE_CXX_FLAGS:STRING="-g -O3" \
+      -D CMAKE_C_FLAGS:STRING="-g -O3" \
+      -D CMAKE_FORTRAN_FLAGS:STRING="-g -O5" \
+      -D Trilinos_EXTRA_LINK_FLAGS:STRING="-lgfortran" \
+      -D CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE \
+      -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \
+      -D TPL_ENABLE_MPI:BOOL=OFF \
+      -D CMAKE_INSTALL_PREFIX:PATH=/w/bangerth/share/x86_64/trilinos-10.4.2 \
+      -D BUILD_SHARED_LIBS:BOOL=ON ..
+
+    make
+    make install
 	
Again, the path into which you want to install Trilinos in the second to @@ -192,73 +187,29 @@ following flags to the call above:
-	  -D BLAS_LIBRARY_NAMES:STRING=goto \
-	  -D BLAS_LIBRARY_DIRS:STRING=/apps/GotoBLAS/lib64 \
-	  -D LAPACK_LIBRARY_NAMES:STRING=lapack \
-	  -D LAPACK_LIBRARY_DIRS:STRING=/apps/lapack-3.2.1/lib64
+
+    -D BLAS_LIBRARY_NAMES:STRING=goto \
+    -D BLAS_LIBRARY_DIRS:STRING=/apps/GotoBLAS/lib64 \
+    -D LAPACK_LIBRARY_NAMES:STRING=lapack \
+    -D LAPACK_LIBRARY_DIRS:STRING=/apps/lapack-3.2.1/lib64
 	

-

- If the deal configuration complains about -

-	  configure: error: *** Your Trilinos installation is not compatible with the C++ standard selected for this compiler. See the deal.II FAQ page for a solution. ***
-      
- you have encountered a bug in Trilinos. As a workaround, - include/Sacado_cmath.hpp has to be edited (see the FAQ entry for details). -

- -

Configuring for installed Trilinos packages

- The above scheme works if Trilinos is installed in its own directory - and header and library files are in subdirectories of the directory - given to --with-trilinos. This scheme doesn't work, - however, if Trilinos has been installed as a regular package on a - system, for example into the /usr or /opt - directories. -

- -

- In that case, paths to include and library files may be specified - separately using the --with-trilinos-include - and --with-trilinos-libs switches - to ./configure. Alternatively, this information can also - be passed to the configuration script by setting the environment - variables TRILINOS_INCDIR, TRILINOS_LIBDIR. -

+ A system wide installation Support for Trilinos will be enabled + automatically if a system wide installation of Trilinos can + be found. If the Trilinos installation does not reside under a + default system location provide TRILINOS_DIR in the same fashion as + for the self compiled case: +
 
-    

Dealing with other Trilinos packages

- -

- In the commands configuring Trilinos shown above, we have assumed a - particular subset of Trilinos libraries that deal.II interfaces - with. However, Trilinos has many more packages that deal.II doesn't - use, and you can add many more -D - Trilinos_ENABLE_XXX:BOOL=ON flags for - package XXX. Most of the time, no harm is done by doing - so, but there are cases where some of the packages deal.II does - interact with also interacts with package XXX if the - latter was enabled in Trilinos. One example is that Trilinos' ML - package (which we use) uses Trilinos' Zoltan package if Zoltan is - enable, but not if Zoltan is not enabled. That means that - the libml.so library may or may not depend on - a libzoltan.so library. + -DTRILINOS_DIR=/path/to/trilinos +

-

- Unfortunately, Trilinos' configuration framework does not record this - in libml.so, and it is also something that is difficult - for the deal.II configuration framework to find out after the - fact. Consequently, deal.II's Makefiles rely on the fact - that only the Trilinos packages listed above were enabled. If - that isn't the case, you may get linker warnings. The only way to - solve this problem is to add the additional Trilinos libraries at the - appropriate place in the list of DEAL_II_TRILINOS_LIBS - libraries in common/Make.global_options by hand. -


diff --git a/deal.II/doc/readme.html b/deal.II/doc/readme.html index 173a20c056..a9076f26b9 100644 --- a/deal.II/doc/readme.html +++ b/deal.II/doc/readme.html @@ -520,9 +520,6 @@ to install a develpment version of the library). To use a self compiled version, specify -DHDF5_DIR=/path/to/hdf5 on the command line. - For a detailed description on how to compile HDF5 and - linking with deal.II, see this page.

@@ -622,7 +619,7 @@ To disable the PETSc interfaces in cases where cmake automatically finds it, use -DDEAL_II_WITH_PETSC=OFF More information on configuring and building PETSC can be - found here. + found here.

@@ -676,11 +673,11 @@

- To disable the Trilinos interfaces in cases where cmake - automatically finds it, use -DDEAL_II_WITH_TRILINOS=OFF - More details about compatibility and - configuration can be found here. + To disable the Trilinos interfaces in cases where + cmake automatically finds it, use + -DDEAL_II_WITH_TRILINOS=OFF More details about + compatibility and configuration can be found + here.