]> https://gitweb.dealii.org/ - dealii.git/commitdiff
remove NamedData and deprecated algorithms::Operator
authorTimo Heister <timo.heister@gmail.com>
Mon, 21 Dec 2015 19:42:19 +0000 (14:42 -0500)
committerTimo Heister <timo.heister@gmail.com>
Mon, 21 Dec 2015 19:43:09 +0000 (14:43 -0500)
- remove deprecated algorithms::Operator
- remove references to NamedData

examples/doxygen/theta_timestepping.cc
include/deal.II/algorithms/named_selection.h
include/deal.II/algorithms/newton.h
include/deal.II/algorithms/newton.templates.h
include/deal.II/algorithms/operator.h
include/deal.II/algorithms/operator.templates.h
include/deal.II/algorithms/theta_timestepping.h
include/deal.II/algorithms/theta_timestepping.templates.h
source/algorithms/operator.inst.in
tests/algorithms/newton_01.cc
tests/algorithms/theta_01.cc

index 3fdb0fbe186eac2ba7684547dae699f07d198acd..33ec369fa4b60bc2c64a39ef6947ece6facfd1b7 100644 (file)
@@ -29,7 +29,7 @@ using namespace dealii;
 using namespace Algorithms;
 
 
-class Explicit : public Operator<Vector<double> >
+class Explicit : public OperatorBase
 {
 public:
   Explicit(const FullMatrix<double> &matrix);
@@ -41,7 +41,7 @@ private:
 };
 
 
