]> https://gitweb.dealii.org/ - dealii.git/commitdiff
step-67: an explicit time integrator with matrix-free implementation
authorMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Thu, 13 Jun 2019 08:44:59 +0000 (10:44 +0200)
committerMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Tue, 24 Mar 2020 06:59:18 +0000 (07:59 +0100)
examples/step-67/CMakeLists.txt [new file with mode: 0644]
examples/step-67/doc/builds-on [new file with mode: 0644]
examples/step-67/doc/intro.dox [new file with mode: 0644]
examples/step-67/doc/kind [new file with mode: 0644]
examples/step-67/doc/results.dox [new file with mode: 0644]
examples/step-67/doc/tooltip [new file with mode: 0644]
examples/step-67/step-67.cc [new file with mode: 0644]

diff --git a/examples/step-67/CMakeLists.txt b/examples/step-67/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f332297
--- /dev/null
@@ -0,0 +1,39 @@
+##
+#  CMake script for the step-67 tutorial program:
+##
+
+# Set the name of the project and target:
+SET(TARGET "step-67")
+
+# 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 2.8.12)
+
+FIND_PACKAGE(deal.II 9.2.0 QUIET
+  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()
+
+DEAL_II_INITIALIZE_CACHED_VARIABLES()
+PROJECT(${TARGET})
+DEAL_II_INVOKE_AUTOPILOT()
diff --git a/examples/step-67/doc/builds-on b/examples/step-67/doc/builds-on
new file mode 100644 (file)
index 0000000..8943c29
--- /dev/null
@@ -0,0 +1 @@
+step-48, step-59
diff --git a/examples/step-67/doc/intro.dox b/examples/step-67/doc/intro.dox
new file mode 100644 (file)
index 0000000..42a4b57
--- /dev/null
@@ -0,0 +1,14 @@
+
+<br>
+
+<i>
+This program was contributed by Martin Kronbichler.
+</i>
+
+<a name="Intro"></a>
+<h1>Introduction</h1>
+
+This tutorial program implements an explicit time integrator with the
+matrix-free framework using high-order discontinuous Galerkin methods
+for the Euler equations.
+
diff --git a/examples/step-67/doc/kind b/examples/step-67/doc/kind
new file mode 100644 (file)
index 0000000..e62f4e7
--- /dev/null
@@ -0,0 +1 @@
+fluids
diff --git a/examples/step-67/doc/results.dox b/examples/step-67/doc/results.dox
new file mode 100644 (file)
index 0000000..207317d
--- /dev/null
@@ -0,0 +1,4 @@
+<h1>Results</h1>
+
+Running the program ...
+
diff --git a/examples/step-67/doc/tooltip b/examples/step-67/doc/tooltip
new file mode 100644 (file)
index 0000000..e146cef
--- /dev/null
@@ -0,0 +1 @@
+An explicit time integrator for the Euler equations with matrix-free implementation.
diff --git a/examples/step-67/step-67.cc b/examples/step-67/step-67.cc
new file mode 100644 (file)
index 0000000..d3e5722
--- /dev/null
@@ -0,0 +1,35 @@
+/* ---------------------------------------------------------------------
+ *
+ * Copyright (C) 2019 by the deal.II authors
+ *
+ * This file is part of the deal.II library.
+ *
+ * The deal.II library is free software; you can use it, redistribute
+ * it, and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * The full text of the license can be found in the file LICENSE.md at
+ * the top level directory of deal.II.
+ *
+ * ---------------------------------------------------------------------
+
+ */
+
+// @sect3{Include files}
+
+#include <deal.II/base/mpi.h>
+
+
+namespace step67
+{
+  using namespace dealii;
+}
+
+// @sect3{The main function}
+
+// Finally, the main function. There isn't much to do here, only to call the
+// two subfunctions, which produce the two grids.
+int main(int argc, char **argv)
+{
+  dealii::Utilities::MPI::MPI_InitFinalize mpi_init_finalize(argc, argv, 1);
+}

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.