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 std::string &name,
ProblemIterationInterface *prob,
: 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
}
return 0;
}
void AdaptStationary::initialize()
{
FUNCNAME("AdaptStationary::initialize()");