]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Bring back the OutputTypes structures.
authorWolfgang Bangerth <bangerth@colostate.edu>
Sun, 25 Apr 2021 21:42:46 +0000 (15:42 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sun, 25 Apr 2021 21:42:46 +0000 (15:42 -0600)
include/deal.II/fe/fe_values.h

index 910717389ab6238a4c5a5de6127c12d8baae1afa..04ebe4300626266089a5c6d9a69ab5acf0f2fd1e 100644 (file)
@@ -223,6 +223,56 @@ namespace FEValuesViews
     using solution_third_derivative_type =
       typename ProductType<Number, third_derivative_type>::type;
 
+    /**
+     * A struct that provides the output type for the product of the value
+     * and derivatives of basis functions of the Scalar view and any @p Number type.
+     *
+     * @deprecated Use the types defined in the surrounding class instead.
+     */
+    template <typename Number>
+    struct DEAL_II_DEPRECATED_EARLY OutputType
+    {
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * values of the view the Scalar class.
+       */
+      using value_type =
+        typename ProductType<Number,
+                             typename Scalar<dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * gradients of the view the Scalar class.
+       */
+      using gradient_type = typename ProductType<
+        Number,
+        typename Scalar<dim, spacedim>::gradient_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * laplacians of the view the Scalar class.
+       */
+      using laplacian_type =
+        typename ProductType<Number,
+                             typename Scalar<dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * hessians of the view the Scalar class.
+       */
+      using hessian_type = typename ProductType<
+        Number,
+        typename Scalar<dim, spacedim>::hessian_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * third derivatives of the view the Scalar class.
+       */
+      using third_derivative_type = typename ProductType<
+        Number,
+        typename Scalar<dim, spacedim>::third_derivative_type>::type;
+    };
+
     /**
      * A structure where for each shape function we pre-compute a bunch of
      * data that will make later accesses much cheaper.
@@ -737,6 +787,80 @@ namespace FEValuesViews
     using solution_third_derivative_type =
       typename ProductType<Number, third_derivative_type>::type;
 
+    /**
+     * A struct that provides the output type for the product of the value
+     * and derivatives of basis functions of the Vector view and any @p Number type.
+     *
+     * @deprecated Use the types defined in the surrounding class instead.
+     */
+    template <typename Number>
+    struct DEAL_II_DEPRECATED_EARLY OutputType
+    {
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * values of the view the Vector class.
+       */
+      using value_type =
+        typename ProductType<Number,
+                             typename Vector<dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * gradients of the view the Vector class.
+       */
+      using gradient_type = typename ProductType<
+        Number,
+        typename Vector<dim, spacedim>::gradient_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * symmetric gradients of the view the Vector class.
+       */
+      using symmetric_gradient_type = typename ProductType<
+        Number,
+        typename Vector<dim, spacedim>::symmetric_gradient_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * divergences of the view the Vector class.
+       */
+      using divergence_type = typename ProductType<
+        Number,
+        typename Vector<dim, spacedim>::divergence_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * laplacians of the view the Vector class.
+       */
+      using laplacian_type =
+        typename ProductType<Number,
+                             typename Vector<dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * curls of the view the Vector class.
+       */
+      using curl_type =
+        typename ProductType<Number,
+                             typename Vector<dim, spacedim>::curl_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * hessians of the view the Vector class.
+       */
+      using hessian_type = typename ProductType<
+        Number,
+        typename Vector<dim, spacedim>::hessian_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * third derivatives of the view the Vector class.
+       */
+      using third_derivative_type = typename ProductType<
+        Number,
+        typename Vector<dim, spacedim>::third_derivative_type>::type;
+    };
+
     /**
      * A structure where for each shape function we pre-compute a bunch of
      * data that will make later accesses much cheaper.
@@ -1343,6 +1467,33 @@ namespace FEValuesViews
     using solution_divergence_type =
       typename ProductType<Number, divergence_type>::type;
 
+
+    /**
+     * A struct that provides the output type for the product of the value
+     * and derivatives of basis functions of the SymmetricTensor view and any @p Number type.
+     *
+     * @deprecated Use the types defined in the surrounding class instead.
+     */
+    template <typename Number>
+    struct DEAL_II_DEPRECATED_EARLY OutputType
+    {
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * values of the view the SymmetricTensor class.
+       */
+      using value_type = typename ProductType<
+        Number,
+        typename SymmetricTensor<2, dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * divergences of the view the SymmetricTensor class.
+       */
+      using divergence_type = typename ProductType<
+        Number,
+        typename SymmetricTensor<2, dim, spacedim>::divergence_type>::type;
+    };
+
     /**
      * A structure where for each shape function we pre-compute a bunch of
      * data that will make later accesses much cheaper.
@@ -1644,6 +1795,41 @@ namespace FEValuesViews
     using solution_gradient_type =
       typename ProductType<Number, gradient_type>::type;
 
+
+    /**
+     * A struct that provides the output type for the product of the value
+     * and derivatives of basis functions of the Tensor view and any @p Number type.
+     *
+     * @deprecated Use the types defined in the surrounding class instead.
+     */
+    template <typename Number>
+    struct DEAL_II_DEPRECATED_EARLY OutputType
+    {
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * values of the view the Tensor class.
+       */
+      using value_type = typename ProductType<
+        Number,
+        typename Tensor<2, dim, spacedim>::value_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * divergences of the view the Tensor class.
+       */
+      using divergence_type = typename ProductType<
+        Number,
+        typename Tensor<2, dim, spacedim>::divergence_type>::type;
+
+      /**
+       * An alias for the data type of the product of a @p Number and the
+       * gradient of the view the Tensor class.
+       */
+      using gradient_type = typename ProductType<
+        Number,
+        typename Tensor<2, dim, spacedim>::gradient_type>::type;
+    };
+
     /**
      * A structure where for each shape function we pre-compute a bunch of
      * data that will make later accesses much cheaper.

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.