Hello my name is Markus, last week I started my first project with deal.II. I used step-8 (linear-elasticity) as starting point, built my own grid_geometry and it worked fine. Then I added new boundary conditions:
hanging_node_constraints.condense (system_matrix); hanging_node_constraints.condense (system_rhs); //std::map<types::global_dof_index,double> boundary_values; //VectorTools::interpolate_boundary_values (dof_handler, // 0, // ZeroFunction<3>(3), // boundary_values); //MatrixTools::apply_boundary_values (boundary_values, // system_matrix, // solution, // system_rhs); normal_boundary_fixation_constraints.clear (); DoFTools::make_hanging_node_constraints (dof_handler, normal_boundary_fixation_constraints); VectorTools::compute_no_normal_flux_constraints(dof_handler, 0, hub_cell_fixation_id, normal_boundary_fixation_constraints); normal_boundary_fixation_constraints.close(); normal_boundary_fixation_constraints.condense(system_matrix, system_rhs); normal_boundary_gab_constraints.clear (); DoFTools::make_hanging_node_constraints (dof_handler, normal_boundary_gab_constraints); const BoundaryValues<3> normal_boundary_value; typename FunctionMap<3>::type normal_boundary_functions; normal_boundary_functions[1]= & normal_boundary_value; VectorTools::compute_nonzero_normal_flux_constraints(dof_handler, 0, hub_cell_contact_id, normal_boundary_functions, normal_boundary_gab_constraints); normal_boundary_gab_constraints.close(); normal_boundary_gab_constraints.condense(system_matrix, system_rhs); and later I distributed my solution: normal_boundary_fixation_constraints.distribute(solution); normal_boundary_gab_constraints.distribute(solution); hanging_node_constraints.distribute (solution); I have two versions of my grid. A simple, without any refinement. There it works fine. But if I use the grid, with an refinement on the boundary (nonzero_normal_flux), the program still runs/converges, but the normal_boundary_fixation_constraints.distribute(solution); normal_boundary_gab_constraints.distribute(solution); have no effect. (So there must be something rotten.) I know that the documentation says: When combining adaptively refined meshes with hanging node constraints and boundary conditions like from the current function within one ConstraintMatrix <https://www.dealii.org/8.4.1/doxygen/deal.II/classConstraintMatrix.html> object, the hanging node constraints should always be set first, and then the boundary conditions since boundary conditions are not set in the second operation on degrees of freedom that are already constrained. This makes sure that the discretization remains conforming as is needed. See the discussion on conflicting constraints in the module on Constraints on degrees of freedom <https://www.dealii.org/8.4.1/doxygen/deal.II/group__constraints.html>. But I think, I am doing this. What do I misunderstand? Greetings Markus -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.