From a125580eb4a8d98d1f992b284bd2be96642203a8 Mon Sep 17 00:00:00 2001
From: Thomas Witkowski <thomas.witkowski@gmx.de>
Date: Mon, 23 Nov 2009 09:51:57 +0000
Subject: [PATCH] New code style for the first demos.

---
 AMDiS/src/ProblemInstat.cc | 25 +++++++++++++++++--------
 AMDiS/src/ProblemInstat.h  |  4 ++++
 AMDiS/src/ProblemScal.cc   | 24 ++++++++++++++----------
 AMDiS/src/ProblemScal.h    |  8 ++++++++
 AMDiS/src/ProblemVec.cc    | 23 ++++++++++++++++-------
 AMDiS/src/ProblemVec.h     | 14 ++++++++++----
 6 files changed, 69 insertions(+), 29 deletions(-)

diff --git a/AMDiS/src/ProblemInstat.cc b/AMDiS/src/ProblemInstat.cc
index dbfa5e01..0421ef77 100644
--- a/AMDiS/src/ProblemInstat.cc
+++ b/AMDiS/src/ProblemInstat.cc
@@ -43,23 +43,20 @@ namespace AMDiS {
 
 
   ProblemInstatScal::ProblemInstatScal(std::string name_, 
-				       ProblemScal *prob,
-				       ProblemStatBase *initialProb)
+				       ProblemScal *prob, ProblemStatBase *initialProb)
     : ProblemInstat(name_, initialProb), 
       problemStat(prob),
       oldSolution(NULL)
   {}
 
-  ProblemInstatScal::ProblemInstatScal(std::string name_, 
-				       ProblemScal& prob)
+  ProblemInstatScal::ProblemInstatScal(std::string name_, ProblemScal& prob)
     : ProblemInstat(name_, NULL), 
       problemStat(&prob),
       oldSolution(NULL)
   {}
 
   ProblemInstatScal::ProblemInstatScal(std::string name_, 
-				       ProblemScal& prob,
-				       ProblemStatBase& initialProb)
+				       ProblemScal& prob, ProblemStatBase& initialProb)
     : ProblemInstat(name_, &initialProb), 
       problemStat(&prob),
       oldSolution(NULL)
@@ -127,13 +124,25 @@ namespace AMDiS {
   }
 
   ProblemInstatVec::ProblemInstatVec(std::string name_, 
-				     ProblemVec *prob,
-				     ProblemStatBase *initialProb)
+				     ProblemVec *prob, ProblemStatBase *initialProb)
     : ProblemInstat(name_, initialProb), 
       problemStat(prob),
       oldSolution(NULL)
   {}
 
