Newer
Older
#include "AdaptStationary.h"
#include "Parameters.h"
#include "Estimator.h"
#include "ProblemIterationInterface.h"
#include <math.h>
namespace AMDiS {
ProblemIterationInterface *prob,
: AdaptBase(name, prob, info)
{
FUNCNAME("AdaptStationary::AdaptStationary()");
// MSG("You make use of the obsolete constructor AdaptStationary::AdaptStationary(...)!\n");
// MSG("Please use the constructor that uses references instead of pointers!\n");
initialize();
}
AdaptStationary::AdaptStationary(std::string name,
ProblemIterationInterface& prob,
AdaptInfo& info)
: AdaptBase(name, &prob, &info)
{
int AdaptStationary::adapt()
{
FUNCNAME("AdaptStationary::adapt()");
// initial iteration
problemIteration->beginIteration(adaptInfo);
problemIteration->oneIteration(adaptInfo, NO_ADAPTION);
problemIteration->endIteration(adaptInfo);
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
}
void AdaptStationary::initialize()
{
FUNCNAME("AdaptStationary::initialize()");