]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use Tensor<1,dim> instead of Point<dim> to denote directions.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 5 Feb 2015 02:38:22 +0000 (20:38 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 5 Feb 2015 03:25:12 +0000 (21:25 -0600)
include/deal.II/base/function_lib.h
source/base/function_lib.cc

index d1a5c856ed19d5a63c466740d14318ec9263f888..4b774353179d536ab5dcad33d0fffb4c07a9e037 100644 (file)
@@ -635,7 +635,7 @@ namespace Functions
      * Constructor. Take the Fourier coefficients in each space direction as
      * argument.
      */
-    FourierCosineFunction (const Point<dim> &fourier_coefficients);
+    FourierCosineFunction (const Tensor<1,dim> &fourier_coefficients);
 
     /**
      * Return the value of the function at the given point. Unless there is
@@ -662,7 +662,7 @@ namespace Functions
     /**
      * Stored Fourier coefficients.
      */
-    const Point<dim> fourier_coefficients;
+    const Tensor<1,dim> fourier_coefficients;
   };
 
 
@@ -687,7 +687,7 @@ namespace Functions
      * Constructor. Take the Fourier coefficients in each space direction as
      * argument.
      */
-    FourierSineFunction (const Point<dim> &fourier_coefficients);
+    FourierSineFunction (const Tensor<1,dim> &fourier_coefficients);
 
     /**
      * Return the value of the function at the given point. Unless there is
@@ -714,7 +714,7 @@ namespace Functions
     /**
      * Stored Fourier coefficients.
      */
-    const Point<dim> fourier_coefficients;
+    const Tensor<1,dim> fourier_coefficients;
   };
 
 
index ad798b65bd3e06d736e65c9edb883934d514e669..f9ff174ab856c47e9d1c9e60e84966fdd4b182d6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 1999 - 2014 by the deal.II authors
+// Copyright (C) 1999 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -131,7 +131,7 @@ namespace Functions
             ExcDimensionMismatch(gradients.size(), points.size()));
 
     for (unsigned int i=0; i<points.size(); ++i)
-      gradients[i] = points[i]*2;
+      gradients[i] = static_cast<Tensor<1,dim> >(points[i])*2;
   }
 
 
@@ -1839,7 +1839,7 @@ namespace Functions
 
   template <int dim>
   FourierCosineFunction<dim>::
-  FourierCosineFunction (const Point<dim> &fourier_coefficients)
+  FourierCosineFunction (const Tensor<1,dim> &fourier_coefficients)
     :
     Function<dim> (1),
     fourier_coefficients (fourier_coefficients)
@@ -1875,7 +1875,7 @@ namespace Functions
                                          const unsigned int  component) const
   {
     Assert (component==0, ExcIndexRange(component,0,1));
-    return fourier_coefficients.square() * (-std::cos(fourier_coefficients * p));
+    return (fourier_coefficients * fourier_coefficients) * (-std::cos(fourier_coefficients * p));
   }
 
 
@@ -1887,7 +1887,7 @@ namespace Functions
 
   template <int dim>
   FourierSineFunction<dim>::
-  FourierSineFunction (const Point<dim> &fourier_coefficients)
+  FourierSineFunction (const Tensor<1,dim> &fourier_coefficients)
     :
     Function<dim> (1),
     fourier_coefficients (fourier_coefficients)
@@ -1923,7 +1923,7 @@ namespace Functions
                                        const unsigned int  component) const
   {
     Assert (component==0, ExcIndexRange(component,0,1));
-    return fourier_coefficients.square() * (-std::sin(fourier_coefficients * p));
+    return (fourier_coefficients * fourier_coefficients) * (-std::sin(fourier_coefficients * p));
   }
 
 
@@ -1994,7 +1994,7 @@ namespace Functions
     const unsigned int n = weights.size();
     double sum = 0;
     for (unsigned int s=0; s<n; ++s)
-      sum -= fourier_coefficients[s].square() * std::sin(fourier_coefficients[s] * p);
+      sum -= (fourier_coefficients[s] * fourier_coefficients[s]) * std::sin(fourier_coefficients[s] * p);
 
     return sum;
   }
@@ -2066,7 +2066,7 @@ namespace Functions
     const unsigned int n = weights.size();
     double sum = 0;
     for (unsigned int s=0; s<n; ++s)
-      sum -= fourier_coefficients[s].square() * std::cos(fourier_coefficients[s] * p);
+      sum -= (fourier_coefficients[s] * fourier_coefficients[s]) * std::cos(fourier_coefficients[s] * p);
 
     return sum;
   }

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.