Re: [Libmesh-users] question about error estimator and mesh refinement From: Roy Stogner - 2006-06-19 16:10:49 ```On Mon, 19 Jun 2006, li pan wrote: > I used error estimator and mesh refinement for the > first time. I wonder how to define the three > attributes, namely, refine_fraction, coarsen_fraction, > and max_level. I think for special problem, the value > must be different. I did some test. Tried with > different combination. The Newton iteration which > converged without mesh refinement well before, can't > converge with some refinement. What could likely be > the reason? Well, the reason that just killed one of our visitors to UT Austin is simple: In the matrix assembly stage, after you've built the local dense matrix and vector for a given cell, but before you add them to the global sparse matrix and vector, you need to call something like: dof_map.constrain_element_matrix_and_vector(Ke, Fe, dof_indices); We really need to get some code into libMesh to warn users about this potential error, but I'm not sure how to do it. Maybe a static boolean in DofMap that initializes to false, gets turned on by the constrain_* member functions, and then gets tested by the System::solve functions whenever DofMap::n_constrained_dofs() > 0? The other theoretical problem with a Newton iteration is that if you're solving for the delta between Newton iterates, it may be possible that an inexact linear solve will give you ill-constrained hanging DoFs and that subsequent Newton steps will be unable to correct them. I call this a "theoretical problem" because I've never seen it in practice, but I think I may code a DofMap::enforce_constraints() method (to be called by System::solve after the linear solver is done) to be safe in the future. --- Roy Stogner ```
 [Libmesh-users] question about error estimator and mesh refinement From: li pan - 2006-06-19 15:48:23 ```Dear developers, I used error estimator and mesh refinement for the first time. I wonder how to define the three attributes, namely, refine_fraction, coarsen_fraction, and max_level. I think for special problem, the value must be different. I did some test. Tried with different combination. The Newton iteration which converged without mesh refinement well before, can't converge with some refinement. What could likely be the reason? kind regards pan __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ```
 Re: [Libmesh-users] question about error estimator and mesh refinement From: Roy Stogner - 2006-06-19 16:10:49 ```On Mon, 19 Jun 2006, li pan wrote: > I used error estimator and mesh refinement for the > first time. I wonder how to define the three > attributes, namely, refine_fraction, coarsen_fraction, > and max_level. I think for special problem, the value > must be different. I did some test. Tried with > different combination. The Newton iteration which > converged without mesh refinement well before, can't > converge with some refinement. What could likely be > the reason? Well, the reason that just killed one of our visitors to UT Austin is simple: In the matrix assembly stage, after you've built the local dense matrix and vector for a given cell, but before you add them to the global sparse matrix and vector, you need to call something like: dof_map.constrain_element_matrix_and_vector(Ke, Fe, dof_indices); We really need to get some code into libMesh to warn users about this potential error, but I'm not sure how to do it. Maybe a static boolean in DofMap that initializes to false, gets turned on by the constrain_* member functions, and then gets tested by the System::solve functions whenever DofMap::n_constrained_dofs() > 0? The other theoretical problem with a Newton iteration is that if you're solving for the delta between Newton iterates, it may be possible that an inexact linear solve will give you ill-constrained hanging DoFs and that subsequent Newton steps will be unable to correct them. I call this a "theoretical problem" because I've never seen it in practice, but I think I may code a DofMap::enforce_constraints() method (to be called by System::solve after the linear solver is done) to be safe in the future. --- Roy Stogner ```