From fd15cd97fe1abfc111e6e56406f313fb9110c0bd Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Thu, 10 Nov 2011 10:57:11 +0100 Subject: [PATCH] Solve another problem --- src/one-body-sample.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 45485ce7..30fbeb28 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -74,7 +74,7 @@ void setup_boundary(GridView const &gridView, size_t const id = myVertexMapper.map(*it); frictionalNodes[id] = true; ignoreNodes[id][1] = true; // Zero displacement in direction y - } else if (coordinates[0] == 0) { + } else if (coordinates[0] == 0 || coordinates[0] == end_points[0]) { ++neumann_nodes; size_t const id = myVertexMapper.map(*it); neumannNodes[id] = true; @@ -94,8 +94,8 @@ void assemble_neumann(GridView const &gridView, FEBasis const &feBasis, BoundaryPatch<GridView> neumannBoundary(gridView, neumannNodes); LocalVectorType SampleVector(0); // FIXME: random values - SampleVector[0] = 1 + run / 1000; - SampleVector[1] = 2; + SampleVector[0] = 1 + run / 200; + SampleVector[1] = 0; ConstantFunction<LocalVectorType, LocalVectorType> fNeumann(SampleVector); NeumannBoundaryAssembler<GridType, LocalVectorType> neumannBoundaryAssembler( fNeumann); @@ -136,11 +136,11 @@ int main() { // FIXME: Random values size_t const runs = 1000; - double const E = 5e3; + double const E = 1e4; double const nu = 0.3; - int const refinements = 3; - size_t const solver_maxIterations = 10000; - double const solver_tolerance = 1e-4; + int const refinements = 5; + size_t const solver_maxIterations = 100000; + double const solver_tolerance = 1e-6; // {{{ Set up grid typedef Dune::YaspGrid<dim> GridType; @@ -214,13 +214,13 @@ int main() { // TODO: Random value std::vector<double> normalStress; normalStress.resize(grid.size(grid.maxLevel(), dim)); - std::fill(normalStress.begin(), normalStress.end(), 2.0); + std::fill(normalStress.begin(), normalStress.end(), 0.1); // TODO: Random value std::vector<double> coefficientOfFriction; coefficientOfFriction.resize(grid.size(grid.maxLevel(), dim)); std::fill(coefficientOfFriction.begin(), coefficientOfFriction.end(), - 1.0); + 0.75); Dune::GlobalNonlinearity<dim, Dune::LinearFunction> myGlobalNonlinearity( coefficientOfFriction, normalStress, nodalIntegrals); -- GitLab