From c289d1d5b4f37d8dfae7925f2701ed11164c0f1a Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 3 May 2021 17:50:31 -0600 Subject: [PATCH] Add the frame of step-77. --- examples/step-77/CMakeLists.txt | 49 +++++++++++++++++++++++++++++++++ examples/step-77/doc/builds-on | 1 + examples/step-77/doc/kind | 1 + examples/step-77/doc/tooltip | 2 ++ 4 files changed, 53 insertions(+) create mode 100644 examples/step-77/CMakeLists.txt create mode 100644 examples/step-77/doc/builds-on create mode 100644 examples/step-77/doc/kind create mode 100644 examples/step-77/doc/tooltip diff --git a/examples/step-77/CMakeLists.txt b/examples/step-77/CMakeLists.txt new file mode 100644 index 0000000000..f5c1af07af --- /dev/null +++ b/examples/step-77/CMakeLists.txt @@ -0,0 +1,49 @@ +## +# CMake script for the step-77 tutorial program: +## + +# Set the name of the project and target: +SET(TARGET "step-77") + +# Declare all source files the target consists of. Here, this is only +# the one step-X.cc file, but as you expand your project you may wish +# to add other source files as well. If your project becomes much larger, +# you may want to either replace the following statement by something like +# FILE(GLOB_RECURSE TARGET_SRC "source/*.cc") +# FILE(GLOB_RECURSE TARGET_INC "include/*.h") +# SET(TARGET_SRC ${TARGET_SRC} ${TARGET_INC}) +# or switch altogether to the large project CMakeLists.txt file discussed +# in the "CMake in user projects" page accessible from the "User info" +# page of the documentation. +SET(TARGET_SRC + ${TARGET}.cc + ) + +# Usually, you will not need to modify anything beyond this point... + +CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0) + +FIND_PACKAGE(deal.II 9.3.0 + HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR} + ) +IF(NOT ${deal.II_FOUND}) + MESSAGE(FATAL_ERROR "\n" + "*** Could not locate a (sufficiently recent) version of deal.II. ***\n\n" + "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n" + "or set an environment variable \"DEAL_II_DIR\" that contains this path." + ) +ENDIF() + +IF(NOT DEAL_II_WITH_SUNDIALS) # keep in one line + MESSAGE(FATAL_ERROR " +Error! This tutorial requires a deal.II library that was configured with the following options: + DEAL_II_WITH_SUNDIALS = ON +However, the deal.II library found at ${DEAL_II_PATH} was configured with these options: + DEAL_II_WITH_SUNDIALS = ${DEAL_II_WITH_SUNDIALS} +This conflicts with the requirements." + ) +ENDIF() + +DEAL_II_INITIALIZE_CACHED_VARIABLES() +PROJECT(${TARGET}) +DEAL_II_INVOKE_AUTOPILOT() diff --git a/examples/step-77/doc/builds-on b/examples/step-77/doc/builds-on new file mode 100644 index 0000000000..78300ce0a2 --- /dev/null +++ b/examples/step-77/doc/builds-on @@ -0,0 +1 @@ +step-15 diff --git a/examples/step-77/doc/kind b/examples/step-77/doc/kind new file mode 100644 index 0000000000..c1d9154931 --- /dev/null +++ b/examples/step-77/doc/kind @@ -0,0 +1 @@ +techniques diff --git a/examples/step-77/doc/tooltip b/examples/step-77/doc/tooltip new file mode 100644 index 0000000000..c97759eac9 --- /dev/null +++ b/examples/step-77/doc/tooltip @@ -0,0 +1,2 @@ +Newton's method for a nonlinear elliptic problem. Uses %SUNDIALS' +KINSOL package. -- 2.39.5