Yes system.get_dof_map().enforce_**constraints_exactly(system) after the solve fixes the problem.
On Tue, Apr 2, 2013 at 10:21 PM, Roy Stogner <[email protected]>wrote: > > On Tue, 2 Apr 2013, Shiyuan Gu wrote: > > In case of no hanging nodes contraint, and the boundary condition is >> only Dirichlet, should the asymmetric_constraint_rows always be set to >> true >> in the function of >> DofMap::heterogenously_**constraint_element_matrix_and_**vector? Thanks. >> >> I am looking at the libmesh examples introduction_ex4. Changing >> asymmetric_constraint_rows from true to false will give wrong solution. >> dof_map.heterogenously_**constrain_element_matrix_and_**vector (Ke, Fe, >> dof_indices,true); >> >> void DofMap::heterogenously_**constrain_element_matrix_and_**vector >> (DenseMatrix<Number>& matrix, >> DenseVector<Number>& rhs, >> std::vector<dof_id_type>& elem_dofs, >> bool asymmetric_constraint_rows) >> > > One goal of the symmetric constraint rows option is to preserve the > symmetry of an otherwise symmetric Jacobian, but the cost of that is > we don't get to indirectly enforce the constraints by handing rows for > them to the linear solver, and so when you want the constrained dof > coefficients to take their correct values after a solve you need to > either use a solver which calls enforce_constraints_exactly (generally > our nonlinear solvers do this; our linear solvers don't) or you need > to call enforce_constraints exactly yourself after the solve. > > If you add a call like: > system.get_dof_map().enforce_**constraints_exactly(system); > after your solve, does that fix things? > > If not, then we've got a bug that needs to be fixed. > > If so, then we've merely got some misleading documentation that needs > to be fixed. > --- > Roy > ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
