Newer
Older
#include "AdaptStationary.h"
#include "Parameters.h"
#include "Estimator.h"
#include "TecPlotWriter.h"
#include "ProblemIterationInterface.h"
#include <math.h>
namespace AMDiS {
AdaptStationary::AdaptStationary(const char *name,
ProblemIterationInterface *prob,
AdaptInfo *info)
: AdaptBase(name, prob, info)
{
initialize();
}
int AdaptStationary::adapt()
{
FUNCNAME("AdaptStationary::adapt()");
// initial iteration
if (adaptInfo_->getSpaceIteration() == -1) {
problemIteration_->beginIteration(adaptInfo_);
problemIteration_->oneIteration(adaptInfo_, NO_ADAPTION);
problemIteration_->endIteration(adaptInfo_);
adaptInfo_->incSpaceIteration();
while (!adaptInfo_->spaceToleranceReached() &&
(adaptInfo_->getSpaceIteration() < adaptInfo_->getMaxSpaceIteration() ||
adaptInfo_->getMaxSpaceIteration() < 0) ) {

Thomas Witkowski
committed
problemIteration_->beginIteration(adaptInfo_);
Flag adapted = problemIteration_->oneIteration(adaptInfo_, FULL_ITERATION);
problemIteration_->endIteration(adaptInfo_);

Thomas Witkowski
committed
if (!adapted)
break;

Thomas Witkowski
committed
}