From 3275df6fc3d2dc3c42a117df020cd2d709044a82 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Sat, 18 Nov 2017 14:02:42 +0100 Subject: [PATCH] Bump required Trilinos version to 12.4 --- cmake/configure/configure_2_trilinos.cmake | 33 +++---------------- cmake/modules/FindTRILINOS.cmake | 3 +- doc/external-libs/trilinos.html | 31 +++++++++-------- .../incompatibilities/20171118DanielArndt | 3 ++ tests/rol/vector_adaptor_02.output.12.4.2 | 21 ++++++++++++ 5 files changed, 46 insertions(+), 45 deletions(-) create mode 100644 doc/news/changes/incompatibilities/20171118DanielArndt create mode 100644 tests/rol/vector_adaptor_02.output.12.4.2 diff --git a/cmake/configure/configure_2_trilinos.cmake b/cmake/configure/configure_2_trilinos.cmake index 1410ebd4d7..428e40eb4c 100644 --- a/cmake/configure/configure_2_trilinos.cmake +++ b/cmake/configure/configure_2_trilinos.cmake @@ -42,7 +42,7 @@ MACRO(FEATURE_TRILINOS_FIND_EXTERNAL var) ) FOREACH(_module - Amesos Epetra Ifpack AztecOO Sacado Teuchos ML + Amesos Epetra Ifpack AztecOO Sacado Teuchos ML MueLu ) ITEM_MATCHES(_module_found ${_module} ${Trilinos_PACKAGE_LIST}) IF(_module_found) @@ -66,29 +66,6 @@ MACRO(FEATURE_TRILINOS_FIND_EXTERNAL var) ENDIF() ENDFOREACH() - IF(${DEAL_II_TRILINOS_WITH_ROL}) - IF(TRILINOS_VERSION VERSION_LESS 12.6.1) - MESSAGE(STATUS "ROL interface is disabled." - "deal.II will not support ROL interface if Trilinos version is less " - "than 12.6.1. Trilinos version found: \"${TRILINOS_VERSION}\".") - SET(DEAL_II_TRILINOS_WITH_ROL OFF) - ENDIF() - ENDIF() - - IF((TRILINOS_VERSION_MAJOR EQUAL 11 AND - NOT (TRILINOS_VERSION_MINOR LESS 14)) - OR - (NOT (TRILINOS_VERSION_MAJOR LESS 12))) - ITEM_MATCHES(_module_found MueLu ${Trilinos_PACKAGE_LIST}) - IF(_module_found) - MESSAGE(STATUS "Found MueLu") - ELSE() - MESSAGE(STATUS "Module MueLu not found!") - SET(_modules_missing "${_modules_missing} MueLu") - SET(${var} FALSE) - ENDIF() - ENDIF() - IF(NOT ${var}) MESSAGE(STATUS "Could not find a sufficient Trilinos installation: " "Missing ${_modules_missing}" @@ -102,18 +79,18 @@ MACRO(FEATURE_TRILINOS_FIND_EXTERNAL var) ENDIF() # - # We require at least Trilinos 11.2 + # We require at least Trilinos 12.4 # - IF(TRILINOS_VERSION VERSION_LESS 11.2) + IF(TRILINOS_VERSION VERSION_LESS 12.4) MESSAGE(STATUS "Could not find a sufficient Trilinos installation: " - "deal.II requires at least version 11.2, but version ${TRILINOS_VERSION} was found." + "deal.II requires at least version 12.4, but version ${TRILINOS_VERSION} was found." ) SET(TRILINOS_ADDITIONAL_ERROR_STRING ${TRILINOS_ADDITIONAL_ERROR_STRING} "The Trilinos installation (found at \"${TRILINOS_DIR}\")\n" "with version ${TRILINOS_VERSION} is too old.\n" - "deal.II requires at least version 11.2.\n\n" + "deal.II requires at least version 12.4.\n\n" ) SET(${var} FALSE) ENDIF() diff --git a/cmake/modules/FindTRILINOS.cmake b/cmake/modules/FindTRILINOS.cmake index 3919f6ef33..b291050a00 100644 --- a/cmake/modules/FindTRILINOS.cmake +++ b/cmake/modules/FindTRILINOS.cmake @@ -29,6 +29,7 @@ # TRILINOS_WITH_MPI # TRILINOS_SUPPORTS_CPP11 # TRILINOS_HAS_C99_TR1_WORKAROUND +# TRILINOS_CXX_SUPPORTS_SACADO_COMPLEX_RAD # SET(TRILINOS_DIR "" CACHE PATH "An optional hint to a Trilinos installation") @@ -126,7 +127,7 @@ SET(TRILINOS_WITH_MANDATORY_CXX11 FALSE) IF(EXISTS ${SACADO_CONFIG_H}) # # Determine whether Trilinos was configured with C++11 support and - # enabling C++11 in deal.II is mandatory (Trilinos 12.0.1 and later). + # enabling C++11 in deal.II is mandatory. # FILE(STRINGS "${SACADO_CONFIG_H}" SACADO_CXX11_STRING REGEX "#define HAVE_SACADO_CXX11") diff --git a/doc/external-libs/trilinos.html b/doc/external-libs/trilinos.html index ab09eeb784..e48a61a8ac 100644 --- a/doc/external-libs/trilinos.html +++ b/doc/external-libs/trilinos.html @@ -15,18 +15,18 @@

Trilinos is a software package that provides lots of functionality for linear - algebra, among other things. For example, it includes implementations of a variety of - linear solvers, as well as various different sparse and dense matrix and - vector formats. Trilinos also has many subpackages that deal with - problems that go far beyond linear algebra, for example nonlinear + algebra, among other things. For example, it includes implementations of + a variety of linear solvers, as well as various different sparse and dense + matrix and vector formats. Trilinos also has many subpackages that deal + with problems that go far beyond linear algebra, for example nonlinear solvers, automatic differentiation packages, uncertainty propagation engines, etc. Of particular interest to deal.II is their ability to provide this functionality both on sequential and parallel (using MPI) - computers. Compared to PETSc, which is written in C, Trilinos is written in - C++ and can be - considered to be a more modern version of PETSc though both packages are - under continuing development at their respective national laboratories. + computers. + Compared to PETSc, + which is written in C, Trilinos is written in C++ and can be considered to + be a more modern version of PETSc though both packages are under + continuing development at their respective national laboratories.

@@ -49,29 +49,28 @@

Installing Trilinos

- Note: The current version of deal.II requires at least Trilinos 11.2. - Deal.II is known to work with Trilinos up to 11.14 and 12.4. Others versions of + Note: The current version of deal.II requires at least Trilinos 12.4. + Deal.II is known to work with Trilinos up to 12.12. Other versions of Trilinos should work too but we do not do regression tests with them.

- deal.II uses the following libraries from Trilinos and will fail to - compile with Trilinos if they are not present: + deal.II uses the following libraries from Trilinos:

Trilinos uses cmake to configure and build. The following slightly longish set of commands will set up a - reasonable configuration (we require MueLu starting from 12.0): + reasonable configuration:
 
     cd trilinos-12.4.2
diff --git a/doc/news/changes/incompatibilities/20171118DanielArndt b/doc/news/changes/incompatibilities/20171118DanielArndt
new file mode 100644
index 0000000000..f586004f43
--- /dev/null
+++ b/doc/news/changes/incompatibilities/20171118DanielArndt
@@ -0,0 +1,3 @@
+Changed: The minimal supported Trilinos version is 12.4.
+
+(Daniel Arndt, 2017/11/18) diff --git a/tests/rol/vector_adaptor_02.output.12.4.2 b/tests/rol/vector_adaptor_02.output.12.4.2 new file mode 100644 index 0000000000..2ae8dae7a4 --- /dev/null +++ b/tests/rol/vector_adaptor_02.output.12.4.2 @@ -0,0 +1,21 @@ + +Quasi-Newton Method with Cubic Interpolation Linesearch satisfying Strong Wolfe Conditions +Secant Type: Limited-Memory BFGS + iter value gnorm snorm #fval #grad ls_#fval ls_#grad + 0 1.040000e+02 2.039608e+01 + 1 0.000000e+00 0.000000e+00 1.019804e+01 3 2 2 0 +The solution to minimization problem is: 0 0 + +Quasi-Newton Method with Cubic Interpolation Linesearch satisfying Strong Wolfe Conditions +Secant Type: Limited-Memory BFGS + iter value gnorm snorm #fval #grad ls_#fval ls_#grad + 0 2.000000e-02 2.828427e-01 + 1 0.000000e+00 0.000000e+00 1.414214e-01 3 2 2 0 +The solution to minimization problem is: 0 0 + +Quasi-Newton Method with Cubic Interpolation Linesearch satisfying Strong Wolfe Conditions +Secant Type: Limited-Memory BFGS + iter value gnorm snorm #fval #grad ls_#fval ls_#grad + 0 1.200200e+02 2.191073e+01 + 1 0.000000e+00 0.000000e+00 1.095536e+01 3 2 2 0 +The solution to minimization problem is: 0 0 -- 2.39.5