From f5bb13820e22b367d17e13b8aedc481628af5633 Mon Sep 17 00:00:00 2001 From: Thomas Witkowski <thomas.witkowski@gmx.de> Date: Thu, 23 Oct 2008 11:01:33 +0000 Subject: [PATCH] * Bugfix for scal problems --- AMDiS/src/ProblemScal.cc | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/AMDiS/src/ProblemScal.cc b/AMDiS/src/ProblemScal.cc index ede6b31c..bed26d93 100644 --- a/AMDiS/src/ProblemScal.cc +++ b/AMDiS/src/ProblemScal.cc @@ -427,8 +427,7 @@ namespace AMDiS { std::string solverType("no"); GET_PARAMETER(0, name_ + "->solver", &solverType); OEMSolverCreator<DOFVector<double> > *solverCreator = - dynamic_cast<OEMSolverCreator<DOFVector<double> >*>( - CreatorMap<OEMSolver<DOFVector<double> > >::getCreator(solverType)); + dynamic_cast<OEMSolverCreator<DOFVector<double> >*>(CreatorMap<OEMSolver<DOFVector<double> > >::getCreator(solverType)); TEST_EXIT(solverCreator)("no solver type\n"); solverCreator->setName(name_ + "->solver"); solver_ = solverCreator->create(); @@ -488,9 +487,9 @@ namespace AMDiS { EstimatorCreator *estimatorCreator = dynamic_cast<EstimatorCreator*>( CreatorMap<Estimator>::getCreator(estimatorType)); - if(estimatorCreator) { + if (estimatorCreator) { estimatorCreator->setName(name_ + "->estimator"); - if(estimatorType == "recovery") { + if (estimatorType == "recovery") { dynamic_cast<RecoveryEstimator::Creator*>(estimatorCreator)->setSolution(solution_); } estimator_ = estimatorCreator->create(); @@ -511,7 +510,7 @@ namespace AMDiS { int writeSerialization = 0; GET_PARAMETER(0, name_ + "->output->write serialization", "%d", &writeSerialization); - if(writeSerialization) { + if (writeSerialization) { fileWriters_.push_back(NEW Serializer<ProblemScal>(this)); } } @@ -520,7 +519,7 @@ namespace AMDiS { { FUNCNAME("Problem::estimate()"); - if(estimator_) { + if (estimator_) { clock_t first = clock(); estimator_->estimate(adaptInfo->getTimestep()); INFO(info_,8)("estimation of the error needed %.5f seconds\n", @@ -597,6 +596,8 @@ namespace AMDiS { elInfo = stack.traverseNext(elInfo); } + systemMatrix_->removeRowsWithDBC(systemMatrix_->getApplyDBCs()); + if (systemMatrix_->getBoundaryManager()) systemMatrix_->getBoundaryManager()->exitMatrix(systemMatrix_); if (rhs_->getBoundaryManager()) @@ -636,10 +637,8 @@ namespace AMDiS { FUNCNAME("ProblemVec::writeResidualMesh()"); Mesh *mesh = this->getMesh(); - FiniteElemSpace *fe = this->getFESpace(); - - std::map<int, double> vec; - + FiniteElemSpace *fe = this->getFESpace(); + std::map<int, double> vec; TraverseStack stack; ElInfo *elInfo = stack.traverseFirst(mesh, -1, -- GitLab