]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add a test for MemoryConsumption of SymmetricTensor objects.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 8 Jul 2016 20:10:29 +0000 (15:10 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 8 Jul 2016 20:10:29 +0000 (15:10 -0500)
tests/base/symmetric_tensor_31.cc [new file with mode: 0644]
tests/base/symmetric_tensor_31.output [new file with mode: 0644]

diff --git a/tests/base/symmetric_tensor_31.cc b/tests/base/symmetric_tensor_31.cc
new file mode 100644 (file)
index 0000000..5a0cb87
--- /dev/null
@@ -0,0 +1,54 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2016 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 at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// Test SymmetricTensor::memory_consumption
+
+#include "../tests.h"
+#include <deal.II/base/symmetric_tensor.h>
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/memory_consumption.h>
+
+
+template <int rank, int dim>
+void check ()
+{
+  deallog << "dim=" << dim << ", T=double "
+          << MemoryConsumption::memory_consumption (SymmetricTensor<rank,dim>())
+          << std::endl;
+  deallog << "dim=" << dim << ", T=complex<double> "
+          << MemoryConsumption::memory_consumption (SymmetricTensor<rank,dim,std::complex<double> >())
+          << std::endl;
+}
+
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog << std::setprecision(3);
+  deallog.attach(logfile);
+  deallog.threshold_double(1.e-10);
+
+  deallog << "check rank 2 tensors" << std::endl;
+  check<2,1>();
+  check<2,2>();
+  check<2,3>();
+
+  deallog << "check rank 4 tensors" << std::endl;
+  check<4,1>();
+  check<4,2>();
+  check<4,3>();
+
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/base/symmetric_tensor_31.output b/tests/base/symmetric_tensor_31.output
new file mode 100644 (file)
index 0000000..b1425df
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEAL::check rank 2 tensors
+DEAL::dim=1, T=double 8
+DEAL::dim=1, T=complex<double> 16
+DEAL::dim=2, T=double 24
+DEAL::dim=2, T=complex<double> 48
+DEAL::dim=3, T=double 48
+DEAL::dim=3, T=complex<double> 96
+DEAL::check rank 4 tensors
+DEAL::dim=1, T=double 8
+DEAL::dim=1, T=complex<double> 16
+DEAL::dim=2, T=double 72
+DEAL::dim=2, T=complex<double> 144
+DEAL::dim=3, T=double 288
+DEAL::dim=3, T=complex<double> 576
+DEAL::OK

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.