]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add a new test for ParsedFunction.
authorWolfgang Bangerth <bangerth@colostate.edu>
Wed, 11 Sep 2024 19:35:15 +0000 (13:35 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Wed, 11 Sep 2024 19:35:15 +0000 (13:35 -0600)
tests/bits/parsed_function_constants.cc [new file with mode: 0644]
tests/bits/parsed_function_constants.with_muparser=true.output [new file with mode: 0644]

diff --git a/tests/bits/parsed_function_constants.cc b/tests/bits/parsed_function_constants.cc
new file mode 100644 (file)
index 0000000..0be4aba
--- /dev/null
@@ -0,0 +1,54 @@
+// ------------------------------------------------------------------------
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+// Copyright (C) 2007 - 2018 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// Part of the source code is dual licensed under Apache-2.0 WITH
+// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
+// governing the source code and code contributions can be found in
+// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
+//
+// ------------------------------------------------------------------------
+
+
+
+// This program tests the functionality of the function parser
+// wrapper.
+
+#include <deal.II/base/parameter_handler.h>
+#include <deal.II/base/parsed_function.h>
+#include <deal.II/base/utilities.h>
+
+#include <map>
+
+#include "../tests.h"
+
+void
+test()
+{
+  // A parameter handler
+  ParameterHandler prm;
+
+  Functions::ParsedFunction<1>::declare_parameters(prm, 1);
+  prm.set("Function constants", "f=2");
+
+  prm.set("Function expression", "f*f+2*x");
+
+  Functions::ParsedFunction<1> function(1);
+  function.parse_parameters(prm);
+
+  const double value = function.value(Point<1>(3.0));
+  deallog << "Value at x=3: " << value << std::endl;
+
+  prm.log_parameters(deallog);
+}
+
+int
+main()
+{
+  initlog();
+
+  test();
+}
diff --git a/tests/bits/parsed_function_constants.with_muparser=true.output b/tests/bits/parsed_function_constants.with_muparser=true.output
new file mode 100644 (file)
index 0000000..11c21df
--- /dev/null
@@ -0,0 +1,5 @@
+
+DEAL::Value at x=3: 10.0000
+DEAL:parameters::Function constants: f=2
+DEAL:parameters::Function expression: f*f+2*x
+DEAL:parameters::Variable names: x,t

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.