diff --git a/demo/init/ellipt.dat.2d b/demo/init/ellipt.dat.2d index e6707c8097ad14890baa176d71a1625ff5735ceb..9a61726c398f47eaa46af9f0fc0a3bed0a2168f9 100644 --- a/demo/init/ellipt.dat.2d +++ b/demo/init/ellipt.dat.2d @@ -1,37 +1,29 @@ dimension of world: 2 elliptMesh->macro file name: ./macro/macro.stand.2d -elliptMesh->global refinements: 10 +elliptMesh->global refinements: 0 ellipt->mesh: elliptMesh ellipt->dim: 2 ellipt->components: 1 -ellipt->polynomial degree[0]: 3 -ellipt->polynomial degree[1]: 1 -ellipt->polynomial degree[2]: 1 +ellipt->polynomial degree[0]: 1 -ellipt->solver: umfpack -ellipt->solver->ell: 1 +ellipt->solver: cg ellipt->solver->max iteration: 1000 ellipt->solver->tolerance: 1.e-8 ellipt->solver->info: 10 -ellipt->solver->left precon: ilu +ellipt->solver->left precon: diag ellipt->solver->right precon: no -%ellipt->estimator[0]: residual -%ellipt->estimator[0]->error norm: H1_NORM % 1: H1_NORM, 2: L2_NORM -%ellipt->estimator[0]->C0: 0.1 % constant of element residual -%ellipt->estimator[0]->C1: 0.1 % constant of jump residual +ellipt->estimator[0]: residual +ellipt->estimator[0]->error norm: 1 % 1: H1_NORM, 2: L2_NORM +ellipt->estimator[0]->C0: 0.1 % constant of element residual +ellipt->estimator[0]->C1: 0.1 % constant of jump residual -ellipt->marker[0]->strategy: 0 %2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS -ellipt->marker[0]->MSGamma: 0.5 +ellipt->marker[0]->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS -ellipt->adapt[0]->tolerance: 1e-6 -ellipt->adapt[0]->refine bisections: 2 - -ellipt->adapt->max iteration: 0 +ellipt->adapt[0]->tolerance: 1e-4 +ellipt->adapt->max iteration: 15 ellipt->output->filename: output/ellipt.2d ellipt->output->ParaView format: 1 -ellipt->output->ARH format: 1 -ellipt->output->AMDiS format: 1 diff --git a/demo/init/vecellipt.dat.2d b/demo/init/vecellipt.dat.2d index e5b4202645705ea9d4c9d5bd22c11374faea0fb7..5188cd48e0e948598590971a0a23ba95dc3efb58 100644 --- a/demo/init/vecellipt.dat.2d +++ b/demo/init/vecellipt.dat.2d @@ -1,7 +1,7 @@ dimension of world: 2 vecelliptMesh->macro file name: ./macro/macro.stand.2d -vecelliptMesh->global refinements: 0 +vecelliptMesh->global refinements: 2 vecellipt->mesh: vecelliptMesh vecellipt->dim: 2 @@ -30,15 +30,11 @@ vecellipt->marker[1]->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES vecellipt->adapt[0]->tolerance: 1e-2 vecellipt->adapt[1]->tolerance: 1e-3 -vecellipt->adapt->max iteration: 10 +vecellipt->adapt->max iteration: 100 vecellipt->adapt->refine bisections: 2 -vecellipt->output[0]->filename: output/vecellipt0.2d +vecellipt->output[0]->filename: output/vecellipt.2d vecellipt->output[0]->ParaView format: 1 -vecellipt->output[0]->ARH format: 1 -vecellipt->output[0]->AMDiS format: 1 vecellipt->output[1]->filename: output/vecellipt1.2d vecellipt->output[1]->ParaView format: 1 -vecellipt->output[1]->ARH format: 1 -vecellipt->output[1]->AMDiS format: 1 diff --git a/demo/src/ellipt.cc b/demo/src/ellipt.cc index 206c027e4efe899305a0433758379bf09ca93d9c..f2c528a2a75091923fde8af730fff17778de0f9c 100644 --- a/demo/src/ellipt.cc +++ b/demo/src/ellipt.cc @@ -26,7 +26,7 @@ class F : public AbstractFunction<double, WorldVector<double> > { public: - F(int degree) : AbstractFunction<double, WorldVector<double> >(degree) {} + F() : AbstractFunction<double, WorldVector<double> >() {} /// Implementation of AbstractFunction::operator(). double operator()(const WorldVector<double>& x) const @@ -67,9 +67,8 @@ int main(int argc, char* argv[]) // ===== create rhs operator ===== - int degree = ellipt.getFeSpace()->getBasisFcts()->getDegree(); Operator rhsOperator(ellipt.getFeSpace()); - rhsOperator.addTerm(new CoordsAtQP_ZOT(new F(degree))); + rhsOperator.addTerm(new CoordsAtQP_ZOT(new F)); ellipt.addVectorOperator(rhsOperator, 0); // ===== add boundary conditions ===== @@ -77,11 +76,7 @@ int main(int argc, char* argv[]) // ===== start adaption loop ===== - ptime start_time= microsec_clock::local_time(); adapt.adapt(); - time_duration td= microsec_clock::local_time()-start_time; - - MSG("elapsed time= %f msec\n", td.total_milliseconds()/1000.0); ellipt.writeFiles(adaptInfo, true); diff --git a/demo/src/vecellipt.cc b/demo/src/vecellipt.cc index ec2f8e9f5ad78d3f12ffca7118d4ca2d97896408..ed016b0427f252ad2598eab35e95309a1608c179 100644 --- a/demo/src/vecellipt.cc +++ b/demo/src/vecellipt.cc @@ -22,7 +22,7 @@ public: class F : public AbstractFunction<double, WorldVector<double> > { public: - F(int degree) : AbstractFunction<double, WorldVector<double> >(degree) {} + F() : AbstractFunction<double, WorldVector<double> >() {} /// Implementation of AbstractFunction::operator(). double operator()(const WorldVector<double>& x) const @@ -72,9 +72,8 @@ int main(int argc, char* argv[]) // ===== create rhs operator ===== - int degree = vecellipt.getFeSpace(0)->getBasisFcts()->getDegree(); Operator rhsOperator0(vecellipt.getFeSpace(0)); - rhsOperator0.addTerm(new CoordsAtQP_ZOT(new F(degree))); + rhsOperator0.addTerm(new CoordsAtQP_ZOT(new F)); vecellipt.addVectorOperator(rhsOperator0, 0); // ===== add boundary conditions =====