From 6cccee3a040baa69c314872501939aa6f03fe8fd Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 23 Jul 2008 12:09:52 +0000 Subject: [PATCH] compile with recent changes in ag-common [[Imported from SVN: r9918]] --- linelast.cc | 8 +++++--- nonlinelast.cc | 43 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/linelast.cc b/linelast.cc index c245b7b..65f37ed 100644 --- a/linelast.cc +++ b/linelast.cc @@ -15,13 +15,15 @@ #include <dune/ag-common/sampleonbitfield.hh> #include <dune/ag-common/prolongboundarypatch.hh> #include <dune/ag-common/readbitfield.hh> -#include <dune/ag-common/linearipopt.hh> +#ifdef HAVE_IPOPT_CPP +#include <dune/ag-common/quadraticipopt.hh> +#endif #include <dune/ag-common/blockgsstep.hh> #include <dune/ag-common/multigridstep.hh> #include <dune/ag-common/multigridtransfer.hh> #include <dune/ag-common/iterativesolver.hh> -#include <dune/ag-common/energynorm.hh> +#include <dune/ag-common/norm/energynorm.hh> #include <dune/ag-common/hierarchicestimator.hh> @@ -139,7 +141,7 @@ int main (int argc, char *argv[]) try // First create a base solver #ifdef IPOPT_BASE - LinearIPOptSolver<VectorType> baseSolver; + QuadraticIPOptSolver<OperatorType,VectorType> baseSolver; #else // Gauss-Seidel is the base solver diff --git a/nonlinelast.cc b/nonlinelast.cc index 2c6a973..0ab7e32 100644 --- a/nonlinelast.cc +++ b/nonlinelast.cc @@ -16,8 +16,8 @@ #include <dune/ag-common/readbitfield.hh> #include <dune/ag-common/quadraticipopt.hh> #include <dune/ag-common/iterativesolver.hh> -#include <dune/ag-common/energynorm.hh> -#include <dune/ag-common/mmgstep.hh> +#include <dune/ag-common/norm/energynorm.hh> +#include <dune/ag-common/solver/mmgstep.hh> // Choose a solver #define IPOPT @@ -94,8 +94,45 @@ int main (int argc, char *argv[]) try } + // hack Dirichlet data + dirichletNodes[numLevels-1][2*61 ] = false; + dirichletNodes[numLevels-1][2*61+1] = false; + dirichletNodes[numLevels-1][2*62 ] = false; + dirichletNodes[numLevels-1][2*62+1] = false; + dirichletNodes[numLevels-1][2*56 ] = false; + dirichletNodes[numLevels-1][2*56+1] = false; + dirichletNodes[numLevels-1][2*58 ] = false; + dirichletNodes[numLevels-1][2*58+1] = false; + dirichletNodes[numLevels-1][2*79 ] = false; + dirichletNodes[numLevels-1][2*79+1] = false; + dirichletNodes[numLevels-1][2*74 ] = false; + dirichletNodes[numLevels-1][2*74+1] = false; + dirichletNodes[numLevels-1][2*76 ] = false; + dirichletNodes[numLevels-1][2*76+1] = false; + dirichletNodes[numLevels-1][2*73 ] = false; + dirichletNodes[numLevels-1][2*73+1] = false; + + dirichletNodes[numLevels-1][2*4 ] = false; + dirichletNodes[numLevels-1][2*4+1] = false; + dirichletNodes[numLevels-1][2*1 ] = false; + dirichletNodes[numLevels-1][2*1+1] = false; + dirichletNodes[numLevels-1][2*11 ] = false; + dirichletNodes[numLevels-1][2*11+1] = false; + dirichletNodes[numLevels-1][2*9 ] = false; + dirichletNodes[numLevels-1][2*9+1] = false; + dirichletNodes[numLevels-1][2*27 ] = false; + dirichletNodes[numLevels-1][2*27+1] = false; + dirichletNodes[numLevels-1][2*25 ] = false; + dirichletNodes[numLevels-1][2*25+1] = false; + dirichletNodes[numLevels-1][2*33 ] = false; + dirichletNodes[numLevels-1][2*33+1] = false; + + sampleOnBitField(grid, dirichletValues, dirichletNodes); + dirichletValues[numLevels-1][0][1] = 0.2; + dirichletValues[numLevels-1][31][1] = 0.2; + int maxlevel = grid.maxLevel(); // Determine Dirichlet dofs @@ -241,7 +278,7 @@ int main (int argc, char *argv[]) try LeafAmiraMeshWriter<GridType> amiramesh; amiramesh.addLeafGrid(grid,true); amiramesh.addVertexData(x, grid.leafIndexSet()); - amiramesh.write("resultGrid"); + amiramesh.write("resultGrid",true); } catch (Exception e) { -- GitLab