-class Implicit : public Operator<Vector<double> >
+class Implicit : public OperatorBase
 {
 public:
   Implicit(const FullMatrix<double> &matrix);
index 1d7498ea459ec49c5d36e7c4db0355fa7bb5b428..c426e396b1917d4ed976471499b939e8a116904d 100644 (file)
@@ -24,7 +24,7 @@
 DEAL_II_NAMESPACE_OPEN
 
 /**
- * Select data from NamedData corresponding to the attached name.
+ * Select data from AnyData corresponding to the attached name.
  *
  * Given a list of names to search for (provided by add()), objects of this
  * class provide an index list of the selected data.
@@ -58,7 +58,7 @@ public:
 
 
   /**
-   * Return the corresponding index in the NamedData object supplied to the
+   * Return the corresponding index in the AnyData object supplied to the
    * last initialize(). It is an error if initialize() has not been called
    * before.
    *
index f85aa1d41c5ba561c6012f6249d0215c3af63b45..a58d1a9516817c37387cfd54ecf8c7f7919d2c7a 100644 (file)
@@ -64,14 +64,14 @@ namespace Algorithms
    * @author Guido Kanschat, 2006, 2010
    */
   template <typename VectorType>
-  class Newton : public Operator<VectorType>
+  class Newton : public OperatorBase
   {
   public:
     /**
      * Constructor, receiving the applications computing the residual and
      * solving the linear problem, respectively.
      */
-    Newton (Operator<VectorType> &residual, Operator<VectorType> &inverse_derivative);
+    Newton (OperatorBase &residual, OperatorBase &inverse_derivative);
 
     /**
      * Declare the parameters applicable to Newton's method.
@@ -112,12 +112,12 @@ namespace Algorithms
     /**
      * The operator computing the residual.
      */
-    SmartPointer<Operator<VectorType>, Newton<VectorType> > residual;
+    SmartPointer<OperatorBase, Newton<VectorType> > residual;
 
     /**
      * The operator applying the inverse derivative to the residual.
      */
-    SmartPointer<Operator<VectorType>, Newton<VectorType> > inverse_derivative;
+    SmartPointer<OperatorBase, Newton<VectorType> > inverse_derivative;
 
     /**
      * The operator handling the output in case the debug_vectors is true.
index aa2622e266e1786ecba88fe56ff74c1faed2739f..9a844e74b26f31b28d890284841a90579ca0d1c0 100644 (file)
@@ -28,7 +28,8 @@ DEAL_II_NAMESPACE_OPEN
 namespace Algorithms
 {
   template <typename VectorType>
-  Newton<VectorType>::Newton(Operator<VectorType> &residual, Operator<VectorType> &inverse_derivative)
+  Newton<VectorType>::Newton(OperatorBase &residual,
+                             OperatorBase &inverse_derivative)
     :
     residual(&residual), inverse_derivative(&inverse_derivative),
     assemble_now(false),
index 5602b4f743474e4c5d9018ff8c42f49caa9ee6d9..f56bdb11c18e0446d0259c30fd6ef6429f3f40ad 100644 (file)
@@ -97,41 +97,6 @@ namespace Algorithms
 
   };
 
-  /**
-   * @deprecated This class has been replaced by OperatorBase.
-   *
-   * The abstract base class of all algorithms in this library. An operator is
-   * an object with an operator(), which transforms a set of named vectors
-   * into another set of named vectors.
-   *
-   * Furthermore, an operator can be notified of parameter changes by the
-   * calling routine. The outer iteration can notify() the Operator of an
-   * Event, which could be for instance a change of mesh, a different time
-   * step size or too slow convergence of Newton's method, which would then
-   * trigger reassembling of a matrix or similar things.
-   *
-   * <h3>Usage for nested iterations</h3>
-   *
-   * This is probably the most prominent use for Operator, where an outer
-   * iterative method calls an inner solver and so on. Typically, the
-   * innermost method in such a nested system will have to compute a residual
-   * using values from all outer iterations. Since the depth and order of such
-   * a nesting is hardly predictable when designing a general tool, we use
-   * NamedData to access these vectors. Typically, the first vector in
-   * <tt>out</tt> contains the start vector when operator()() is called, and
-   * the solution when the function returns. The object <tt>in</tt> is
-   * providing additional information and forwarded to the inner Operator
-   * objects of the nested iteration.
-   *
-   * @author Guido Kanschat, 2010
-   */
-  template <typename VectorType>
-  class Operator : public OperatorBase
-  {
-  public:
-    Operator();
-  };
-
   /**
    * An unary operator base class, intended to output the vectors in AnyData
    * in each step of an iteration.
index c0b65a778b03fbbdd94927eb74529608a2d13fc5..937ee64de900bb737be76ffbf6770c0e4cff11a9 100644 (file)
@@ -21,10 +21,6 @@ DEAL_II_NAMESPACE_OPEN
 
 namespace Algorithms
 {
-  template <typename VectorType>
-  Operator<VectorType>::Operator()
-  {}
-
   template <typename VectorType>
   OutputOperator<VectorType>::~OutputOperator()
   {}
index 423c078c78191b7f8e83ceeb4213402e05aa4e2e..df4802ac678cbd30fbd5aa8f75fcb0d2d97b5cf9 100644 (file)
@@ -187,7 +187,7 @@ namespace Algorithms
    * @date 2010
    */
   template <typename VectorType>
-  class ThetaTimestepping : public Operator<VectorType>
+  class ThetaTimestepping : public OperatorBase
   {
   public:
     /**
@@ -195,8 +195,8 @@ namespace Algorithms
      * #op_implicit. For their meaning, see the description of those
      * variables.
      */
-    ThetaTimestepping (Operator<VectorType> &op_explicit,
-                       Operator<VectorType> &op_implicit);
+    ThetaTimestepping (OperatorBase &op_explicit,
+                       OperatorBase &op_implicit);
 
     /**
      * The timestepping scheme.
@@ -309,7 +309,7 @@ namespace Algorithms
      * vector, $M$ the mass matrix, $F$ the operator in space and $c$ is the
      * adjusted time step size $(1-\theta) \Delta t$.
      */
-    SmartPointer<Operator<VectorType>, ThetaTimestepping<VectorType> > op_explicit;
+    SmartPointer<OperatorBase, ThetaTimestepping<VectorType> > op_explicit;
 
     /**
      * The operator solving the implicit part of the scheme. It will receive
@@ -321,7 +321,7 @@ namespace Algorithms
      * the input data, <i>M</i> the mass matrix, <i>F</i> the operator in
      * space and <i>c</i> is the adjusted time step size $ \theta \Delta t$
      */
-    SmartPointer<Operator<VectorType>, ThetaTimestepping<VectorType> > op_implicit;
+    SmartPointer<OperatorBase, ThetaTimestepping<VectorType> > op_implicit;
 
     /**
      * The operator writing the output in each time step
index 71d048d4c83e31d97a2d65c771d439ec8de2a580..40e19a1820e3919482f0443e65b8c755a52b96d9 100644 (file)
@@ -24,7 +24,7 @@ DEAL_II_NAMESPACE_OPEN
 namespace Algorithms
 {
   template <typename VectorType>
-  ThetaTimestepping<VectorType>::ThetaTimestepping (Operator<VectorType> &e, Operator<VectorType> &i)
+  ThetaTimestepping<VectorType>::ThetaTimestepping (OperatorBase &e, OperatorBase &i)
     : vtheta(0.5), adaptive(false), op_explicit(&e), op_implicit(&i)
   {}
 
index 8b04299908623b72d5f68c680e9c213cd7f0db27..e693263e0e398959be6ef1ffad73d266c7775083 100644 (file)
@@ -16,7 +16,6 @@
 
 for (VEC : SERIAL_VECTORS)
 {  
-  template class Operator<VEC>;
   template class OutputOperator<VEC>;
   template class Newton<VEC>;
   template class ThetaTimestepping<VEC>;
index d29196b03f4a6564c4af0d3b6a15a3345f9f19f2..8be4e5214fb0b74e0864b52f8db81e6dc9ed02c7 100644 (file)
@@ -33,7 +33,7 @@ public:
 };
 
 class SquareRootResidual : public
-  Algorithms::Operator<Vector<double> >
+  Algorithms::OperatorBase
 {
   SmartPointer<SquareRoot, SquareRootResidual>
   discretization;
@@ -50,7 +50,7 @@ public:
 };
 
 class SquareRootSolver : public
-  Algorithms::Operator<Vector<double> >
+  Algorithms::OperatorBase
 {
   SmartPointer<SquareRoot, SquareRootSolver>
   solver;
index b0204c64ab20aaf0561396552eb5c605b72e2117..7078b979ccd3ba63500295358e649673484762fe 100644 (file)
@@ -30,7 +30,7 @@ using namespace Algorithms;
 
 
 class Explicit
-  : public Operator<Vector<double> >
+  : public OperatorBase
 {
 public:
   Explicit(const FullMatrix<double> &matrix);
@@ -42,7 +42,7 @@ private:
 
 
 class Implicit
-  : public Operator<Vector<double> >
+  : public OperatorBase
 {
 public:
   Implicit(const FullMatrix<double> &matrix);

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.