SPACE_DIMENSIONS := { 1; 2; 3 }
+RANKS := { 1; 2; 3; 4 }
+
OUTPUT_FLAG_TYPES := { DXFlags; UcdFlags; GnuplotFlags; PovrayFlags; EpsFlags;
GmvFlags; TecplotFlags; VtkFlags; SvgFlags;
Deal_II_IntermediateFlags }
SET(_inst
data_out_base.inst.in
+ function.inst.in
+ function_time.inst.in
polynomials_rannacher_turek.inst.in
+ tensor_function.inst.in
time_stepping.inst.in
)
DEAL_II_NAMESPACE_OPEN
// explicit instantiations
-
-template class Function<1>;
-template class ZeroFunction<1>;
-template class ConstantFunction<1>;
-template class ComponentSelectFunction<1>;
-template class ScalarFunctionFromFunctionObject<1>;
-template class VectorFunctionFromScalarFunctionObject<1>;
-template class VectorFunctionFromTensorFunction<1>;
-
-template class Function<2>;
-template class ZeroFunction<2>;
-template class ConstantFunction<2>;
-template class ComponentSelectFunction<2>;
-template class ScalarFunctionFromFunctionObject<2>;
-template class VectorFunctionFromScalarFunctionObject<2>;
-template class VectorFunctionFromTensorFunction<2>;
-
-template class Function<3>;
-template class ZeroFunction<3>;
-template class ConstantFunction<3>;
-template class ComponentSelectFunction<3>;
-template class ScalarFunctionFromFunctionObject<3>;
-template class VectorFunctionFromScalarFunctionObject<3>;
-template class VectorFunctionFromTensorFunction<3>;
+#include "function.inst"
DEAL_II_NAMESPACE_CLOSE
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2015 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.
+//
+// ---------------------------------------------------------------------
+
+
+for (S : REAL_SCALARS; dim : SPACE_DIMENSIONS)
+{
+ template class Function<dim, S>;
+ template class ZeroFunction<dim, S>;
+ template class ConstantFunction<dim, S>;
+ template class ComponentSelectFunction<dim, S>;
+ template class ScalarFunctionFromFunctionObject<dim, S>;
+ template class VectorFunctionFromScalarFunctionObject<dim, S>;
+ template class VectorFunctionFromTensorFunction<dim, S>;
+}
+
+for (S : COMPLEX_SCALARS; dim : SPACE_DIMENSIONS)
+{
+ template class Function<dim, S>;
+ template class ZeroFunction<dim, S>;
+ template class ConstantFunction<dim, S>;
+ template class ComponentSelectFunction<dim, S>;
+ template class ScalarFunctionFromFunctionObject<dim, S>;
+ template class VectorFunctionFromScalarFunctionObject<dim, S>;
+ template class VectorFunctionFromTensorFunction<dim, S>;
+}
DEAL_II_NAMESPACE_OPEN
-// Explicit instantiation
-template class FunctionTime<double>;
+// explicit instantiation
+#include "function_time.inst"
DEAL_II_NAMESPACE_CLOSE
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2015 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.
+//
+// ---------------------------------------------------------------------
+
+for (S : REAL_SCALARS)
+{
+ template class FunctionTime<S>;
+}
+
+for (S : COMPLEX_SCALARS)
+{
+ template class FunctionTime<S>;
+}
DEAL_II_NAMESPACE_OPEN
-// Explicit instantiations:
-
-template class TensorFunction<1,1>;
-template class TensorFunction<2,1>;
-template class TensorFunction<3,1>;
-template class TensorFunction<4,1>;
-template class TensorFunction<1,2>;
-template class TensorFunction<2,2>;
-template class TensorFunction<3,2>;
-template class TensorFunction<4,2>;
-template class TensorFunction<1,3>;
-template class TensorFunction<2,3>;
-template class TensorFunction<3,3>;
-template class TensorFunction<4,3>;
-
-template class ConstantTensorFunction<1,1>;
-template class ConstantTensorFunction<2,1>;
-template class ConstantTensorFunction<3,1>;
-template class ConstantTensorFunction<4,1>;
-template class ConstantTensorFunction<1,2>;
-template class ConstantTensorFunction<2,2>;
-template class ConstantTensorFunction<3,2>;
-template class ConstantTensorFunction<4,2>;
-template class ConstantTensorFunction<1,3>;
-template class ConstantTensorFunction<2,3>;
-template class ConstantTensorFunction<3,3>;
-template class ConstantTensorFunction<4,3>;
-
-template class ZeroTensorFunction<1,1>;
-template class ZeroTensorFunction<2,1>;
-template class ZeroTensorFunction<3,1>;
-template class ZeroTensorFunction<4,1>;
-template class ZeroTensorFunction<1,2>;
-template class ZeroTensorFunction<2,2>;
-template class ZeroTensorFunction<3,2>;
-template class ZeroTensorFunction<4,2>;
-template class ZeroTensorFunction<1,3>;
-template class ZeroTensorFunction<2,3>;
-template class ZeroTensorFunction<3,3>;
-template class ZeroTensorFunction<4,3>;
-
+// explicit instantiations
+#include "tensor_function.inst"
DEAL_II_NAMESPACE_CLOSE
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2015 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.
+//
+// ---------------------------------------------------------------------
+
+
+for (S : REAL_SCALARS; rank: RANKS; dim : SPACE_DIMENSIONS)
+{
+ template class TensorFunction<rank, dim, S>;
+ template class ConstantTensorFunction<rank, dim, S>;
+ template class ZeroTensorFunction<rank, dim, S>;
+}
+
+for (S : COMPLEX_SCALARS; rank: RANKS; dim : SPACE_DIMENSIONS)
+{
+ template class TensorFunction<rank, dim, S>;
+ template class ConstantTensorFunction<rank, dim, S>;
+ template class ZeroTensorFunction<rank, dim, S>;
+}