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