+  ProblemInstatVec::ProblemInstatVec(std::string name_, ProblemVec &prob)
+    : ProblemInstat(name_, NULL), 
+      problemStat(&prob),
+      oldSolution(NULL)
+  {}
+
+  ProblemInstatVec::ProblemInstatVec(std::string name_, 
+				     ProblemVec &prob, ProblemStatBase &initialProb)
+    : ProblemInstat(name_, &initialProb), 
+      problemStat(&prob),
+      oldSolution(NULL)
+  {}
+
   ProblemInstatVec::~ProblemInstatVec()
   {
     delete oldSolution;
diff --git a/AMDiS/src/ProblemInstat.h b/AMDiS/src/ProblemInstat.h
index 94badcf2..352ee24b 100644
--- a/AMDiS/src/ProblemInstat.h
+++ b/AMDiS/src/ProblemInstat.h
@@ -183,6 +183,10 @@ namespace AMDiS {
 		     ProblemVec *prob,
 		     ProblemStatBase *initialProb = NULL);
 
+    ProblemInstatVec(std::string name, ProblemVec &prob);
+
+    ProblemInstatVec(std::string name, ProblemVec &prob, ProblemStatBase &initialProb);
+
     /// Destructor.
     virtual ~ProblemInstatVec();
 
diff --git a/AMDiS/src/ProblemScal.cc b/AMDiS/src/ProblemScal.cc
index baa6a63e..01d82f7a 100644
--- a/AMDiS/src/ProblemScal.cc
+++ b/AMDiS/src/ProblemScal.cc
@@ -68,19 +68,25 @@ namespace AMDiS {
     solution->interpol(fct);
   }
 
-  void ProblemScal::addMatrixOperator(Operator *op, 
-				      double *factor,
-				      double *estFactor) 
+  void ProblemScal::addMatrixOperator(Operator *op, double *factor, double *estFactor) 
   {
     systemMatrix->addOperator(op, factor, estFactor);
   }
 
-  void ProblemScal::addVectorOperator(Operator *op, 
-				      double *factor,
-				      double *estFactor) 
+  void ProblemScal::addMatrixOperator(Operator &op, double *factor, double *estFactor) 
+  {
+    systemMatrix->addOperator(&op, factor, estFactor);
+  }
+
+  void ProblemScal::addVectorOperator(Operator *op, double *factor, double *estFactor) 
   {
     rhs->addOperator(op, factor, estFactor);
   }
+
+  void ProblemScal::addVectorOperator(Operator &op, double *factor, double *estFactor) 
+  {
+    rhs->addOperator(&op, factor, estFactor);
+  }
   
   void ProblemScal::addDirichletBC(BoundaryType type, 
 				   AbstractFunction<double, WorldVector<double> >* b) 
@@ -94,8 +100,7 @@ namespace AMDiS {
       solution->getBoundaryManager()->addBoundaryCondition(dirichlet);
   }
 
-  void ProblemScal::addDirichletBC(BoundaryType type, 
-				   DOFVector<double> *vec) 
+  void ProblemScal::addDirichletBC(BoundaryType type, DOFVector<double> *vec) 
   {
     DirichletBC *dirichlet = new DirichletBC(type, vec);
     if (systemMatrix) 
@@ -126,8 +131,7 @@ namespace AMDiS {
   }
 
   void ProblemScal::addRobinBC(BoundaryType type, 
-			       DOFVector<double> *n,
-			       DOFVector<double> *r)
+			       DOFVector<double> *n, DOFVector<double> *r)
   {
     RobinBC *robin = new RobinBC(type, n, r, feSpace);
     if (rhs) 
diff --git a/AMDiS/src/ProblemScal.h b/AMDiS/src/ProblemScal.h
index 4b5c9154..55fb1ce0 100644
--- a/AMDiS/src/ProblemScal.h
+++ b/AMDiS/src/ProblemScal.h
@@ -170,10 +170,18 @@ namespace AMDiS {
     void addMatrixOperator(Operator *op, 
 			   double *factor = NULL, double *estFactor = NULL);
 
+    /// Adds an Operator to \ref systemMatrix.
+    void addMatrixOperator(Operator &op, 
+			   double *factor = NULL, double *estFactor = NULL);
+
     /// Adds an Operator to \ref rhs.
     void addVectorOperator(Operator *op, 
 			   double *factor = NULL, double *estFactor = NULL);
 
+    /// Adds an Operator to \ref rhs.
+    void addVectorOperator(Operator &op, 
+			   double *factor = NULL, double *estFactor = NULL);
+
     /// Adds dirichlet boundary conditions.
     virtual void addDirichletBC(BoundaryType type, 
 				AbstractFunction<double, WorldVector<double> >* b);
diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc
index 65233cd7..8846c7cc 100644
--- a/AMDiS/src/ProblemVec.cc
+++ b/AMDiS/src/ProblemVec.cc
@@ -1043,10 +1043,8 @@ namespace AMDiS {
     solution->interpol(fct);
   }
 
-  void ProblemVec::addMatrixOperator(Operator *op, 
-				     int i, int j,
-				     double *factor,
-				     double *estFactor)
+  void ProblemVec::addMatrixOperator(Operator *op, int i, int j,
+				     double *factor, double *estFactor)
   {
     FUNCNAME("ProblemVec::addMatrixOperator()");
    
@@ -1079,9 +1077,14 @@ namespace AMDiS {
     opFlags[op].setFlag(Operator::MATRIX_OPERATOR);
   }
 
-  void ProblemVec::addVectorOperator(Operator *op, int i,
-				     double *factor,
-				     double *estFactor)	
+  void ProblemVec::addMatrixOperator(Operator &op, int i, int j,
+				     double *factor, double *estFactor)
+  {
+    addMatrixOperator(&op, i, j, factor, estFactor);
+  }
+
+  void ProblemVec::addVectorOperator(Operator *op, int i, 
+				     double *factor, double *estFactor)	
   {
     FUNCNAME("ProblemVec::addVectorOperator()");
 
@@ -1101,6 +1104,12 @@ namespace AMDiS {
     opFlags[op].setFlag(Operator::VECTOR_OPERATOR);
   }
 
+  void ProblemVec::addVectorOperator(Operator &op, int i, 
+				     double *factor, double *estFactor)	
+  {
+    addVectorOperator(&op, i, factor, estFactor);
+  }
+
   void ProblemVec::addDirichletBC(BoundaryType type, int row, int col,
 				  AbstractFunction<double, WorldVector<double> >* b)
   {
diff --git a/AMDiS/src/ProblemVec.h b/AMDiS/src/ProblemVec.h
index c6740d38..9dab27d0 100644
--- a/AMDiS/src/ProblemVec.h
+++ b/AMDiS/src/ProblemVec.h
@@ -222,13 +222,19 @@ namespace AMDiS {
 
     /// Adds an Operator to \ref A.
     void addMatrixOperator(Operator *op, int i, int j,
-			   double *factor = NULL,
-			   double *estFactor = NULL);
+			   double *factor = NULL, double *estFactor = NULL);
+
+    /// Adds an Operator to \ref A.
+    void addMatrixOperator(Operator &op, int i, int j,
+			   double *factor = NULL, double *estFactor = NULL);
 
     /// Adds an Operator to \ref rhs.
     void addVectorOperator(Operator *op, int i,
-			   double *factor = NULL,
-			   double *estFactor = NULL);
+			   double *factor = NULL, double *estFactor = NULL);
+
+    /// Adds an Operator to \ref rhs.
+    void addVectorOperator(Operator &op, int i,
+			   double *factor = NULL, double *estFactor = NULL);
 
     /// Adds dirichlet boundary conditions.
     virtual void addDirichletBC(BoundaryType type, int row, int col,
-- 
GitLab